Skip to content
This repository was archived by the owner on Nov 8, 2022. It is now read-only.

[Investigation] Exposing an AuthPolicy from Kuadrant that uses the policy attachment ideas #130

Closed
3 tasks done
maleck13 opened this issue Mar 30, 2022 · 6 comments
Closed
3 tasks done
Assignees
Milestone

Comments

@maleck13
Copy link
Contributor

maleck13 commented Mar 30, 2022

What

Isito offers an AuthorizationPolicy resource. Unfortunately it cannot target a HTTProute. We want to be able to offer the capabilities in the AuthorizationPolicy but allow it to use the policy attachment principles to bring it inline with what we are doing with the rate limit policy.

We can mirror this API into a Kuadrant API that layers on the target ref capabilities. Additionally we should think about any properties we don't want to expose as we will want to default them (host) or because they will not work in the context of an NorthSouth request (source)

@maleck13 maleck13 moved this to Todo in Kuadrant Mar 31, 2022
@maleck13 maleck13 changed the title Explore exposing an AuthPolicy from Kuadrant that uses the policy attachment ideas [Investigation] Exposing an AuthPolicy from Kuadrant that uses the policy attachment ideas Mar 31, 2022
@rahulanand16nov rahulanand16nov moved this from Todo to In Progress in Kuadrant Apr 5, 2022
@rahulanand16nov rahulanand16nov self-assigned this Apr 5, 2022
@markmc
Copy link
Contributor

markmc commented Apr 27, 2022

Isito offers an AuthorizationPolicy resource. Unfortunately it cannot target a HTTProute. We want to be able to offer the capabilities in the AuthorizationPolicy but allow it to use the policy attachment principles

This sounds like it would be a super useful addition to Istio itself. Have you considered opening an istio issue and linking to this work?

@eguzki
Copy link
Contributor

eguzki commented Apr 27, 2022

How about "forking" istio and implementing ourselves? Is it reasonable in terms of development effort needed to implement such change?

@markmc
Copy link
Contributor

markmc commented Apr 27, 2022

Improving Istio's Gateway API support and capabilities is in the interest of all Istio users. So it's probably safe to assume that Istio will eventually have an API like this and that a Kuadrant-specific resource and controller like this will eventually be deprecated and transitioned to the Istio version. So, you can think of it like technical debt. Definitely better to do it this way rather than forking Istio though!

It's always better to get the upstreaming process moving earlier - just filing an Istio issue with this enhancement request and rough proposal at least would raise awareness of the gap and might result in some helpful feedback or collaboration on it.

@maleck13
Copy link
Contributor Author

maleck13 commented Apr 27, 2022

@markmc we have been working with Daniel Grimm @dgn . There is an open proposal to support Gateway API with AuthorizationPolicy https://docs.google.com/document/d/1sCA6ReTnAR5tyKwuc7KPMygv2UPOlxL6IEU8Og0nQm0 . However they are reluctant to change their APIs to use policy attachment currently. This is why we have a mirror of AuthorizationPolicy that adds Gateway API support.
Ultimately I think you are correct, Istio will support it (eventually) and we will be able to depreciate this API.

@markmc
Copy link
Contributor

markmc commented Apr 27, 2022

@markmc we have been working with Daniel Grimm @dgn . There is an open proposal to support Gateway API with AuthorizationPolicy https://docs.google.com/document/d/1sCA6ReTnAR5tyKwuc7KPMygv2UPOlxL6IEU8Og0nQm0 .

Excellent! So I guess istio/istio#35698 is the closest thing to an upstream tracker for this

However they are reluctant to change their APIs to use policy attachment currently. This is why we have a mirror of AuthorizationPolicy that adds Gateway API support. Ultimately I think you are correct, Istio will support it (eventually) and we will be able to depreciate this API.

Thanks for the update 👍

@maleck13
Copy link
Contributor Author

We moved away from this implementation and towards an implementation that more specifically targeted using Authorino. Using AuthPolicy directly meant somethings around auth would be handled in Istio and some things in Authorino. This could lead to confusion and difficulty sharing context between the two. Design for AuthPolicy focused on Authorino https://hackmd.io/GQAOxDRdQTudSlsWdhtiUg

Repository owner moved this from In Progress to Done in Kuadrant Aug 18, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
No open projects
Status: Done
Status: Done
Development

No branches or pull requests

4 participants