Giter VIP home page Giter VIP logo

Comments (8)

sebgoa avatar sebgoa commented on July 22, 2024

Does it make sense to use Auth0

from kubeless-ui.

remstos avatar remstos commented on July 22, 2024

For which part would you need authentication?

from kubeless-ui.

sebgoa avatar sebgoa commented on July 22, 2024

That's the bit I am not sure yet:

  • I think the UI should be tied to the k8s cluster auth (so for instance if we were using coreOS dex, we could use social login in the k8s cluster and same in kubeless UI). then with RBAC setup in k8s, folks would only deploy functions where they are allowed to. But forcing folks to deploy Dex might be too much.
  • the functions themselves will need some type of auth, but that's not really a UI issue.

If we were to use Auth0 for auth/authz to the UI, I think (current understanding of Auth0) that we would be tied to a single application. All users of kubeless (as in worldwide on different clusters) would authenticate via the same Auth0 app.

from kubeless-ui.

serverlessnomad avatar serverlessnomad commented on July 22, 2024

I would also advocate for adding authentication. I deployed the UI after standing up a cluster via Stackpoint only to find it open to the world and having to take it down. I'll be looking for an alternative way to leverage the UI because I like the utility of it, bit having some auth in front would be good. Is the expectation that the UI sits only on an internal network and would never be accessed over the Internet?

from kubeless-ui.

sebgoa avatar sebgoa commented on July 22, 2024

The problem is that to create a function through the UI, one needs to pass its k8s creds somehow otherwise the service account running the UI needs "cluster wide" access.

This is the same issue as the k8s dashboard

from kubeless-ui.

sebgoa avatar sebgoa commented on July 22, 2024

Godo wiki doc here: https://github.com/kubernetes/dashboard/wiki/Access-control

from kubeless-ui.

thoughtentity avatar thoughtentity commented on July 22, 2024

Definitely, would like to see Open ID Connect support. It is one of the natively supported authentication strategies in Kubernetes that supports external identity provider logins (Auth0, Google and GitHub among others). Kubernetes's Dashboard is tacking support in kubernetes/dashboard#2353, however, they're waiting for some APIs to land in Core in order to query the configured authentication strategies in Kubernetes.

As far as being secure out of the box. I'd recommend changeing the service type to ClusterIP and just using kubectl proxy to open a secure channel into the cluster. Then access kubeless-ui using the service proxy URL over localhost:8001 (http://localhost:8001/api/v1/proxy/namespaces/kubeless/services/ui:ui-port/). The Kubernetes Dashboard uses a similar strategy.

from kubeless-ui.

sebgoa avatar sebgoa commented on July 22, 2024

@thoughtentity yes good points.

We are actually re-writing a kubeless UI in kubeapps: https://github.com/kubeapps/kubeapps . the dashboard is indeed opened via a proxy connection, plus we are starting to align with the k8s dashboard auth strategies:

vmware-tanzu/kubeapps#199

PR welcome on any projects to move in the right direction :)

from kubeless-ui.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.