Description
What would you like to be added:
I would like to be able to enforce authentication & (limited) authorization at the Gateway or HTTPRoute level, so that I can safely route traffic to apps.
Why this is needed:
I'd like to be able to launch kubernetes apps, set up an HTTPRoute for them, and enforce at the gateway level that the user must be logged in (with some restrictions, e.g. *@example.com). Apps can still support perform authentication, but simple read-only apps might not need to. Broadly, I'm trying to follow the approach in the BeyondCorp paper. Doing this greatly improves the security surface of the system (at least when there's less concern over attacks from authenticated users).
Possible mechanisms (mostly to clarify the problem):
- The gateway itself could validate the JWT token (note: likely in a cookie!). Istio's implementation can do this, I believe, but AFAICT not easily in a cookie.
- The gateway could call out to a "helper" URL. I think this was proposed in Pluggable access control #114 but that conversation seems to have been closed by the triagebot.
Ideally this would be at the Gateway level, but I can understand that this might need to be duplicated at the HTTPRoute level if it's considered an HTTP concern.
(I'm new to the project, and not really sure whether this is the right place to raise this. It's not clear whether I should instead - somehow - choose an implementation and then pursue it there, and then the gateway API standardizes features once enough implementations have support. If there's a particular implementation that is a better path for me here, please LMK!)
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Status