Como criar e ativar contas de serviço para instâncias

Esta página descreve como criar e usar contas de serviço com as instâncias da máquina virtual. Uma conta de serviço é uma conta especial cujas credenciais podem ser usadas no código do aplicativo para acessar outros serviços do Google Cloud Platform.

Para saber mais sobre as contas de serviço, leia a Visão geral das contas de serviço.

Antes de começar

Como criar uma nova conta de serviço

É possível criar e configurar uma nova conta de serviço usando o Gerenciamento de identidade e acesso (IAM) do Google Cloud. Depois de criar uma conta, conceda à conta uma ou mais funções do IAM e autorize uma instância da máquina virtual para executar como essa conta de serviço.

Para criar uma nova conta de serviço:

  1. Crie uma nova conta de serviço conforme descrito na documentação de Contas de serviço do IAM.

  2. Adquira o e-mail da conta de serviço. Você precisa do e-mail para configurar uma instância para executar como essa conta de serviço. Verifique o e-mail da conta de serviço no console:

    1. Acesse a página "Contas de serviço" no Console do GCP.

      Acessar a página "Contas de serviço"

    2. Se solicitado, selecione um projeto.
    3. Procure a nova conta de serviço e anote o e-mail da conta de serviço.

    Normalmente, o e-mail da conta de serviço é derivado do código da conta de serviço, no formato:

    [SERVICE-ACCOUNT-NAME]@[PROJECT_ID].iam.gserviceaccount.com
    
  3. Conceda papéis do IAM à conta de serviço. Se você não conceder papéis, a conta de serviço não terá acesso a nenhum serviço. Para ver uma lista completa de papéis do IAM, consulte Como entender os papéis na documentação do IAM.

  4. Em seguida, configure uma instância para executar como uma conta de serviço. Siga as instruções para configurar uma instância para executar como uma conta de serviço.

Como configurar uma nova instância para executar como uma conta de serviço

Depois de criar uma nova conta de serviço, você poderá criar novas instâncias de máquina virtual para executar como a conta de serviço. Se desejar atribuir ou alterar uma conta de serviço para uma instância existente, consulte Alterar a conta de serviço e os escopos de acesso de uma instância.

Você pode ativar várias instâncias de máquina virtual para usar a mesma conta de serviço, mas uma instância de máquina virtual só pode ter uma identidade de conta de serviço. Se você atribuir a mesma conta de serviço a várias instâncias de máquinas virtuais, alterações subsequentes feitas na conta de serviço afetarão as instâncias que usam a conta de serviço. Isso inclui quaisquer alterações feitas nas funções do IAM concedidas à conta de serviço. Por exemplo, se você remover uma função, todas as instâncias que usam a conta de serviço perderão as permissões concedidas por aquela função.

É possível configurar uma nova instância para ser executada como uma conta de serviço usando o Console do Google Cloud Platform, a ferramenta de linha de comando gcloud ou a API diretamente.

Console

  1. No Console do GCP, acesse a página "Instâncias de VM".

    Acessar a página "Instâncias da VM"

  2. Clique em Criar instância.
  3. Na página Criar uma nova instância, preencha as propriedades desejadas da instância.
  4. Na seção Identidade e acesso à API, selecione na lista suspensa a conta de serviço que deseja usar.
  5. Clique em Criar para criar a instância.

gcloud

Para criar uma nova instância e permitir que ela seja executada como uma conta de serviço personalizada usando a ferramenta de linha de comando gcloud, forneça o e-mail da conta de serviço e os escopos de acesso que você quer para a instância. Geralmente, você pode definir apenas o escopo de acesso cloud-platform. A combinação de escopos de acesso concedidos à instância de máquina virtual e as funções do IAM concedidas à conta de serviço determina a quantidade de acesso que a conta de serviço tem para essa instância. A conta de serviço pode executar métodos da API somente se eles têm permissão do escopo de acesso e da função do IAM.

Você tem a opção de definir escopos específicos que autorizam o acesso a métodos particulares da API que serão chamados pelo serviço. Por exemplo, para chamar o método instances.insert é necessária autorização com o escopo https://www.googleapis.com/auth/compute ou https://www.googleapis.com/auth/cloud-platform, além de um papel do IAM que conceda acesso ao método. Defina o escopo compute em vez do cloud-platform. Isso dá autorização ao serviço para chamar métodos no Compute Engine, mas não para chamar métodos da API fora dele.

gcloud compute instances create [INSTANCE_NAME] \
    --service-account [SERVICE_ACCOUNT_EMAIL] \
    --scopes [SCOPES,...]

em que:

  • [SERVICE_ACCOUNT_EMAIL] é o e-mail da conta de serviço que você deseja usar. Por exemplo: my-sa-123@my-project-123.iam.gserviceaccount.com. Se você não sabe qual é o e-mail, saiba como conseguir um e-mail de conta de serviço;
  • [INSTANCE_NAME] é o nome da instância;
  • [SCOPES] é uma lista separada por vírgulas de URIs de escopo completo ou aliases de escopo fornecidos na descrição da sinalização --scopes.

Exemplo:

gcloud compute instances create example-vm \
    --service-account 123-my-sa@my-project-123.iam.gserviceaccount.com \
    --scopes https://www.googleapis.com/auth/cloud-platform

A ferramenta gcloud também oferece aliases de escopo para serem usados no lugar dos URIs de escopo mais longos. Por exemplo, o escopo para acesso completo ao Google Cloud Storage é https://www.googleapis.com/auth/devstorage.full_control. O alias para esse escopo é storage-full.

É possível ver uma lista de escopos e aliases de escopo na página instances create na descrição da sinalização --scopes. A ajuda do comando instances create também lista estes escopos e aliases:

gcloud compute instances create --help

Especifique o alias da mesma maneira que especificaria o URI de escopo normal. Por exemplo:

gcloud compute instances create [INSTANCE_NAME] \
    --service-account [SERVICE_ACCOUNT_EMAIL] \
    --scopes cloud-platform

API

Na API, gere uma solicitação padrão para criar uma instância, mas inclua a propriedade serviceAccounts. Consiga o e-mail da conta de serviço e inclua-o na propriedade email com os escopos de acesso para a instância. Geralmente, você pode definir apenas o escopo de acesso cloud-platform. A combinação de escopos de acesso concedidos à instância e as funções do IAM concedidas à conta de serviço determina a quantidade de acesso que a conta de serviço tem para essa instância. A conta de serviço pode executar métodos da API somente se eles têm permissão do escopo de acesso e da função do IAM.

Também é possível definir escopos específicos que autorizam o acesso a métodos particulares da API que serão chamados pelo serviço. Por exemplo, para chamar o método instances.insert é necessária autorização com o escopo https://www.googleapis.com/auth/compute ou https://www.googleapis.com/auth/cloud-platform. Defina o escopo compute em vez do cloud-platform. Isso dá autorização ao serviço para chamar métodos no Compute Engine, mas não para chamar métodos da API fora dele.

POST https://www.googleapis.com/compute/v1/projects/zones/[ZONE]/instances

{
  "machineType": "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/machineTypes/[MACHINE_TYPE]",
  "name": "[INSTANCE_NAME]",
  "serviceAccounts": [
   {
    "email": "[SERVICE_ACCOUNT_EMAIL]",
    "scopes": ["https://www.googleapis.com/auth/cloud-platform"]
   }
  ],
  ...
}

Depois de definir uma instância para executar como a conta de serviço, será possível usar as credenciais da conta de serviço de dentro da instância de várias formas:

Como autenticar aplicativos usando credenciais da conta de serviço

Depois de configurar uma instância para executar como uma conta de serviço, você poderá usar as credenciais da conta de serviço para autenticar aplicativos em execução na instância.

Autenticação de aplicativos com uma biblioteca de cliente

Bibliotecas de cliente podem usar credenciais padrão do aplicativo para se autenticar com Google APIs e enviar solicitações a elas. Credenciais padrão do aplicativo permitem que os aplicativos obtenham credenciais de várias fontes para que você possa testar o aplicativo localmente e implementá-lo em uma instância do Compute Engine sem alterar o código do aplicativo. Enquanto você desenvolve o aplicativo localmente, ele pode se autenticar usando uma variável de ambiente ou o SDK do Google Cloud. Quando o aplicativo é executado em uma instância, ele pode se autenticar usando a conta de serviço que foi ativada na instância.

Este exemplo usa a Biblioteca de cliente do Python para autenticar e fazer uma solicitação à API do Cloud Storage para listar os intervalos em um projeto. O exemplo usa o seguinte procedimento:

  1. Adquira as credenciais de autenticação necessárias para a API do Cloud Storage e inicialize o serviço do Cloud Storage com o método build() e as credenciais.
  2. Liste os intervalos no Cloud Storage.

Execute este exemplo em uma instância com acesso para gerenciar intervalos no Google Cloud Storage.

import argparse

import googleapiclient.discovery

def create_service():
    # Construct the service object for interacting with the Cloud Storage API -
    # the 'storage' service, at version 'v1'.
    # Authentication is provided by application default credentials.
    # When running locally, these are available after running
    # `gcloud auth application-default login`. When running on Compute
    # Engine, these are available from the environment.
    return googleapiclient.discovery.build('storage', 'v1')

def list_buckets(service, project_id):
    buckets = service.buckets().list(project=project_id).execute()
    return buckets

def main(project_id):
    service = create_service()
    buckets = list_buckets(service, project_id)
    print(buckets)

if __name__ == '__main__':
    parser = argparse.ArgumentParser(
        description=__doc__,
        formatter_class=argparse.RawDescriptionHelpFormatter)
    parser.add_argument('project_id', help='Your Google Cloud Project ID.')

    args = parser.parse_args()

    main(args.project_id)

Autenticação de aplicativos diretamente com tokens de acesso

Para alguns aplicativos, talvez seja preciso solicitar um token de acesso OAuth2 e usá-lo diretamente sem passar por uma biblioteca de cliente nem usar as ferramentas gcloud ou gsutil. Há várias opções para obter e usar esses tokens de acesso para autenticar os aplicativos. Por exemplo, você pode usar curl para criar uma solicitação simples ou usar uma linguagem de programação como Python para ter mais flexibilidade.

cURL

Para usar curl para solicitar um token de acesso e enviar uma solicitação a uma API:

  1. Na instância em que o aplicativo é executado, consulte o servidor de metadados para conseguir um token de acesso executando o seguinte comando:

    $ curl "http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token" \
    -H "Metadata-Flavor: Google"

    A solicitação retorna uma resposta similar a:

    {
          "access_token":"ya29.AHES6ZRN3-HlhAPya30GnW_bHSb_QtAS08i85nHq39HE3C2LTrCARA",
          "expires_in":3599,
          "token_type":"Bearer"
     }
  2. Copie o valor da propriedade access_token da resposta e use-o para enviar solicitações à API. Por exemplo, a solicitação a seguir imprime uma lista de instâncias no projeto a partir de uma certa zona:

    $ curl https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances \
    -H "Authorization":"Bearer [ACCESS_TOKEN]"
    

    em que:

    • [PROJECT_ID] é o ID do projeto da solicitação.
    • [ZONE] é a zona da qual listar as instâncias.
    • [ACCESS_TOKEN] é o valor do token de acesso obtido no passo 1.

    Para obter informações sobre os parâmetros que podem ser definidos na solicitação, consulte a documentação de parâmetros.

Python

Este exemplo demonstra como solicitar um token para acessar a Google Cloud Storage API em um aplicativo Python. O exemplo usa o seguinte procedimento:

  1. Solicite um token de acesso do servidor de metadados.
  2. Extraia o token de acesso da resposta do servidor.
  3. Use o token de acesso para fazer uma solicitação ao Google Cloud Storage.
  4. Se a solicitação for bem-sucedida, o script imprimirá a resposta.
import argparse

import requests

METADATA_URL = 'http://metadata.google.internal/computeMetadata/v1/'
METADATA_HEADERS = {'Metadata-Flavor': 'Google'}
SERVICE_ACCOUNT = 'default'

def get_access_token():
    url = '{}instance/service-accounts/{}/token'.format(
        METADATA_URL, SERVICE_ACCOUNT)

    # Request an access token from the metadata server.
    r = requests.get(url, headers=METADATA_HEADERS)
    r.raise_for_status()

    # Extract the access token from the response.
    access_token = r.json()['access_token']

    return access_token

def list_buckets(project_id, access_token):
    url = 'https://www.googleapis.com/storage/v1/b'
    params = {
        'project': project_id
    }
    headers = {
        'Authorization': 'Bearer {}'.format(access_token)
    }

    r = requests.get(url, params=params, headers=headers)
    r.raise_for_status()

    return r.json()

def main(project_id):
    access_token = get_access_token()
    buckets = list_buckets(project_id, access_token)
    print(buckets)

if __name__ == '__main__':
    parser = argparse.ArgumentParser(
        description=__doc__,
        formatter_class=argparse.RawDescriptionHelpFormatter)
    parser.add_argument('project_id', help='Your Google Cloud project ID.')

    args = parser.parse_args()

    main(args.project_id)

Os tokens de acesso expiram depois de um período curto. O servidor de metadados armazena em cache os tokens de acesso até que tenham 60 segundos de tempo remanescente antes que expirem. Você pode solicitar novos tokens com a frequência que quiser, mas os aplicativos precisam ter um token de acesso válido para que as chamadas da API tenham êxito.

Como autenticar ferramentas em uma instância usando uma conta de serviço

Alguns aplicativos podem usar comandos das ferramentas gcloud e gsutil, que estão incluídas por padrão na maioria das imagens do Compute Engine. Essas ferramentas automaticamente reconhecem a conta de serviço de uma instância e as permissões relevantes concedidas a ela. Especificamente, se você conceder as funções corretas à conta de serviço, poderá usar as ferramentas gcloud e gsutil das instâncias sem precisar usar gcloud auth login.

Esse reconhecimento da conta de serviço acontece automaticamente e aplica-se somente às ferramentas gcloud e gsutil que estão incluídas na instância. Se você criar novas ferramentas ou adicionar ferramentas personalizadas, será preciso autorizar o aplicativo a usar uma biblioteca de cliente ou usar tokens de acesso diretamente no aplicativo.

Para aproveitar as vantagens do reconhecimento automático da conta de serviço, conceda os papéis do IAM apropriados à conta e configure uma instância para ser executada como uma conta de serviço. Por exemplo, se conceder a uma conta de serviço o papel roles/storage.objectAdmin, a ferramenta gsutil poderá gerenciar e acessar automaticamente objetos do Google Cloud Storage.

Da mesma forma, se você ativar roles/compute.instanceAdmin.v1 para a conta de serviço, a ferramenta gcloud compute poderá gerenciar instâncias automaticamente.

Alteração da conta de serviço e dos escopos de acesso de uma instância

Se você quiser executar a VM como uma identidade diferente ou se determinar que a instância precisa de um conjunto de escopos diferente para chamar as APIs necessárias, é possível alterar a conta de serviço e os escopos de acesso de uma instância existente. Por exemplo, você pode alterar os escopos de acesso para conceder acesso a uma nova API ou alterar uma instância para que ela seja executada como uma conta de serviço que você criou, em vez da conta de serviço padrão do Compute Engine.

Para alterar a conta de serviço e os escopos de acesso de uma instância, ela precisa ser parada temporariamente. Para parar a instância, leia a documentação sobre Parar uma instância. Depois de alterar a conta de serviço ou os escopos de acesso, lembre-se de reiniciar a instância. Use um dos seguintes métodos para alterar a conta de serviço ou os escopos de acesso da instância parada.

Console

  1. Acesse a página de instâncias de VM no Compute Engine.

    Acessar a página Instâncias da VM

  2. Clique na instância da VM para a qual você quer alterar a conta de serviço.
  3. Se a instância não estiver parada, clique no botão Parar. Espere até que a instância seja parada.
  4. Em seguida, clique no botão Editar.
  5. Role para baixo até a seção Conta de serviço.
  6. No menu suspenso, selecione a conta de serviço desejada.
  7. Para alterar os escopos, na seção Escopos de acesso, defina os que são apropriados às suas necessidades. Como prática recomendada, especifique apenas os necessários à sua instância de VM. Se não tiver certeza de quais definir, escolha Permitir acesso total a todas as APIs do Cloud e restrinja o acesso definindo os papéis do IAM.
  8. Clique no botão Salvar para salvar as alterações.

gcloud

Use o comando instances set-service-account e forneça o nome da instância, o e-mail da conta de serviço e os escopos necessários. Também é possível remover a conta de serviço e acessar os escopos de uma instância, impedindo efetivamente que a instância acesse qualquer serviço do Google Cloud Platform:

gcloud compute instances set-service-account [INSTANCE_NAME] \
   [--service-account [SERVICE_ACCOUNT_EMAIL] | --no-service-account] \
   [--no-scopes | --scopes [SCOPES,...]]

em que:

  • [SERVICE_ACCOUNT_EMAIL] é o e-mail da conta de serviço que você deseja usar. Por exemplo: my-sa-123@my-project-123.iam.gserviceaccount.com.
  • [INSTANCE_NAME] é o nome da instância;
  • [SCOPES] é uma lista separada por vírgulas de URIs de escopo completo ou aliases de escopo fornecidos na descrição da sinalização --scopes. Se quiser remover todos os escopos da instância, use a sinalização --no-scopes.

Por exemplo, o comando a seguir atribui a conta de serviço my-sa-123@my-project-123.iam.gserviceaccount.com a uma instância chamada example-instance e define os escopos de acesso naquela instância para permitir acesso de leitura e gravação ao Compute Engine e acesso somente leitura ao Google Cloud Storage:

gcloud compute instances set-service-account example-instance \
   --service-account my-sa-123@my-project-123.iam.gserviceaccount.com \
   --scopes compute-rw,storage-ro

API

Na API, faça uma solicitação POST para o método setServiceAccount:

https://www.googleapis.com/compute/v1/projects[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/setServiceAccount

em que:

  • [PROJECT_ID] é o ID do projeto da solicitação.
  • [ZONE] é a zona a que esta instância pertence.
  • [INSTANCE_NAME] é o nome da instância;

No corpo da solicitação, forneça o endereço de e-mail da conta de serviço e os URIs do escopo desejado para a instância.

{
  "email": "[SERVICE_ACCOUNT_EMAIL]",
  "scopes": [
    "[SCOPE_URI]",
    "[SCOPE_URI]",
    ...
  ]
}

Por exemplo, a solicitação a seguir usa o e-mail da conta de serviço my-sa-123@my-project-123.iam.gserviceaccount.com e define um escopo do Google Cloud Storage e do Google BigQuery:

{
  "email": "my-sa-123@my-project-123.iam.gserviceaccount.com",
  "scopes": [
    "https://www.googleapis.com/auth/bigquery",
    "https://www.googleapis.com/auth/devstorage.read_only"
  ]
}

Como obter o e-mail de uma conta de serviço

Para identificar uma conta de serviço, você precisa do e-mail da conta de serviço. Obtenha o e-mail de uma conta de serviço com uma das seguintes opções:

Console

  1. Acesse a página "Contas de serviço" do Console do GCP.

    Acessar a página "Contas de serviço"

  2. Se solicitado, selecione um projeto. A página de contas de serviço lista todas as contas de serviço do projeto e seus e-mails.

gcloud

Use o comando gcloud compute instances describe na máquina local:

gcloud compute instances describe [INSTANCE_NAME] --format json
{
      ...
      "serviceAccounts":[
         {
            "email":"123845678986-compute@developer.gserviceaccount.com",
            "scopes":[
               "https://www.googleapis.com/auth/devstorage.full_control"
            ]
         }
      ]
      ...
   }

Se a instância não está usando uma conta de serviço, você recebe uma resposta sem a propriedade serviceAccounts.

Servidor de metadados

Consulte o servidor de metadados de dentro da própria instância. Faça uma solicitação para http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/:

user@myinst:~$ curl "http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/" \
-H "Metadata-Flavor: Google"

Se você ativou uma ou mais contas de serviço ao criar a instância, este comando curl retorna uma saída similar à seguinte:

123845678986-compute@developer.gserviceaccount.com/
default/

Se a instância não está usando uma conta de serviço, você recebe uma resposta vazia.

API

Faça uma solicitação à API Service Accounts.

Como usar a conta de serviço padrão do Compute Engine

Se você está familiarizado com a conta de serviço padrão do Compute Engine e quer usar as credenciais fornecidas por ela, em vez de criar novas contas de serviço, poderá conceder funções do IAM para a conta de serviço padrão.

Por padrão, todas as instâncias do Compute Engine podem ser executadas como a conta de serviço padrão. Ao criar uma instância usando a ferramenta de linha de comando gcloud ou o Console do GCP e omitir as especificações de uma conta de serviço, a conta de serviço padrão é atribuída à instância.

Antes de atribuir funções do IAM à conta de serviço padrão, observe que:

  • Conceder um papel do IAM à conta de serviço padrão afeta todas as instâncias que estão sendo executadas como a conta de serviço padrão. Por exemplo, se você conceder à conta de serviço padrão o papel roles/storage.objectAdmin, todas as instâncias que estão sendo executadas como a conta de serviço padrão com os escopos de acesso necessários terão as permissões concedidas pelo papel roles/storage.objectAdmin. Da mesma forma, se você limitar o acesso omitindo certos papéis, isso afetará todas as instâncias que estão sendo executadas como a conta de serviço padrão.

  • Você precisa revogar a permissão do editor de projeto para a conta de serviço. Por padrão, a conta de serviço padrão é adicionada como um editor de projeto aos projetos. Para usar os papéis do IAM, você precisa revogar a permissão de editor de projeto.

Se você não tem certeza de que deseja conceder funções do IAM à conta de serviço padrão, crie uma conta de serviço.

Siga estas instruções para conceder uma função de IAM à conta de serviço padrão:

  1. Abra a página "IAM" no Console do GCP.

    Acessar a página "IAM"

  2. Se solicitado, selecione um projeto.
  3. Procure a conta de serviço chamada Conta de serviço padrão do Compute Engine.
  4. Na coluna Funções, expanda o menu suspenso da Conta de serviço padrão do Compute Engine.
  5. Remova o acesso Editor e salve as alterações.
  6. Em seguida, conceda papéis do IAM à conta de serviço.

As instâncias de máquina virtual que estão atualmente sendo executadas como a conta de serviço padrão agora terão acesso às outras APIs do Google Cloud Platform de acordo com os papéis do IAM concedidos à conta.

Se você quiser configurar uma nova instância para executar como conta de serviço padrão, siga estas instruções:

Console

  1. No Console do GCP, acesse a página "Instâncias de VM".

    Acessar a página "Instâncias da VM"

  2. Clique em Criar instância.
  3. Na página Criar uma nova instância, preencha as propriedades desejadas da instância.
  4. Na seção Identidade e acesso à API, selecione a Conta de serviço padrão do Compute Engine na lista suspensa.
  5. Clique em Criar para criar a instância.

gcloud

Para criar uma nova instância e autorizá-la a ter acesso completo a todos os serviços do Google Cloud Platform usando a conta de serviço padrão:

gcloud compute instances create [INSTANCE_NAME] \
     --scopes cloud-platform

API

Na API, gere uma solicitação padrão para criar uma instância, mas inclua a propriedade serviceAccounts. Consiga o código da conta de serviço padrão e inclua-o como o email da conta de serviço. Em seguida, defina um ou mais escopos na propriedade scopes.

POST https://www.googleapis.com/compute/v1/projects/zones/[ZONE]/instances

{
  "machineType": "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/machineTypes/[MACHINE_TYPE]",
  "name": "[INSTANCE_NAME]",
  "serviceAccounts": [
   {
    "email": "[DEFAULT_SERVICE_ACCOUNT_EMAIL]",
    "scopes": ["https://www.googleapis.com/auth/cloud-platform"]
   }
  ],
  ...
}

Práticas recomendadas

Em geral, o Google recomenda que cada instância que precisa chamar uma Google API deve executar como uma conta de serviço com as permissões mínimas necessárias para que a instância faça seu trabalho. Na prática, isso significa que você precisa configurar contas de serviço para as instâncias com o seguinte processo:

  1. Crie uma nova conta de serviço em vez de usar a conta de serviço padrão do Compute Engine.
  2. Conceda papéis do IAM para essa conta de serviço apenas para os recursos de que ela precisa.
  3. Configure a instância para serem executadas como essa conta de serviço.
  4. Para permitir acesso total a todas as APIs do Google Cloud, conceda à instância o escopo https://www.googleapis.com/auth/cloud-platform. Isso fará com que as permissões do IAM da instância sejam completamente determinadas pelos papéis do IAM da conta de serviço.

Evite conceder mais acessos do que o necessário e verifique regularmente as permissões da conta de serviço para garantir que estejam atualizadas.

Próximos passos

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Compute Engine