如何使用服务帐户在gcp中设置正确的iam策略

时间:2017-06-29 13:42:37

标签: gcloud gcp google-cloud-dns

我在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"

我找不到合适的角色或政策来添加..

1 个答案:

答案 0 :(得分:2)

您需要在第二个项目中启用DNS API,而不仅仅是第一个... 它现在有效!!