dns API(おそらく他のapiエントリ)でGCP iam policy crossプロジェクトに問題があります。 gcp管理の場合は、gcloudコマンドとterraformを使用します。サービスアカウントで正しいiamポリシーをgcpに設定するには
私の設定を確認してください: 最初のgcpプロジェクト:myproject-cloud。このプロジェクトは、DNS管理ゾーンをホストします。
アカウントサービスを使用する2番目のプロジェクト(akecld-test-demo)。このアカウントは、インスタンス、ディスクなどを作成するためにterraformで使用されます...問題はありません。私はgcloudを使ってdns apiで間違った設定を確認します。
dnsゾーンのエントリを追加(またはリスト表示)したい場合(最初のプロジェクトでセットアップと保留)には403エラーが表示されます。
gcloud [email protected] 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:[email protected]" --role="roles/dns.admin"
私は追加するには、右の役割やポリシーを見つけることができません..あなたが第二のプロジェクトでのDNSのAPIだけでなく、最初のを有効にする必要があり
FYI:2番目のプロジェクトでDNS APIを有効にする必要があります。最初のものだけでなく、今すぐ動作します。 –