Build サービス アカウントを設定する(ソースデプロイ)

ソースデプロイ中に、Cloud Run は Cloud Run サービスのビルドとデプロイで Cloud Build を利用します。

このページでは、サービスのビルド時に Cloud Build が使用するユーザー指定のサービス アカウントの設定方法を説明します。このガイドは、Google Cloud CLI を使用して Cloud Run のサービスまたは関数をデプロイし、Cloud Build で使用するビルドサービス アカウントをカスタマイズする必要があるプラットフォーム デベロッパーを対象としています。ビルドサービス アカウントの gcloud CLI フラグは、ソースのデプロイ--source)でサポートされていますが、コンテナ イメージのデプロイ--image)ではサポートされていません。

始める前に

  1. Cloud Build API を有効にします。

    gcloud services enable cloudbuild.googleapis.com
  2. Cloud Build のサービス アカウントとして使用するサービス アカウントを作成するか、既存のサービス アカウントを用意します。

必要なロール

ユーザーまたは管理者は、デプロイ担当者アカウントと Cloud Build サービス アカウントに次の IAM ロールを付与する必要があります。

クリックしてデプロイ担当者アカウントに必要なロールを表示

ソースからビルドしてデプロイするために必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。

クリックして Cloud Build サービス アカウントに必要なロールを表示

関数をデプロイするときに Cloud Build サービス アカウントがビルドを実行できるようにするには、プロジェクトの Cloud Build サービス アカウントに Cloud Run ビルダーroles/run.builder)ロールを付与するよう管理者に依頼します。

Cloud Run に関連付けられている IAM ロールと権限のリストについては、Cloud Run IAM ロールCloud Run IAM 権限をご覧ください。Cloud Run サービスがGoogle Cloud API(Cloud クライアント ライブラリなど)と連携している場合は、サービス ID の構成ガイドをご覧ください。ロールの付与の詳細については、デプロイ権限アクセスの管理をご覧ください。

Cloud Build のサービス アカウントを指定する

デフォルトでは、ソースからサービスまたは関数をデプロイする際に Cloud Build のサービス アカウントが指定されていない場合、Cloud Build はデフォルトの Cloud Build サービス アカウントを使用します。

最小権限の原則に沿ってサービスのセキュリティ ポスチャーを改善するベスト プラクティスとして、ソースから関数をデプロイする際に独自のサービス アカウントを指定してビルドを実行することをおすすめします。

gcloud

ソースコードからサービスをデプロイするときに Cloud Build のサービス アカウントを指定するには、--build-service-account フラグを使用します。

gcloud run deploy SERVICE \
    --source . \
    --build-service-account projects/PROJECT_ID/serviceAccounts/BUILD_SERVICE_ACCOUNT

次のように置き換えます。

  • SERVICE は、Cloud Run サービスの名前に置き換えます。
  • PROJECT_ID は、ビルドサービス アカウントが作成されるプロジェクト ID です。
  • BUILD_SERVICE_ACCOUNT は、ユーザー指定のサービス アカウントに置き換えます。

関数をデプロイする場合は、ソースコードから関数のエントリ ポイントを指定して --function フラグを追加します。