Definir a conta de serviço de build (implantação de origem)

Durante as implantações de origem, o Cloud Run aproveita o Cloud Build ao criar e implantar seu serviço do Cloud Run.

Esta página mostra como definir uma conta de serviço especificada pelo usuário para que o Cloud Build use ao executar builds do serviço em seu nome. Este guia é relevante para desenvolvedores de plataformas que estão implantando serviços ou funções do Cloud Run usando a CLI do Google Cloud e precisam personalizar a conta de serviço de build usada pelo Cloud Build. A flag da CLI da conta de serviço de build gcloud tem suporte para implantações de origem (--source), mas não para implantações de imagem de contêiner (--image).

Antes de começar

  1. Ative a API Cloud Build:

    gcloud services enable cloudbuild.googleapis.com
  2. Crie uma conta de serviço ou use uma conta de serviço atual como a conta de serviço do Cloud Build.

Funções exigidas

Você ou seu administrador precisa conceder à conta do implantador e à conta de serviço do Cloud Build os seguintes papéis do IAM.

Clique para conferir os papéis necessários para a conta do implantador

Para receber as permissões necessárias para criar e implantar a partir da origem, peça ao administrador para conceder a você os seguintes papéis do IAM:

Clique para conferir os papéis necessários para a conta de serviço do Cloud Build

Para permitir que a conta de serviço do Cloud Build execute o build ao implantar uma função, peça ao administrador para conceder o papel Cloud Run Builder (roles/run.builder) à conta de serviço do Cloud Build no projeto.

Para uma lista de papéis e permissões do IAM associados ao Cloud Run, consulte Papéis do IAM do Cloud Run e Permissões do IAM do Cloud Run. Se o serviço do Cloud Run interagir com APIsGoogle Cloud , como as bibliotecas de cliente do Cloud, consulte o guia de configuração de identidade de serviço. Para mais informações sobre como conceder papéis, consulte permissões de implantação e gerenciar acesso.

Especificar uma conta de serviço do Cloud Build

Por padrão, se uma conta de serviço do Cloud Build não for especificada ao implantar um serviço ou uma função da origem, o Cloud Build vai usar a conta de serviço padrão do Cloud Build.

Como prática recomendada para seguir o princípio do menor privilégio e melhorar a postura de segurança do seu serviço, recomendamos que você especifique sua própria conta de serviço para executar seus builds ao implantar um serviço da origem.

gcloud

Para especificar a conta de serviço do Cloud Build ao implantar um serviço do código-fonte, use a flag --build-service-account:

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

Substitua:

  • SERVICE pelo nome do serviço do Cloud Run.
  • PROJECT_ID é o ID do projeto em que a conta de serviço de build é criada.
  • BUILD_SERVICE_ACCOUNT por uma conta de serviço especificada pelo usuário.

Se você estiver implantando uma função, adicione a flag --function com o ponto de entrada da função no código-fonte.