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

Implement a default centrally managed GCP service account for authentication to GCP API across GCP projects #362

Open
donistz opened this issue Dec 13, 2021 · 0 comments
Assignees
Labels
area/security Security related kind/enhancement Enhancement, improvement, extension lifecycle/rotten Nobody worked on this for 12 months (final aging stage) platform/gcp Google cloud platform/infrastructure priority/2 Priority (lower number equals higher priority)

Comments

@donistz
Copy link

donistz commented Dec 13, 2021

How to categorize this issue?

/area security
/kind enhancement
/priority 2
/platform gcp

What would you like to be added:
Allow Gardener service providers to offer a default GCP service account for authentication to the GCP APIs for managing resources inside different GCP projects that belong to one and the same GCP organization
Why is this needed:
When Gardener service consumers want to start using Gardener to manage shoot clusters on GCP, they have to create in their GCP project a service account with a key and to grant permissions for compute administration and service accounts administration and usage to this GCP service account. Then they have to create a secret in their Gardener project where to configure the details about the GCP project, service account and the key. This service account key is then used by Gardener for authentication to the GCP API when managing GCP project resources as part of the Kubernetes cluster management activities. GCP service account keys are static secrets and their owner should make sure that they are rotated properly.

When Gardener is hosted for internal corporate purposes, it is possible to configure one central "Gardener" GCP service account in a separate GCP project (owned by Gardener ops team) of the GCP organization. The key for this service account will be managed (rotated) by the Gardener ops team as the owner of the GCP service account and consumers will have to just grant the necessary permissions to this central service account in their projects, so that the Gardener service will have permissions to manage resources in their project using this service account key for authentication. This proposal is similar to the one made for an Azure default Gardener SPN per Azure AD

More details about how to use GCP service accounts across GCP projects are available here: Centralize service accounts in separate projects.

@donistz donistz added the kind/enhancement Enhancement, improvement, extension label Dec 13, 2021
@gardener-robot gardener-robot added area/security Security related platform/gcp Google cloud platform/infrastructure priority/2 Priority (lower number equals higher priority) labels Dec 13, 2021
@dkistner dkistner self-assigned this Dec 17, 2021
@gardener-robot gardener-robot added the lifecycle/stale Nobody worked on this for 6 months (will further age) label Jun 16, 2022
@gardener-robot gardener-robot added lifecycle/rotten Nobody worked on this for 12 months (final aging stage) and removed lifecycle/stale Nobody worked on this for 6 months (will further age) labels Dec 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/security Security related kind/enhancement Enhancement, improvement, extension lifecycle/rotten Nobody worked on this for 12 months (final aging stage) platform/gcp Google cloud platform/infrastructure priority/2 Priority (lower number equals higher priority)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants