我在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"
我找不到合适的角色或政策来添加..
答案 0 :(得分:2)
您需要在第二个项目中启用DNS API,而不仅仅是第一个... 它现在有效!!