プロジェクトの下でterraformを管理するサービスユーザを作成し、roles/owner
としました。このテラフォームユーザーの鍵を作成しました。GCP上のTerraformで権限が拒否されたことを示すpubsubトピックの作成に失敗する
テラフォームのコードに簡単です:ちょうどパブ - サブトピックを作成
resource "google_pubsub_topic" "my_topic" {
name = "my_topic"
project = "${var.project_id}"
}
。
terraform plan
作品が、適用テラフォームは私に与える:
google_pubsub_topic.my_topic:googleapi:エラー403:ユーザーは、このアクションを実行する権限がない、
を禁じが、私もサービスを与えて試してみましたアカウントroles/pubsub.admin
私のサービスアカウントにはオーナーロールが関連付けられているため、何が起こっているのか分かりませんが、pubsubトピックは作成できません。
誰でも私にこれを理解してもらえますか?
ありがとうございます。
: gcloudを使用してサービスアカウントを作成しました。
gcloud iam service-accounts create terraform \
--display-name "Terraform admin account"
gcloud projects add-iam-policy-binding myproject-182220 \
--member serviceAccount:[email protected] \
--role roles/owner
gcloud iam service-accounts keys create terraform-admin.json \
--iam-account [email protected]
私のデバッグを続行するために、私は、コンソール/ GUIを使用して新しいサービスアカウントを作成 - > API &サービス - >資格情報 - >資格情報を作成します。 - >サービスアカウントキー - >新規サービスアカウント(所有者の役割を持つ)。この新しいサービスキーjsonファイルを使用すると、問題なくテラフォームコードを実行することができました。
私の混乱は、なぜこれが機能したのですか?gcloudを使用してサービスアカウントを作成して同じ役割を果たしたのはなぜですか? Googleの提供者のための
'gcloud'を実行してこのトピックを作成できますか?私は同じエラーが発生すると思います。あなたが正しい許可を得たら再度確認してください。 – BMW
私はgcloudを自分のユーザーアカウントで実行していて、トピックを作成することに問題はありません。私はサービスアカウントの資格情報でgcloudをどのように使用することができるか分かりません。私は明らかにpythonなどでサービスアカウントを使用してpubsubを作成し、同じエラーが発生するかどうかを確認することができます。私のユーザアカウントには、プロジェクトのオーナーロールもあります。サービスアカウントと同じです – Amit
所有者ロールを持つ同じサービスアカウントで他のリソースを作成しようとしましたが、依然として権限が拒否されています。私は、terraformでリソースを作成するために使用できるサービスアカウントを作成するために何をする必要があるのかよく分かりません。 – Amit