-
Notifications
You must be signed in to change notification settings - Fork 17
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
[rbac-manager] Support workload identity #330
base: master
Are you sure you want to change the base?
[rbac-manager] Support workload identity #330
Conversation
@vinayvinay I think you're the one left in GC that I know.. Any idea who would be best suited to review this? 😁 |
8ad47a2
to
b4d17a9
Compare
b4d17a9
to
44d5970
Compare
@@ -68,7 +68,7 @@ manifests: generate | |||
install-tools: | |||
go install github.com/onsi/ginkgo/[email protected] | |||
go install sigs.k8s.io/controller-tools/cmd/[email protected] | |||
go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest | |||
go install sigs.k8s.io/controller-runtime/tools/setup-envtest@release-0.17 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shamelessly stolen from #335 to get my CI tests passing.. 😬
Thanks for letting me know! Unfortunately I'm no longer at GC so don't think I'd be able to do that 😅 |
Bumping - it'd be great to get this in! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jace-ys Thanks, this looks like a valuable addition.
I'm no expert in GCP authentication flow, so I would like to ask some clarifications before I can review, mostly for my own understanding. I've left these in code comments. Apologies if the answers to these are obvious.
Subject: subject, | ||
} | ||
|
||
ts, err := impersonate.CredentialsTokenSource(ctx, config, option.WithCredentials(creds)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it necessary for the account to impersonate itself, instead of using the TokenSource already returned by FindDefaultCredentials
?
return nil, err | ||
} | ||
|
||
return directoryv1.NewService(ctx, option.WithTokenSource(ts)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if the option when using a supplied json credentials (old behavior) could also use the TokenSource from Credentials
returned by FindDefaultCredentials
?
If so, likely the code could be simplified a little, instead of needing to call NewService
with different option for each credential type.
Hey folks 👋🏻
Hope you don't mind this contribution but we'd like to see theatre support workload identity in the
rbac-manager
instead of using service account keys. I've made the change such that if workload identity is not configured, therbac-manager
will fallback to using service account keys.This is how we're currently using it with workload identity in our GKE cluster (after removing
GOOGLE_APPLICATION_CREDENTIALS
):Same change on our fork: duffelhq#3