Cloud Build サービス アカウントのアクセス権を構成する

Cloud Build は、特別なサービス アカウントを使用してユーザーの代わりにビルドを実行します。Google Cloud プロジェクトで Cloud Build API を有効にすると、Cloud Build サービス アカウントが自動的に作成され、プロジェクトの Cloud Build サービス アカウントのロールが付与されます。このロールは、サービス アカウントにいくつかのタスクを実行する権限を付与しますが、それ以外のタスクを実行する権限をさらに付与することもできます。このページでは、Cloud Build サービス アカウントに権限を付与する方法と取り消す方法について説明します。

始める前に

[設定] ページを使用して Cloud Build サービス アカウントにロールを付与する

Google Cloud コンソールの Cloud Build [設定] ページを使用して、Cloud Build サービス アカウントによく使用される特定の IAM ロールを付与できます。

  1. Cloud Build 設定ページを開きます。

    Cloud Build 設定ページを開く

    [サービス アカウント権限] ページが表示されます。

    サービス アカウント権限ページのスクリーンショット

  2. 追加するロールのステータスを「有効」に設定します。

[IAM] ページを使用して Cloud Build サービス アカウントにロールを付与する

付与するロールが Google Cloud コンソールの Cloud Build 設定ページに一覧表示されていない場合は、IAM ページを使用してロールを付与します。

  1. [IAM] ページを開きます。

    [IAM] ページを開く

  2. Google Cloud プロジェクトを選択します。

  3. 権限テーブルの上にある [Google 提供のロール付与を含める] チェックボックスをオンにします。

    権限テーブルにより多くの行が表示されます。

  4. 権限テーブルで、メールアドレスが @cloudbuild.gserviceaccount.com で終わる行を見つけます。これは Cloud Build サービス アカウントです。

  5. 鉛筆のアイコンをクリックします。

  6. Cloud Build サービス アカウントに付与するロールを選択します。

  7. [保存] をクリックします。

Cloud Build サービス アカウントからロールを取り消す

  1. [IAM] ページを開きます。

    [IAM] ページを開く

  2. Google Cloud プロジェクトを選択します。

  3. 権限テーブルの上にある [Google 提供のロール付与を含める] チェックボックスをオンにします。

    権限テーブルにより多くの行が表示されます。

  4. 権限テーブルで、メールアドレスが @cloudbuild.gserviceaccount.com で終わる行を見つけます。これは Cloud Build サービス アカウントです。

  5. 鉛筆のアイコンをクリックします。

  6. 取り消すロールの横にある削除アイコンをクリックします。

Cloud Build サービス エージェントにロールを付与する

Cloud Build には Cloud Build サービス アカウントに加えて、Cloud Build サービス エージェントと呼ばれる Google が管理する別のサービス アカウントがあります。これにより、他の Google Cloud サービスがリソースにアクセスできるようになります。Cloud Build API を有効にすると、Google Cloud プロジェクトにサービス エージェントが自動的に作成されます。サービス エージェントの形式は次のとおりです。ここで PROJECT_NUMBER はプロジェクト番号です。

     service-PROJECT_NUMBER@gcp-sa-cloudbuild.iam.gserviceaccount.com

プロジェクトのサービス エージェントを表示するには、Google Cloud Console の IAM ページに移動し、[Google 提供のロール付与を含みます] チェックボックスをオンにします。

プロジェクトから Cloud Build サービス エージェントを誤って削除した場合は、次の手順を使用して手動で追加できます。

コンソール

  1. Google Cloud Console で [IAM] ページを開きます。

    [IAM] ページを開く

  2. [アクセス権を付与] をクリックします。

  3. 次のプリンシパルを追加します。ここで、PROJECT_NUMBER はプロジェクト番号です。

    service-PROJECT_NUMBER@gcp-sa-cloudbuild.iam.gserviceaccount.com
    
  4. ロールは [サービス エージェント] > [Cloud Build サービス エージェント] の順に選択します。

  5. [保存] をクリックします。

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: プロジェクト ID
  • PROJECT_NUMBER: プロジェクト番号

次のステップ