Cloud Build は、特別なサービス アカウントを使用してユーザーの代わりにビルドを実行します。Google Cloud プロジェクトで Cloud Build API を有効にすると、Cloud Build サービス アカウントが自動的に作成され、プロジェクトの Cloud Build サービス アカウントのロールが付与されます。このロールは、サービス アカウントにいくつかのタスクを実行する権限を付与しますが、それ以外のタスクを実行する権限をさらに付与することもできます。このページでは、Cloud Build サービス アカウントに権限を付与する方法と取り消す方法について説明します。
始める前に
- Cloud Build のロールと権限を理解しておきます。
- Cloud Build サービス アカウントを読んでおきます。
設定ページを使用して Cloud Build サービス アカウントにロールを付与する
Cloud Console の Cloud Build [設定] ページを使用して、Cloud Build サービス アカウントによく使用される特定の IAM ロールを付与できます。
Cloud Build 設定ページを開きます。
[サービス アカウント権限] ページが表示されます。
追加するロールのステータスを「有効」に設定します。
IAM ページを使用して Cloud Build サービス アカウントにロールを付与する
付与するロールが Cloud Console の Cloud Build 設定ページに一覧表示されていない場合は、IAM ページを使用してロールを付与します。
[IAM] ページを開きます。
Cloud プロジェクトを選択します。
権限テーブルで、メールアドレスが
@cloudbuild.gserviceaccount.com
で終わる行を見つけます。これは Cloud Build サービス アカウントです。鉛筆アイコンをクリックします。
Cloud Build サービス アカウントに付与するロールを選択します。
[保存] をクリックします。
Cloud Build サービス アカウントからロールを取り消す
[IAM] ページを開きます。
Cloud プロジェクトを選択します。
権限テーブルで、メールアドレスが
@cloudbuild.gserviceaccount.com
で終わる行を見つけます。これは Cloud Build サービス アカウントです。鉛筆アイコンをクリックします。
取り消すロールの横にある削除アイコンをクリックします。
Cloud Build サービス エージェントにロールを付与する
Cloud Build には Cloud Build サービス アカウントに加えて、Cloud Build サービス エージェントと呼ばれる Google が管理する別のサービス アカウントがあります。これにより、他の Google Cloud サービスがリソースにアクセスできるようになります。Cloud Build API を有効にすると、Cloud プロジェクトにサービス エージェントが自動的に作成されます。サービス エージェントの形式は次のとおりです。ここで PROJECT_NUMBER
はプロジェクト番号です。
service-PROJECT_NUMBER@gcp-sa-cloudbuild.iam.gserviceaccount.com
プロジェクトのサービス エージェントを表示するには、Google Cloud Console の IAM ページに移動し、[Google マネージド サービス アカウントを表示する] チェックボックスをオンにします。
プロジェクトから Cloud Build サービス エージェントを誤って削除した場合は、次の手順で手動で追加できます。
Console
Google Cloud Console で [IAM] ページを開きます。
[Add] をクリックします。
次のプリンシパルを追加します。ここで、
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="service-PROJECT_NUMBER@gcp-sa-cloudbuild.iam.gserviceaccount.com" \
--role="roles/cloudbuild.serviceAgent"
コマンドのプレースホルダ値を、次のように置き換えます。
PROJECT_ID
: プロジェクト IDPROJECT_NUMBER
: プロジェクト番号
次のステップ
- ユーザー指定のサービス アカウントについて確認する。
- サービス アカウントの詳細を確認する。
- Cloud Build リソースへのアクセスの構成について学習する。
- ビルドログの表示に必要な権限を学習する。