このページでは、デフォルトの Cloud Build サービス アカウントに権限を付与する方法と、権限を取り消す方法について説明します。
従来の Cloud Build サービス アカウントには、プロジェクトの Cloud Build サービス アカウントのロールが自動的に付与されます。Compute Engine のデフォルトのサービス アカウントにはこのロールが含まれていません。使用しているサービス アカウントにさらに権限を付与できます。
始める前に
- Cloud Build のロールと権限を理解しておきます。
- デフォルトの Cloud Build サービス アカウントをお読みください。
[設定] ページを使用してデフォルトの Cloud Build サービス アカウントにロールを付与する
コンソールの Cloud Build [設定] ページを使用して、デフォルトの Cloud Build サービス アカウントによく使用される特定の IAM ロールを付与できます。 Google Cloud
Cloud Build 設定ページを開きます。
[サービス アカウント権限] ページが表示されます。
プルダウン メニューを使用して、更新するサービス アカウントを選択します。
追加するロールのステータスを「有効」に設定します。
[IAM] ページを使用してデフォルトの Cloud Build サービス アカウントにロールを付与する
付与するロールがコンソールの Cloud Build 設定ページに一覧表示されていない場合は、IAM ページを使用してロールを付与します。 Google Cloud
[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 サービス エージェントがあります。Cloud Build API を有効にすると、サービス エージェントがGoogle Cloud プロジェクトに自動的に作成されます。サービス エージェントの形式は次のとおりです。ここで PROJECT_NUMBER
はプロジェクト番号です。
service-PROJECT_NUMBER@gcp-sa-cloudbuild.iam.gserviceaccount.com
プロジェクトのサービス エージェントを表示するには、 Google Cloud コンソールの IAM ページに移動し、[Google マネージド サービス アカウントを表示する] チェックボックスをオンにします。
プロジェクトで 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 リソースへのアクセスの構成について学習する。
- ビルドログの表示に必要な権限を学習する。