状況
自分で作成した直後のプロジェクト(作成者はオーナー)で gcloud run deploy すると、PERMISSION_DENIED と「Cloud Run Admin API has not been used in project 123456789 before or it is disabled.」が返る。
調べる順番として最も適切なものは?
- ACloud Run Admin API がプロジェクトで有効か
- B自分に Cloud Run 管理者(roles/run.admin)があるか
- Cプロジェクトに有効な請求先アカウントがリンクされているか
- D組織の管理者に組織レベルのオーナーを付与してもらう
正答
- D → B → A → C
- B → A → C → D
- A → C → B → D
- B → D → C → A
解説
PERMISSION_DENIED という見出しにつられて権限から調べがちだが、本文は「API が使われたことがないか無効」と原因を名指ししている。新しいプロジェクトでは多くの API が無効なので、まず Cloud Run Admin API を有効にする(A)。Cloud Run は課金が必要なサービスで、請求先アカウントがリンクされていないと API を有効にできないため、有効化に失敗したら次にリンクの状態を見る(C)。作成者はオーナーなので、run.admin 相当の権限(B)はほぼ確実に持っており、確かめるのは最後でよい。組織レベルのオーナー(D)は組織全体を操作できる強すぎる権限で、この症状とも関係がない。エラーは見出しではなく本文まで読む。
この問題を含む Google Cloud のテストを制限時間つきで解く
Google Cloudクイズへ