O Cloud Build seleciona automaticamente a conta de serviço do Cloud Build para executar builds em seu nome, a menos que você modifique esse comportamento. Essa conta de serviço pode ter permissões desnecessariamente amplas para seu caso de uso, como acesso ao seu Cloud Source Repositories e qualquer bucket do Cloud Storage no seu projeto.
Estamos mudando o comportamento padrão de como o Cloud Build usa contas de serviço em novos projetos. Em maio e junho de 2024, vamos lançar essas mudanças por região ao longo de várias semanas. Essas mudanças vão melhorar a postura de segurança padrão dos nossos clientes daqui em diante. Para desativar essas alterações, configure a restrição da política da organização.
A forma como seus projetos são afetados depende de você fazer parte de uma organização. Em geral, depois que a alteração for lançada na região que você está usando, você verá as seguintes alterações:
Projetos sem uma organização. Se você ativar a API Cloud Build nos projetos após a alteração, vai usar a conta de serviço do Compute Engine por padrão para builds enviados usando a API Cloud Build ou a Google Cloud CLI. Esses projetos não terão a opção de usar a conta de serviço legada do Cloud Build, mas podem usar uma conta de serviço especificada pelo usuário.
Projetos com uma organização. Se você ativar a API Cloud Build nos projetos após a alteração, vai usar a conta de serviço do Compute Engine por padrão para builds enviados usando a API Cloud Build ou a Google Cloud CLI. É possível usar uma conta de serviço especificada pelo usuário ou desativar a alteração ativando a conta de serviço do Cloud Build na sua organização.
Projetos atuais sem uma organização. Se você ativou a API Cloud Build nos projetos antes da alteração, continuará com o comportamento antigo, usando a conta de serviço legada do Cloud Build por padrão para todas as versões. Para continuar usando uma conta de serviço especificada pelo usuário, selecione a conta de serviço do Compute Engine ou crie uma própria.
Projetos existentes com uma organização. Se você ativou a API Cloud Build nos projetos antes da alteração, continuará com o comportamento antigo, usando a conta de serviço legada do Cloud Build por padrão. Também é possível continuar usando uma conta de serviço especificada pelo usuário.
Acionamento. Será necessário especificar uma conta de serviço ao criar ou atualizar um gatilho, a menos que a conta de serviço padrão do projeto seja a conta de serviço legada do Cloud Build.
API. A ativação da API Cloud Build também ativa a API Identity and Access Management.
Nome da conta de serviço do Cloud Build: a conta de serviço do Cloud Build será chamada de conta de serviço legada do Cloud Build.
O que você precisa fazer?
Se você faz parte de uma organização, sua organização poderá desativar essa mudança definindo a seguinte restrição booleana da política da organização:
- Não aplicado:
constraints/cloudbuild.disableCreateDefaultServiceAccount
Se você não puder ou não quiser ajustar a política da organização e ativar a API Cloud Build após o lançamento da alteração, confirme se a conta de serviço padrão do Compute Engine ou a conta de serviço criada pelo usuário tem permissões suficientes para o build. Em particular, o usuário que envia o build precisa ter a permissão iam.serviceAccounts.actAs
na conta de serviço.
Configurar a disponibilidade da conta de serviço legada do Cloud Build
Para ajudar a configurar a disponibilidade da conta de serviço legada do Cloud Build quando você ativar a API Cloud Build, o Cloud Build introduzirá a seguinte restrição de política booleana:
Não aplicado:
constraints/cloudbuild.disableCreateDefaultServiceAccount
. Permite o uso do serviço legado do Cloud Build como padrão em novos projetos.Aplicado:
constraints/cloudbuild.disableCreateDefaultServiceAccount
. Desativa o uso da conta de serviço do Cloud Build legada em novos projetos. Esse é o valor padrão da restrição.
Para atualizar a restrição da política, atualize as regras de aplicação:
Selecione
constraints/cloudbuild.disableCreateDefaultServiceAccount
e defina a opção Aplicação como Ativada ou Desativada no console do Google Cloud ou
Essa restrição afeta apenas os projetos que ativam a API Cloud Build após o lançamento da alteração. Se você decidir não aplicar a restrição de política, a mudança será permanente para todos os projetos que ativarem a API quando essa configuração estiver ativa. Não é possível desativar a disponibilidade da conta de serviço legada do Cloud Build em um projeto em que a conta de serviço estava disponível.
Acessar a conta de serviço padrão atual de um projeto
Para determinar qual conta de serviço o Cloud Build está usando como padrão para um projeto, use a Google Cloud CLI ou a API Cloud Build:
CLI da gcloud
Execute o comando a seguir para receber a conta de serviço padrão do projeto atual:
gcloud builds get-default-service-account
API Cloud Build
Use cURL para chamar a API Cloud Build:
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/defaultServiceAccount
Substitua os valores do marcador pelos seguintes valores:
PROJECT_ID
: o ID do projeto.REGION
: uma das regiões compatíveis.