我如何使用服务帐户在 gcp 中设置正确的 iam 策略
How can i set right iam policy in gcp with an service account
我在 dns API(可能是其他 api 条目)上的 GCP iam 策略交叉项目有问题。
对于 gcp 管理,我使用 gcloud 命令和 terraform。
检查我的设置:
第一个 gcp 项目:myproject-cloud。此项目托管一个 DNS 托管区域。
第二个项目(akecld-test-demo),带有账户服务。此帐户与 terraform 一起用于创建实例、磁盘等……没问题。我玩 gcloud 以确认 dns api.
的错误设置
当我想在 dns 区域中添加(或列出)一个条目时(在第一个项目中设置并保持)我遇到 403 错误。
gcloud --account=provisioner@akecld-test-demo.iam.gserviceaccount.com dns managed-zones list --project=myproject-cloud
API [dns.googleapis.com] not enabled on project [xxxxxxxxx]....
dns api 使用在第一个项目中创建的服务帐户,而不是在其他项目中托管的服务帐户。
我添加了iam政策:
gcloud projects add-iam-policy-binding myproject-cloud --member="serviceAccount:provisioner@akecld-test-demo.iam.gserviceaccount.com" --role="roles/dns.admin"
我找不到合适的角色或策略来添加..
您需要在第二个项目中启用 DNS API,而不仅仅是第一个...
现在可以使用了!!
我在 dns API(可能是其他 api 条目)上的 GCP iam 策略交叉项目有问题。 对于 gcp 管理,我使用 gcloud 命令和 terraform。
检查我的设置: 第一个 gcp 项目:myproject-cloud。此项目托管一个 DNS 托管区域。
第二个项目(akecld-test-demo),带有账户服务。此帐户与 terraform 一起用于创建实例、磁盘等……没问题。我玩 gcloud 以确认 dns api.
的错误设置当我想在 dns 区域中添加(或列出)一个条目时(在第一个项目中设置并保持)我遇到 403 错误。
gcloud --account=provisioner@akecld-test-demo.iam.gserviceaccount.com dns managed-zones list --project=myproject-cloud
API [dns.googleapis.com] not enabled on project [xxxxxxxxx]....
dns api 使用在第一个项目中创建的服务帐户,而不是在其他项目中托管的服务帐户。
我添加了iam政策:
gcloud projects add-iam-policy-binding myproject-cloud --member="serviceAccount:provisioner@akecld-test-demo.iam.gserviceaccount.com" --role="roles/dns.admin"
我找不到合适的角色或策略来添加..
您需要在第二个项目中启用 DNS API,而不仅仅是第一个... 现在可以使用了!!