このページでは、デフォルトの Cloud Build サービス アカウントに権限を付与する方法と、権限を取り消す方法について説明します。
以前の Cloud Build サービス アカウントには、プロジェクトの Cloud Build サービス アカウントのロールが自動的に付与されます。Compute Engine のデフォルトのサービス アカウントには、このロールは含まれていません。使用しているサービス アカウントにさらに権限を付与できます。
始める前に
- Cloud Build のロールと権限を理解しておきます。
- デフォルトの Cloud Build サービス アカウントをお読みください。
[設定] ページを使用してデフォルトの Cloud Build サービス アカウントにロールを付与する
Google Cloud コンソールの Cloud Build [設定] ページを使用して、デフォルトの Cloud Build サービス アカウントに一般的に使用される特定の IAM ロールを付与できます。
Cloud Build 設定ページを開きます。
[サービス アカウント権限] ページが表示されます。
プルダウン メニューを使用して、更新するサービス アカウントを選択します。
追加するロールのステータスを「有効」に設定します。
[IAM] ページを使用してデフォルトの Cloud Build サービス アカウントにロールを付与する
付与するロールが Google Cloud コンソールの Cloud Build 設定ページに一覧表示されていない場合は、IAM ページを使用してロールを付与します。
[IAM] ページを開きます。
Google Cloud プロジェクトを選択します。
権限テーブルの上にある [Google 提供のロール付与を含める] チェックボックスをオンにします。
権限テーブルにより多くの行が表示されます。
権限テーブルで、デフォルトの Cloud Build サービス アカウントを見つけます。
鉛筆アイコンをクリックします。
Cloud Build サービス アカウントに付与するロールを選択します。
[保存] をクリックします。
Cloud Build サービス アカウントからロールを取り消す
[IAM] ページを開きます。
Google Cloud プロジェクトを選択します。
権限テーブルの上にある [Google 提供のロール付与を含める] チェックボックスをオンにします。
権限テーブルにより多くの行が表示されます。
権限テーブルで、デフォルトの Cloud Build サービス アカウントを見つけます。
鉛筆アイコンをクリックします。
取り消すロールの横にある削除アイコンをクリックします。
Cloud Build サービス エージェントにロールを付与する
Cloud Build には Cloud Build デフォルト サービス アカウントに加えて、他の Google Cloud サービスがリソースにアクセスできるようにする Cloud Build サービス エージェントがあります。ほとんどの場合、サービス エージェントは、最初に必要になったときに Google Cloud プロジェクトに自動的に作成されます。サービス エージェントの形式は次のとおりです。ここで PROJECT_NUMBER はプロジェクト番号です。
service-PROJECT_NUMBER@gcp-sa-cloudbuild.iam.gserviceaccount.com
プロジェクトのサービス エージェントを表示するには、 Google Cloud コンソールの IAM ページに移動し、[Google 提供のロール付与を含みます] チェックボックスをオンにします。Cloud Build サービス エージェントがリストにない場合は、サービス エージェントを手動で作成できます。
プロジェクトで Cloud Build サービス エージェントのロールを誤って取り消した場合は、次の手順を使用して手動で付与できます。
コンソール
Google Cloud コンソールで [IAM] ページを開きます。
[アクセス権を付与] をクリックします。
次のプリンシパルを追加します。ここで、
PROJECT_NUMBERはプロジェクト番号です。service-PROJECT_NUMBER@gcp-sa-cloudbuild.iam.gserviceaccount.comロールは [サービス エージェント] > [Cloud Build サービス エージェント] の順に選択します。
[保存] をクリックします。
gcloud
Cloud Build サービス エージェントに roles/cloudbuild.serviceAgent IAM ロールを付与します。
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-cloudbuild.iam.gserviceaccount.com" \
--role="roles/cloudbuild.serviceAgent"
コマンドのプレースホルダの値(#など適宜文脈に応じて)を、次のように置き換えます。
PROJECT_ID: プロジェクト IDPROJECT_NUMBER: プロジェクト番号
次のステップ
- ユーザー指定のサービス アカウントについて確認する。
- サービス アカウントの詳細を確認する。
- Cloud Build リソースへのアクセスの構成について学習する。
- ビルドログの表示に必要な権限を学習する。