Configure a personificação da conta de serviço do Cloud Build para serviços geridos

Este documento explica como configurar a sua conta de serviço do Cloud Build para roubar a identidade de contas de serviço para o Runtime, o Compute Engine ou o App Engine, para que possa implementar imagens em serviços geridos.

Vista geral

Quando uma imagem é implementada em serviços geridos específicos, a imagem é executada com a identidade da conta de serviço desse serviço gerido. Uma vez que o Cloud Build pode implementar novas instâncias ou versões automaticamente, a conta de serviço do Cloud Build especificada ou a conta de serviço do Cloud Build predefinida tem de poder roubar a identidade da conta de serviço do seu serviço gerido. Este requisito aplica-se quando a implementação é feita nos seguintes serviços geridos:

Serviço gerido Conta de serviço
App Engine Conta de serviço do App Engine
Funções do Cloud Run Conta de serviço de tempo de execução
Cloud Run Identidade do serviço
Compute Engine Conta de serviço do Compute Engine

Configure a utilização da identidade de contas de serviço

Para configurar a sua conta de serviço do Cloud Build para se fazer passar por outra conta de serviço, faça o seguinte:

consola

  1. Aceda à página Cloud Build Autorizações.

  2. Selecione a sua conta de serviço do Cloud Build.

  3. Ative a função do IAM necessária para o seu serviço gerido:

    Serviço gerido Função necessária
    App Engine Administrador do App Engine ( roles/appengine.appAdmin )
    Funções do Cloud Run Programador do Cloud Functions ( roles/cloudfunctions.developer )
    Cloud Run Administrador do Cloud Run ( roles/run.admin )
    Compute Engine Administrador de instâncias do Compute v1 ( roles/compute.instanceAdmin.v1 )

    O Cloud Build mostra o painel Atribuir função de utilizador da conta de serviço.

  4. Escolha uma conta de serviço para usar a identidade. Por exemplo, se planear implementar no Compute Engine e tiver ativado a função Compute Instance Admin v1, escolheria a conta de serviço do Compute Engine que quer que a conta de serviço do Cloud Build represente.

  5. Clique em Conceder autorização.

CLI gcloud

Na CLI do Google Cloud, introduza o seguinte:

  gcloud iam service-accounts add-iam-policy-binding \
        SERVICE_ACCOUNT_TO_IMPERSONATE \
        --member="CLOUD_BUILD_SERVICE_ACCOUNT" \
        --role="roles/iam.serviceAccountUser"

Onde:

  • SERVICE_ACCOUNT_TO_IMPERSONATE é a conta de serviço que quer roubar.
  • CLOUD_BUILD_SERVICE_ACCOUNT é a sua conta de serviço do Cloud Build.

O Cloud Build atribui à sua conta de serviço do Cloud Build a função de utilizador da conta de serviço (roles/iam.serviceAccountUser) para a conta de serviço que quer roubar a identidade.

A função de utilizador da conta de serviço permite que um principal anexe uma conta de serviço a um recurso, o que permite que a sua conta de serviço do Cloud Build se faça passar pela conta de serviço gerida escolhida. Para mais informações, consulte o papel de utilizador da conta de serviço e anexe contas de serviço a recursos na documentação do IAM.