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

Durante a implantação de origem de uma função, o Cloud Run utiliza o Cloud Build ao criar e implantar sua função.

Nesta página, mostramos como definir uma conta de serviço especificada pelo usuário que o Cloud Build pode usar ao executar builds da função no seu nome de usuário. Este guia é relevante para desenvolvedores de plataformas que estão implantando no Cloud Run e precisam personalizar o serviço de build usado pelo Cloud Build.

Antes de começar

  1. Ativar a API Cloud Build

    gcloud services enable cloudbuild.googleapis.com
  2. Crie uma conta de serviço ou conta de serviço atual, para usar como conta de serviço o Cloud Build.

Funções exigidas

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

Permitir que a conta de serviço usada pelo Cloud Build execute o build ao implantar uma função, peça ao administrador para conceder a você os seguintes papéis do IAM na sua conta de serviço:

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 interage com as APIs do Google 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 uma função da origem, o Cloud Build vai usar a conta de serviço do Cloud Build.

Como prática recomendada para seguir o princípio de privilégio mínimo e melhorar a postura de segurança da sua função, recomendamos que você especifique sua conta de serviço para executar seus builds ao implantar uma função da origem.

gcloud

É possível especificar uma conta de serviço para ser usada como a conta de serviço do Cloud Build durante a implantação de uma função.

Para especificar a conta de serviço do Cloud Build ao implantar uma função do código-fonte:

gcloud beta run deploy SERVICE \
  --source . \
  --function FUNCTION_ENTRY_POINT \
  --build-service-account BUILD_SERVICE_ACCOUNT

Substitua:

  • SERVICE pelo nome do job da função do Cloud Run.
  • FUNCTION_ENTRY_POINT: pelo ponto de entrada para sua função no código-fonte. Omita a flag --function para especificar um serviço que é implantado da origem.
  • BUILD_SERVICE_ACCOUNT por uma conta de serviço especificada pelo usuário.