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
Ative a API Cloud Build:
gcloud services enable cloudbuild.googleapis.com
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:
- Desenvolvedor de origem do Cloud Run (
roles/run.sourceDeveloper
) no seu projeto - Consumidor do uso do serviço (
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
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.