-
Notifications
You must be signed in to change notification settings - Fork 31
feat(pkg/cmd): add provider interface and Envoy AuthZ server #814
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Signed-off-by: Tibor Kircsi <tkircsi@cisco.com>
|
The latest Buf updates on your PR. Results from workflow Buf CI / verify-proto (pull_request).
|
|
@tkircsi Just some quick notes on the overall structure after a quick review. Regarding the
On the authorization part, it would be good to add some notes on this topic in agntcy/dir-staging#19. Before adding a new server for authorization did you check any alternatives or considered what we discussed about moving authorization logic down to the existing directory server? |
@paralta Thank You very much for the review!
I kept
I structured it the same way as the Directory server:
May I misunderstand something? The docker-compose.yml is for local testing/development (similar to the test setup in cmd/envoy-authz/test/).
These are reusable libraries, not standalone services, but You're right. It doesn't align with the existing project structure.I'll restructure to match the project convention.
I evaluated both alternatives before implementing the custom ext_authz server: oauth2-proxy
Envoy OAuth2 Filter
Will do. I'll add a comment summarizing the implementation approach and why we chose a custom ext_authz server.
That's still a little up in the air. Directory has an However, I'm open to discussion if you think embedding it in Directory is better. What are your concerns with the separate service approach? Otherwise my spike "Validate Identity Bridge Pattern for GitHub Authentication" agntcy/dir-staging#21 was about embedding the authz logic in the Directory based on the Identity Bridge pattern using the SPIFFE ID. |
Agree with being explicit but I still question if these new folders
No concerns at all, just interested to hear if you explored other options. I think the only drawback with the new server is the extra component that will need to be built/deployed. |
Unfortunately, not. Need to find out how to organize them. This whole OAuth component is an add-on to Dir in my mind. It is totally independent from Dir and user can opt-in if he/she wants. TBH I'd put this whole into a separate repo, but for v1.0.0 it was the easiest way.
As I mentioned, I think this component as an add-on. This is not a main function of Directory, it is only an independent authorization layer. |
|
Solved with this PR #807 |
Implement Envoy External Authorization Server for GitHub Token Validation
New Components
Authentication Provider Framework
pkg/authprovider/github.com/google/go-github/v50Envoy ExtAuthz Service
pkg/authzserver/implementing Envoy ext_authz gRPC APIcmd/envoy-authz/main service with configuration via env vars