fabric8io / fabric8-console

Angular 1.x console for fabric8
28 stars 27 forks source link

lets enable authentication when running on kubernetes #206

Open jstrachan opened 8 years ago

jstrachan commented 8 years ago

e.g. using basic auth or something in lieu of an OAuth implementation integrated into kubernetes

jstrachan commented 8 years ago

we should be able to either configure the console to enable it; or have multiple apps folks can run for the console based on if using kubernetes with no auth, kubernetes with basic auth for the REST API, kubernetes with OAuth (e.g. GKE)

saturnism commented 8 years ago

just deployed fabric8 on GKE - no auth was enabled by default.

antifragileer commented 8 years ago

For GKE, would the recommended way to secure the fabric8 system be to use the firewall for now, until a proper authentication and authorization mechanism can be placed?

Weeks back when I first setup fabric8 in GKE I had to use the cluster username and password in order for me to access the fabric8 console though. It was a simple http authentication. What happened to that? It would happen if I accessed by IP instead of XIP or domain.

jstrachan commented 8 years ago

if the API server has basic auth we could force the console to be accessed through that yeah. I'd prefer to wire in an OAuth endpoint though really so we can start using OAuth everywhere

jimmidyson commented 8 years ago

Keycloak perhaps? Should be configurable afaik

rawlingsj commented 8 years ago

I got the Keycloak app going including persistence - it looked pretty nice! Might be worth seeing if it can be integrated with the console?

jstrachan commented 8 years ago

Definitely!!! Let's try that ASAP

ghost commented 7 years ago

Has anyone determined a way to resolve this adequately at this time? Fabric8 appears to be a wonderful project; very exciting to see. :)

UPDATE: You can access it behind k8s' default password-protected proxy: https://KUBE-IP/api/v1/proxy/namespaces/fabric8/services/fabric8

You'll likely then want to delete or in some way disable the fabric8-http & fabric8-https firewall rules.

lngr commented 7 years ago

FWIW, I was able to password protect fabric8 behind the ingress by disabling fabric8's nginx-ingress (gofabric --ingress=false or delete the deployment) and use gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.2 instead:

shuang-x-zhao-qq commented 6 years ago

@lngr i tried the ingress way to protect the console, but i just got 503 service temp unavailable which i suppose the ingress protection didn't work well, could you let me know more details on how you did that ? have you changed the deploy of new nginx-ingress and have you provided cm for it ?

lngr commented 6 years ago

@shuang-x-zhao-qq no idea, sorry. (I have since left that project). What I did is essentially described in the previous post.

shuang-x-zhao-qq commented 6 years ago

@lngr OK, thanks anyway