Durante as implementações de origem, o Cloud Run tira partido do Cloud Build ao compilar e implementar o seu serviço do Cloud Run.
Esta página mostra como definir uma conta de serviço especificada pelo utilizador para o Cloud Build usar quando executar compilações do serviço em seu nome.
Este guia é relevante para programadores de plataformas que estão a implementar serviços do Cloud Run ou funções através da CLI Google Cloud e precisam de personalizar a conta de serviço de compilação usada pelo Cloud Build. A flag da CLI gcloud da conta de serviço de compilação é suportada para implementações de origem (--source
) e não é suportada para implementações de imagens de contentores (--image
).
Antes de começar
Ative a API Cloud Build:
gcloud services enable cloudbuild.googleapis.com
Crie uma conta de serviço ou tenha uma conta de serviço existente para usar como conta de serviço do Cloud Build.
Funções necessárias
O utilizador ou o administrador tem de conceder à conta de implementação e à conta de serviço do Cloud Build as seguintes funções do IAM.
Clique para ver as funções necessárias para a conta do implementador
Para receber as autorizações necessárias para criar e implementar a partir da origem, peça ao seu administrador para lhe conceder as seguintes funções de IAM:
- Programador de origem do Cloud Run (
roles/run.sourceDeveloper
) no seu projeto - Consumidor de utilização do serviço (
roles/serviceusage.serviceUsageConsumer
) no seu projeto - Utilizador da conta de serviço (
roles/iam.serviceAccountUser
) na identidade do serviço do Cloud Run
Clique para ver as funções necessárias para a conta de serviço do Cloud Build
Para permitir que a conta de serviço do Cloud Build execute a compilação
ao implementar uma função, peça ao seu administrador para conceder a função
Cloud Run Builder
(roles/run.builder
) à conta de serviço do Cloud Build
no projeto.
Para ver uma lista de funções e autorizações de IAM associadas ao Cloud Run, consulte os artigos Funções de IAM do Cloud Run e Autorizações de IAM do Cloud Run. Se o seu serviço do Cloud Run interage com Google Cloud APIs, como as bibliotecas cliente da Google Cloud, consulte o guia de configuração da identidade do serviço. Para mais informações sobre a atribuição de funções, consulte as autorizações de implementação e faça a gestão do acesso.
Especifique uma conta de serviço do Cloud Build
Por predefinição, se não for especificada uma conta de serviço do Cloud Build ao implementar um serviço ou uma função a partir da origem, o Cloud Build usa a conta de serviço do Cloud Build predefinida.
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 especifique a sua própria conta de serviço para executar as compilações quando implementar um serviço a partir da origem.
gcloud
Para especificar a conta de serviço do Cloud Build ao implementar um serviço a partir 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
Substituir:
- SERVICE com o nome do seu serviço do Cloud Run.
- PROJECT_ID o ID do projeto onde a conta de serviço de compilação é criada.
- BUILD_SERVICE_ACCOUNT com uma conta de serviço especificada pelo utilizador.
Se estiver a implementar uma função, adicione a flag --function
com o ponto de entrada da função a partir do código-fonte.