Skip to content
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

Multiple IAM Bindings #4

Open
vedantthapa opened this issue Nov 3, 2023 · 1 comment
Open

Multiple IAM Bindings #4

vedantthapa opened this issue Nov 3, 2023 · 1 comment
Labels
k8s Kubernetes related

Comments

@vedantthapa
Copy link
Collaborator

vedantthapa commented Nov 3, 2023

Currently, crossplane has a one-to-one relationship between role and member fields in a ProjectIAMMember resource. Therefore, multiple ProjectIAMMember resources are required to be specified for each role/member combination. This makes it difficult to map multiple roles/members from a crossplane claim to it's composition.

Here's a related upstream issue: crossplane-contrib/provider-upjet-gcp#14

Currently this is fixed by delegating addition of users to the owner of the project.

Other potential fixes:

  • Use a terraform workspace to handle IAM Permissions.
    • Cons: Increased dependency on terraform
  • Config connector has support for adding multiple users in a single resource.
@vedantthapa
Copy link
Collaborator Author

I suspect this can also be resolved by using crossplane functions. This one in particular: https://github.com/crossplane-contrib/function-go-templating.

The idea would be template a ProjectIAMMember resource and insert role and member fields at runtime. Similar to how helm would handle this use-case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
k8s Kubernetes related
Projects
None yet
Development

No branches or pull requests

1 participant