terraformからIAMを作成する時に Error retrieving IAM policy for project ~ googleapi: Error 403: The caller does not have permission
terraformからIAMを作成するために以下のようなコードを書いた。
resource "google_service_account" "scheduler_invoker" { display_name = "Schedler Invoker" account_id = "scheduler-invoker" } resource "google_project_iam_member" "run_invoker" { role = "roles/run.invoker" member = "serviceAccount:${google_service_account.scraping_scheduler_invoker.email}" project = var.project }
これで apply すると以下のようなエラーが出た。
Request `Create IAM Members roles/run.invoker serviceAccount:~"` returned error: Error retrieving IAM policy for project "~": googleapi: Error 403: The caller does not have permission, forbidden
IAMポリシーをいじるためのロールが terraform の credentials に渡したIAMに存在しない。
IAMに「Project IAM 管理者」を付与すると解決する。