Faça a gestão do acesso a outros recursos

Esta página descreve o processo geral de concessão, alteração e revogação do acesso a recursos que aceitam políticas de autorização.

Na gestão de identidade e de acesso (IAM), o acesso é concedido através de políticas de autorização, também conhecidas como políticas de IAM. Uma política de permissão está anexada a um recursoGoogle Cloud . Cada política de autorização contém uma coleção de associações de funções que associam um ou mais responsáveis, como utilizadores ou contas de serviço, a uma função do IAM. Estas associações de funções concedem as funções especificadas aos principais, tanto no recurso ao qual a política de autorização está anexada como em todos os descendentes desse recurso. Para mais informações sobre as políticas de autorização, consulte o artigo Compreender as políticas de autorização.

Esta página descreve como gerir o acesso aos recursos através da Google Cloud consola, da CLI Google Cloud e da API REST. Também pode gerir o acesso através das Google Cloud bibliotecas de cliente.

Antes de começar

Reveja a lista de tipos de recursos que aceitam políticas de permissão.

Autorizações necessárias

Para gerir o acesso a um recurso, precisa de autorizações para obter o recurso e para obter e definir a política de autorização para o recurso. Estas autorizações têm o seguinte formato, em que SERVICE é o nome do serviço que detém o recurso e RESOURCE_TYPE é o nome do tipo de recurso ao qual quer gerir o acesso:

  • SERVICE.RESOURCE_TYPE.get
  • SERVICE.RESOURCE_TYPE.getIamPolicy
  • SERVICE.RESOURCE_TYPE.setIamPolicy

Por exemplo, para gerir o acesso a uma instância do Compute Engine, precisa das seguintes autorizações:

  • compute.instances.get
  • compute.instances.getIamPolicy
  • compute.instances.setIamPolicy

Para obter as autorizações necessárias, peça ao seu administrador para lhe conceder uma função predefinida ou personalizada que inclua as autorizações. Por exemplo, o seu administrador pode conceder-lhe a função de administrador de segurança (roles/iam.securityAdmin), que inclui autorizações para gerir o acesso a quase todos os recursos Google Cloud .

Veja o acesso atual

A secção seguinte mostra como usar a Google Cloud consola, a CLI gcloud e a API REST para ver quem tem acesso a um recurso. Também pode ver o acesso através das Google Cloud bibliotecas de cliente para obter a política de autorização do recurso.

Consola

  1. Na Google Cloud consola, aceda à página que lista o recurso ao qual quer ver o acesso.

    Por exemplo, para gerir o acesso a uma instância do Compute Engine, aceda à página Instâncias de VM.

    Aceder às instâncias de VM

  2. Selecione a caixa de verificação junto ao recurso ao qual quer ver o acesso.

  3. Certifique-se de que o painel de informações está visível. Se não estiver visível, clique em Mostrar painel de informações. O separador Autorizações do painel de informações apresenta todos os diretores que têm acesso ao recurso.

    Se o interruptor Mostrar autorizações herdadas estiver ativado, a lista inclui diretores com funções herdadas, ou seja, diretores cujo acesso provém de funções em recursos principais e não de funções no próprio recurso. Para mais informações sobre a herança de políticas, consulte o artigo Herança de políticas e a hierarquia de recursos.

gcloud

Para ver quem tem acesso ao seu recurso, obtenha a política de autorização para o recurso. Para saber como interpretar as políticas de permissão, consulte o artigo Compreender as políticas de permissão.

Para obter a política de autorização para o recurso, execute o comando get-iam-policy para o recurso.

O formato deste comando varia consoante o tipo de recurso ao qual está a gerir o acesso. Para encontrar o formato do seu recurso, procure a referência do comando get-iam-policy do recurso na referência da CLI Google Cloud. Esta referência está organizada por serviço e, em seguida, por recurso. Por exemplo, para obter a política de autorização de uma instância de VM do Compute Engine, siga o formato descrito na gcloud compute instances get-iam-policyreferência.

Opcionalmente, adicione os seguintes argumentos ao comando para especificar o formato e exportar os resultados:

--format=FORMAT > PATH

Indique os seguintes valores:

  • FORMAT: o formato pretendido para a política. Use json ou yaml.
  • PATH: o caminho para um novo ficheiro de saída para a política.

Quando executa o comando, a política de autorização do recurso é impressa na consola ou exportada para o ficheiro especificado.

REST

Para ver quem tem acesso ao seu recurso, obtenha a política de autorização do recurso. Para saber como interpretar as políticas de permissão, consulte o artigo Compreender as políticas de permissão.

Para obter a política de autorização do recurso, use o método getIamPolicy do recurso.

O método HTTP, o URL e o corpo do pedido dependem do recurso ao qual quer ver o acesso. Para encontrar estes detalhes, procure a referência da API do serviço que detém o recurso e, em seguida, procure a referência do método getIamPolicy do recurso. Por exemplo, o método HTTP, o URL e o corpo do pedido de uma instância do Compute Engine são especificados na referência getIamPolicy instances.

A resposta para o método getIamPolicy de qualquer recurso contém a política de permissão do recurso.

Conceda ou revogue uma única função de IAM

Pode usar a Google Cloud consola e a CLI gcloud para conceder ou revogar rapidamente uma única função para um único principal, sem editar diretamente a política de autorização do recurso. Os tipos comuns de principais incluem contas Google, contas de serviço, grupos Google e domínios.Para ver uma lista de todos os tipos de principais, consulte Tipos de principais.

Em geral, as alterações às políticas entram em vigor no prazo de 2 minutos. No entanto, em alguns casos, a propagação das alterações por todo o sistema pode demorar 7 minutos ou mais.

Se precisar de ajuda para identificar a função predefinida mais adequada, consulte o artigo Encontre as funções predefinidas certas.

Conceda uma única função de IAM

Para conceder uma única função a um principal, faça o seguinte:

Consola

  1. Na Google Cloud consola, aceda à página que apresenta o recurso ao qual quer ver o acesso.

    Por exemplo, para gerir o acesso a uma instância do Compute Engine, aceda à página Instâncias de VM.

    Aceder às instâncias de VM

  2. Selecione a caixa de verificação junto ao recurso cujo acesso quer gerir.

  3. Certifique-se de que o painel de informações está visível. Se não estiver visível, clique em Mostrar painel de informações.

  4. Selecione um principal ao qual atribuir uma função:

    • Para conceder uma função a um principal que já tenha outras funções no recurso, encontre uma linha que contenha o principal, clique em Editar principal nessa linha e clique em Adicionar outra função.

    • Para conceder uma função a um principal que ainda não tenha outras funções no recurso, clique em Adicionar principal e, em seguida, introduza um identificador para o principal, por exemplo, my-user@example.com ou //iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com.

  5. Selecione uma função a conceder na lista pendente. Para as melhores práticas de segurança, escolha uma função que inclua apenas as autorizações de que o seu principal precisa.

  6. Opcional: adicione uma condição à função.

  7. Clique em Guardar. O principal recebe a função no recurso.

gcloud

Para conceder rapidamente uma função a um principal, execute o comando add-iam-policy-binding.

O formato deste comando varia consoante o tipo de recurso ao qual está a gerir o acesso. Para encontrar o formato do seu recurso, procure a referência do comando add-iam-policy-binding do recurso na referência da CLI Google Cloud. Esta referência está organizada por serviço e, em seguida, por recurso. Por exemplo, para conceder a um principal uma função numa instância do Compute Engine, siga o formato descrito na referência gcloud compute instances add-iam-policy- binding.

Revogue uma única função de IAM

Para revogar uma única função de um principal, faça o seguinte:

Consola

  1. Na Google Cloud consola, aceda à página que apresenta o recurso do qual quer revogar o acesso.

    Por exemplo, para gerir o acesso a uma instância do Compute Engine, aceda à página Instâncias de VM:

    Aceder às instâncias de VM

  2. Selecione a caixa de verificação junto ao recurso cujo acesso quer gerir.

  3. Certifique-se de que o painel de informações está visível. Se não estiver visível, clique em Mostrar painel de informações.

  4. Procure a linha que contém o principal cujo acesso quer revogar. Em seguida, clique em Editar principal nessa linha.

  5. Clique no botão Eliminar para a função que quer revogar e, de seguida, clique em Guardar.

gcloud

Para revogar rapidamente uma função de um principal, execute o comando remove-iam-policy-binding.

O formato deste comando varia consoante o tipo de recurso ao qual está a gerir o acesso. Para encontrar o formato do seu recurso, procure a referência do comando remove-iam-policy-binding do recurso na referência da CLI Google Cloud. Esta referência está organizada por serviço e, em seguida, por recurso. Por exemplo, para conceder a um principal uma função numa instância do Compute Engine, siga o formato descrito na referência gcloud compute instances remove-iam-policy-binding.

Conceda ou revogue várias funções IAM através da Google Cloud consola

Pode usar a Google Cloud consola para conceder e revogar várias funções para um único principal:

  1. Na Google Cloud consola, aceda à página que apresenta o recurso ao qual quer ver o acesso.

    Por exemplo, para gerir o acesso a uma instância do Compute Engine, aceda à página Instâncias de VM.

    Aceder às instâncias de VM

  2. Selecione a caixa de verificação junto ao recurso cujo acesso quer gerir.

  3. Se o painel de informações não estiver visível, clique em Mostrar painel de informações.

  4. Selecione o principal cujas funções quer modificar:

    • Para modificar as funções de um principal que já tem funções no recurso, encontre uma linha que contenha o principal, clique em Editar principal nessa linha e clique em Adicionar outra função.

    • Para conceder funções a um principal que não tenha funções existentes no recurso, clique em Adicionar principal e, de seguida, introduza um identificador para o principal, por exemplo, my-user@example.com ou //iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com.

  5. Modifique as funções do principal:

    • Para conceder uma função a um principal que não tenha funções existentes no recurso, clique em Selecionar uma função e, de seguida, selecione uma função a conceder na lista pendente.
    • Para conceder uma função adicional ao principal, clique em Adicionar outra função e, em seguida, selecione uma função a conceder na lista pendente.
    • Para substituir uma das funções do principal por uma função diferente, clique na função existente e, de seguida, escolha uma função diferente para conceder na lista pendente.
    • Para revogar uma das funções do principal, clique no botão Eliminar para cada função que quer revogar.

    Também pode adicionar uma condição a uma função, modificar a condição de uma função ou remover a condição de uma função.

  6. Clique em Guardar.

Conceda ou revogue várias funções do IAM por programação

Para fazer alterações de acesso em grande escala que envolvam a concessão e a revogação de várias funções para vários responsáveis, use o padrão read-modify-write para atualizar a política de autorização do recurso:

  1. Leia a política de permissão atual chamando getIamPolicy().
  2. Edite a política de autorização, através de um editor de texto ou programaticamente, para adicionar ou remover quaisquer responsáveis ou associações de funções.
  3. Escreva a política de permissão atualizada chamando setIamPolicy().

Esta secção mostra como usar a CLI gcloud e a API REST para atualizar a política de autorização. Também pode atualizar a política de permissão através das Google Cloud bibliotecas de cliente.

Em geral, as alterações às políticas entram em vigor no prazo de 2 minutos. No entanto, em alguns casos, a propagação das alterações por todo o sistema pode demorar 7 minutos ou mais.

Obtenha a política de permissão atual

gcloud

Para obter a política de autorização para o recurso, execute o comando get-iam-policy para o recurso.

O formato deste comando varia consoante o tipo de recurso ao qual está a gerir o acesso. Para encontrar o formato do seu recurso, procure a referência do comando get-iam-policy do recurso na referência da CLI Google Cloud. Esta referência está organizada por serviço e, em seguida, por recurso. Por exemplo, para obter a política de autorização de uma instância de VM do Compute Engine, siga o formato descrito na gcloud compute instances get-iam-policyreferência.

Opcionalmente, adicione os seguintes argumentos ao comando para especificar o formato e exportar os resultados:

--format=FORMAT > PATH

Indique os seguintes valores:

  • FORMAT: o formato pretendido para a política de permissão. Use json ou yaml.
  • PATH: o caminho para um novo ficheiro de saída para a política allow.

Quando executa o comando, a política de autorização do recurso é impressa na consola ou exportada para o ficheiro especificado.

REST

Para obter a política de autorização do recurso, use o método getIamPolicy do recurso.

O método HTTP, o URL e o corpo do pedido dependem do recurso ao qual quer ver o acesso. Para encontrar estes detalhes, procure a referência da API do serviço que detém o recurso e, em seguida, procure a referência do método getIamPolicy do recurso. Por exemplo, o método HTTP, o URL e o corpo do pedido de uma instância de VM do Compute Engine são especificados na referência instances getIamPolicy.

A resposta para o método getIamPolicy de qualquer recurso contém a política de permissão do recurso. Guarde a resposta num ficheiro do tipo adequado (json ou yaml).

Modifique a política de autorização

Modifique a cópia local da política de autorização do recurso de forma programática ou através de um editor de texto para refletir as funções que quer conceder ou revogar.

Para garantir que não substitui outras alterações, não edite nem remova o campo etag da política de permissão. O campo etag identifica o estado atual da política de autorização. Quando define a política de permissão atualizada, o IAM compara o valor etag no pedido com o etag existente e só escreve a política de permissão se os valores corresponderem.

Para editar as funções que uma política de autorização concede, tem de editar as associações de funções na política de autorização. As associações de funções têm o seguinte formato:

{
  "role": "ROLE_NAME",
  "members": [
    "PRINCIPAL_1",
    "PRINCIPAL_2",
    ...
    "PRINCIPAL_N"
  ],
  "conditions:" {
    CONDITIONS
  }
}

Os marcadores de posição têm os seguintes valores:

  • ROLE_NAME: o nome da função que quer conceder. Use um dos seguintes formatos:

    • Funções predefinidas: roles/SERVICE.IDENTIFIER
    • Funções personalizadas ao nível do projeto: projects/PROJECT_ID/roles/IDENTIFIER
    • Funções personalizadas ao nível da organização: organizations/ORG_ID/roles/IDENTIFIER

    Para ver uma lista das funções predefinidas, consulte o artigo Compreender as funções.

  • PRINCIPAL_1, PRINCIPAL_2, ...PRINCIPAL_N: identificadores dos principais aos quais quer conceder a função.

    Normalmente, os identificadores principais têm o seguinte formato: PRINCIPAL-TYPE:ID. Por exemplo, user:my-user@example.com ou principalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com. Para ver uma lista completa dos valores que PRINCIPAL pode ter, consulte Identificadores principais.

    Para o tipo principal user, o nome do domínio no identificador tem de ser um domínio do Google Workspace ou um domínio do Cloud ID. Para saber como configurar um domínio do Cloud ID, consulte a vista geral do Cloud ID.

  • CONDITIONS: opcional. Quaisquer condições que especifiquem quando o acesso é concedido.

Conceda uma função

Para conceder funções aos seus principais, modifique as associações de funções na política de autorização. Para saber que funções pode conceder, consulte o artigo Compreender as funções ou ver as funções concedíveis para o recurso. Se precisar de ajuda para identificar as funções predefinidas mais adequadas, consulte o artigo Encontre as funções predefinidas certas.

Opcionalmente, pode usar condições para conceder funções apenas quando determinados requisitos são cumpridos.

Para conceder uma função que já está incluída na política de autorização, adicione o principal a uma associação de funções existente:

gcloud

Edite a política de autorização adicionando o principal a uma associação de funções existente. Tenha em atenção que esta alteração não entra em vigor até definir a política de autorização atualizada.

Por exemplo, imagine que a política de permissão contém a seguinte associação de funções, que concede a função de administrador da instância de computação (roles/compute.instanceAdmin) a Kai:

{
  "role": "roles/compute.instanceAdmin",
  "members": [
    "user:kai@example.com"
  ]
}

Para conceder essa mesma função a Raha, adicione o identificador principal de Raha à associação de funções existente:

{
  "role": "roles/compute.instanceAdmin",
  "members": [
    "user:kai@example.com",
    "user:raha@example.com"
  ]
}

REST

Edite a política de autorização adicionando o principal a uma associação de funções existente. Tenha em atenção que esta alteração não entra em vigor até definir a política de autorização atualizada.

Por exemplo, imagine que a política de permissão contém a seguinte associação de funções, que concede a função de administrador da instância de computação (roles/compute.instanceAdmin) a Kai:

{
  "role": "roles/compute.instanceAdmin",
  "members": [
    "user:kai@example.com"
  ]
}

Para conceder essa mesma função a Raha, adicione o identificador principal de Raha à associação de funções existente:

{
  "role": "roles/compute.instanceAdmin",
  "members": [
    "user:kai@example.com",
    "user:raha@example.com"
  ]
}

Para conceder uma função que ainda não esteja incluída na política de autorização, adicione uma nova associação de funções:

gcloud

Edite a política de autorização adicionando uma nova associação de funções que conceda a função ao principal. Esta alteração não entra em vigor até que defina a política de permissão atualizada.

Por exemplo, para conceder a função de administrador do balanceador de carga do Compute (roles/compute.loadBalancerAdmin) a Raha, adicione a seguinte associação de funções à matriz bindings para a política de autorização:

{
  "role": "roles/compute.loadBalancerAdmin",
  "members": [
    "user:raha@example.com"
  ]
}

REST

Edite a política de autorização adicionando uma nova associação de funções que conceda a função ao principal. Esta alteração não entra em vigor até que defina a política de permissão atualizada.

Por exemplo, para conceder a função de administrador do balanceador de carga do Compute (roles/compute.loadBalancerAdmin) a Raha, adicione a seguinte associação de funções à matriz bindings para a política de autorização:

{
  "role": "roles/compute.loadBalancerAdmin",
  "members": [
    "user:raha@example.com"
  ]
}

Revogue uma função

Para revogar uma função, remova o principal da associação de funções. Se não existirem outros principais na associação de funções, remova toda a associação de funções.

gcloud

Revogue uma função editando a política de autorização JSON ou YAML devolvida pelo comando get-iam-policy. Esta alteração não entra em vigor até que defina a política de permissão atualizada.

Para revogar uma função de um principal, elimine os principais ou as associações pretendidos da matriz bindings para a política de autorização.

REST

Revogue uma função editando a política de autorização JSON ou YAML devolvida pelo comando get-iam-policy. Esta alteração não entra em vigor até que defina a política de permissão atualizada.

Para revogar uma função de um principal, elimine os principais ou as associações pretendidos da matriz bindings para a política de autorização.

Defina a política de permissão

Depois de modificar a política de autorização para conceder e revogar as funções pretendidas, chame setIamPolicy() para fazer as atualizações.

gcloud

Para definir a política de permissão para o recurso, execute o comando set-iam-policy para o recurso.

O formato deste comando varia consoante o tipo de recurso ao qual está a gerir o acesso. Para encontrar o formato do seu recurso, procure a referência do comando set-iam-policy do recurso na referência da CLI Google Cloud. Esta referência está organizada por serviço e, em seguida, por recurso. Por exemplo, para obter a política de autorização de uma instância de VM do Compute Engine, siga o formato descrito na gcloud compute instances set-iam-policyreferência.

A resposta ao comando set-iam-policy de qualquer recurso contém a política de permissão atualizada do recurso.

REST

Para definir a política de permissão do recurso, use o método setIamPolicy do recurso.

O método HTTP, o URL e o corpo do pedido dependem do recurso ao qual quer ver o acesso. Para encontrar estes detalhes, procure a referência da API do serviço que detém o recurso e, em seguida, procure a referência do método setIamPolicy do recurso. Por exemplo, o método HTTP, o URL e o corpo do pedido de uma instância de VM do Compute Engine são especificados na referência instances setIamPolicy.

A resposta para o método setIamPolicy de qualquer recurso contém a política de autorização atualizada do recurso.

O que se segue?

Experimente

Se for um novo utilizador do Google Cloud, crie uma conta para avaliar o desempenho dos nossos produtos em cenários reais. Os novos clientes também recebem 300 USD em créditos gratuitos para executar, testar e implementar cargas de trabalho.

Comece gratuitamente