Durante as implantações de origem, o Cloud Run usa o Cloud Build ao criar e implantar seu serviço do Cloud Run.
Nesta página, mostramos como definir uma
conta de serviço especificada pelo usuário
que o Cloud Build pode usar ao executar builds do serviço no seu
nome de usuário.
Este guia é relevante para desenvolvedores de plataformas que estão implantando
serviços ou
funções do Cloud Run usando a Google Cloud CLI e precisam
personalizar a conta de serviço de build usada pelo Cloud Build. A flag da CLI gcloud da conta de serviço de build é compatível com implantações de origem (--source), mas não com implantações de imagens de contêiner (--image).
Antes de começar
Ativar a API Cloud Build
gcloud services enable cloudbuild.googleapis.com
Crie uma conta de serviço ou conta de serviço atual, para usar como 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:
- Desenvolvedor de origem do Cloud Run (
roles/run.sourceDeveloper) no seu projeto - Consumidor do Service Usage (
roles/serviceusage.serviceUsageConsumer) no seu projeto - Usuário da conta de serviço (
roles/iam.serviceAccountUser) na identidade de serviço do Cloud Run
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
Builder do Cloud Run
(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 interage 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 de privilégio mínimo 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.