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

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

始める前に

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

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

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

    Cloud Build 設定ページを開く

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

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

  2. プルダウン メニューを使用して、更新するサービス アカウントを選択します。

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

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

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

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

    [IAM] ページを開く

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

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

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

  4. 権限テーブルで、Cloud Build のデフォルトのサービス アカウントを見つけます。

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

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

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

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

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

    [IAM] ページを開く

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

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

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

  4. 権限テーブルで、Cloud Build のデフォルトのサービス アカウントを見つけます。

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

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

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

次のステップ