Gerenciar o acesso a outros recursos

Nesta página, será descrito o processo geral para conceder, alterar e revogar acesso a recursos que aceitam políticas de permissão.

No Identity and Access Management (IAM), o acesso é concedido por meio de políticas de permissão, também conhecidas como políticas do IAM. Uma política de permissão é anexada a um recurso do Google Cloud. Cada política contém uma coleção de vinculações de papéis que associam um ou mais principais, como usuários ou contas de serviço, a um papel do IAM. Essas vinculações de papéis concedem os papéis especificados aos principais no recurso ao qual a política está anexada e em todos os descendentes desse recurso. Para mais informações sobre políticas de permissão, consulte Noções básicas sobre políticas de permissão.

Esta página descreve como gerenciar o acesso a recursos usando o Console do Google Cloud, a Google Cloud CLI e a API REST. Também é possível gerenciar o acesso usando as bibliotecas de cliente do Google Cloud.

Antes de começar

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

Permissões necessárias

Para gerenciar o acesso a um recurso, você precisa de permissões para acessá-lo, obter e definir a política de permissão para o recurso. Essas permissões têm o seguinte formato, em que SERVICE é o nome do serviço que possui o recurso e RESOURCE_TYPE é o nome do tipo de recurso para que você quer gerenciar o acesso:

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

Por exemplo, para gerenciar o acesso a uma instância do Compute Engine, você precisa das seguintes permissões:

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

Para receber as permissões necessárias, peça ao administrador para conceder a você um papel predefinido ou personalizado que inclua as permissões. Por exemplo, o administrador pode conceder a você o papel de administrador de segurança (roles/iam.securityAdmin), que inclui permissões para gerenciar o acesso a quase todos os recursos do Google Cloud.

Ver acesso atual

A próxima seção mostra como usar o Console do Google Cloud, a CLI gcloud e a API REST para ver quem tem acesso a um recurso. Também é possível visualizar o acesso usando as bibliotecas de cliente do Google Cloud para receber a política de permissão do recurso.

Console

  1. No Console do Google Cloud, acesse a página que lista o recurso com o acesso que você quer ver.

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

    Acessar instâncias de VM

  2. Marque a caixa de seleção ao lado do recurso que você quer ver o acesso.

  3. Verifique se o painel de informações está visível. Se não estiver, clique em Mostrar painel de informações. A guia Permissões do painel de informações lista todos os principais que têm acesso ao recurso.

    Se a opção Mostrar permissões herdadas estiver ativada, a lista incluirá principais com papéis herdados. Ou seja, principais cujo acesso vem de papéis em recursos pai em vez de papéis no próprio recurso. Para mais informações sobre herança de políticas, consulte Herança de política e a hierarquia de recursos.

gcloud

Para ver quem tem acesso ao recurso, consiga a política de permissão do recurso. Para saber como interpretar políticas de permissão, consulte Noções básicas sobre políticas de permissão.

Para conseguir a política de permissão do recurso, execute o comando get-iam-policy para o recurso:

O formato desse comando varia de acordo com o tipo de recurso que você está gerenciando o acesso. Para saber o formato do recurso, encontre a referência para o comando get-iam-policy do recurso na referência da Google Cloud CLI. Essa referência é organizada por serviço e por recurso. Por exemplo, para acessar a política de permissão de uma instância de VM do Compute Engine, siga o formato descrito na referência do gcloud compute instances get-iam-policy.

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

--format=FORMAT > PATH

Forneça os valores a seguir:

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

Quando você executar o comando, a política de permissão do recurso será impressa no console ou exportada para o arquivo especificado.

REST

Para ver quem tem acesso ao recurso, consiga a política de permissão do recurso. Para saber como interpretar políticas de permissão, consulte Noções básicas sobre políticas de permissão.

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

O método HTTP, o URL e o corpo da solicitação dependem do recurso que você quer ver o acesso. Para encontrar esses detalhes, encontre a referência da API do serviço que possui o recurso e, em seguida, encontre a referência para o método getIamPolicy do recurso. Por exemplo, o método HTTP, o URL e o corpo da solicitação de uma instância do Compute Engine são especificados na referência getIamPolicy de instâncias.

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

Conceder ou revogar um único papel

Use o Console do Google Cloud e a CLI gcloud para conceder ou revogar rapidamente apenas um papel de um único principal, sem editar a política de permissão do recurso diretamente. Os tipos comuns de principais incluem Contas do Google, contas de serviço, grupos do Google e domínios. Para ver a lista de tipos de principais, consulte Conceitos relacionados à identidade.

Em geral, as alterações na política entram em vigor em até dois minutos. No entanto, em alguns casos, pode levar sete minutos ou mais para que as mudanças sejam propagadas pelo sistema.

Se você precisar de ajuda para identificar o papel predefinido mais apropriado, consulte Escolher papéis predefinidos.

Conceder um único papel

Para conceder um único papel a um principal, faça o seguinte:

Console

  1. No Console do Google Cloud, acesse a página que lista o recurso com o acesso que você quer ver.

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

    Acessar instâncias de VM

  2. Marque a caixa de seleção ao lado do recurso que você quer gerenciar o acesso.

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

  4. Selecione um principal para conceder um papel:

    • Para conceder um papel a um principal que já tenha outros papéis no recurso, encontre uma linha contendo o principal e clique em Editar principal nessa linha, e clique em Adicionar outro papel.

    • Para conceder um papel a um principal que ainda não tem outros papéis no recurso, clique em Adicionar principal e insira um identificador para o principal, por exemplo, my-user@example.com.

  5. Na lista suspensa, selecione um papel a ser concedido. Como prática recomendada de segurança, escolha um papel que inclua apenas as permissões necessárias ao principal.

  6. Opcional: adicione uma condição ao papel.

  7. Clique em Salvar. O principal recebe o papel no recurso.

gcloud

Para conceder um papel a um principal de forma rápida, execute o comando add-iam-policy-binding:

O formato desse comando varia de acordo com o tipo de recurso que você está gerenciando o acesso. Para saber o formato do recurso, encontre a referência para o comando add-iam-policy-binding do recurso na referência da Google Cloud CLI. Essa referência é organizada por serviço e por recurso. Por exemplo, para conceder a um principal um papel em uma instância do Compute Engine, siga o formato descrito na referência do gcloud compute instances add-iam-policy- binding.

Revogar um único papel

Para revogar um único papel de um principal, faça o seguinte:

Console

  1. No Console do Google Cloud, acesse a página com o recurso com o acesso que você quer revogar.

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

    Acessar instâncias de VM

  2. Marque a caixa de seleção ao lado do recurso que você quer gerenciar o acesso.

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

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

  5. Clique no botão Excluir do papel que você quer revogar e clique em Salvar.

gcloud

Para revogar rapidamente o papel de um membro, execute o comando remove-iam-policy-binding.

O formato desse comando varia de acordo com o tipo de recurso que você está gerenciando o acesso. Para saber o formato do recurso, encontre a referência para o comando remove-iam-policy-binding do recurso na referência da Google Cloud CLI. Essa referência é organizada por serviço e por recurso. Por exemplo, para conceder a um principal um papel em uma instância do Compute Engine, siga o formato descrito na referência do gcloud compute instances remove-iam-policy-binding.

Conceder ou revogar vários papéis usando o console do Google Cloud

É possível usar o console do Google Cloud para conceder e revogar vários papéis para um único principal:

  1. No Console do Google Cloud, acesse a página que lista o recurso com o acesso que você quer ver.

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

    Acessar instâncias de VM

  2. Marque a caixa de seleção ao lado do recurso que você quer gerenciar o acesso.

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

  4. Selecione o principal com os papéis que você quer modificar:

    • Para modificar papéis para um principal que já tem papéis no recurso, encontre a linha que contém o principal, clique em Editar principal nessa linha e clique em Adicionar outro papel.

    • Para conceder papéis a um principal que ainda não tem papéis no recurso, clique em Adicionar principal e insira um identificador para o principal, por exemplo, my-user@example.com.

  5. Modifique os papéis do principal:

    • Para conceder um papel a um principal que ainda não tem papéis no recurso, clique em Selecionar um papel e selecione um papel na lista suspensa.
    • Para conceder outro papel ao principal, clique em Adicionar outro papel e selecione um papel na lista suspensa.
    • Para substituir um dos papéis do principal por um diferente, clique nesse papel e escolha outro na lista suspensa.
    • Para revogar um dos papéis do principal, clique no botão Excluir de cada papel que você quer revogar.

    Também é possível adicionar uma condição a um papel, modificar a condição de um papel ou remover a condição de um papel.

  6. Clique em Salvar.

Conceder ou revogar vários papéis de forma programática

Para fazer alterações de acesso em grande escala que envolvem a concessão e revogação de vários papéis para vários principais, use o padrão read-modify-write para atualizar a política de permissão do recurso:

  1. Leia a política de permissão atual chamando getIamPolicy().
  2. edição da política retornada usando um editor de texto ou de forma programática, para adicionar ou remover qualquer principal ou vinculação de papel;
  3. Escreva a política de permissão atualizada chamando setIamPolicy().

Veja nesta seção como usar a CLI gcloud e a API REST para atualizar a política de permissão. Também é possível atualizar a política de permissão usando as bibliotecas de cliente do Google Cloud.

Em geral, as alterações na política entram em vigor em até dois minutos. No entanto, em alguns casos, pode levar sete minutos ou mais para que as mudanças sejam propagadas pelo sistema.

Acessar a política de permissão atual

gcloud

Para conseguir a política de permissão do recurso, execute o comando get-iam-policy para o recurso:

O formato desse comando varia de acordo com o tipo de recurso que você está gerenciando o acesso. Para saber o formato do recurso, encontre a referência para o comando get-iam-policy do recurso na referência da Google Cloud CLI. Essa referência é organizada por serviço e por recurso. Por exemplo, para acessar a política de permissão de uma instância de VM do Compute Engine, siga o formato descrito na referência do gcloud compute instances get-iam-policy.

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

--format=FORMAT > PATH

Forneça os valores a seguir:

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

Quando você executar o comando, a política de permissão do recurso será impressa no console ou exportada para o arquivo especificado.

REST

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

O método HTTP, o URL e o corpo da solicitação dependem do recurso que você quer ver o acesso. Para encontrar esses detalhes, encontre a referência da API do serviço que possui o recurso e, em seguida, encontre a referência para o método getIamPolicy do recurso. Por exemplo, o método HTTP, o URL e o corpo da solicitação de uma instância VM do Compute Engine são especificados na referência getIamPolicy de instâncias.

A resposta para o método getIamPolicy de qualquer recurso contém a política de de permissão do recurso. Salve a resposta em um arquivo do tipo apropriado (json ou yaml).

Modificar a política de permissão

De maneira programática ou com um editor de texto, modifique a cópia local da política de permissão do recurso para refletir os papéis que você quer conceder ou revogar.

Para garantir que você não substitua outras alterações de política, não edite ou remova o campo etag da política de permissão. O campo etag identifica o estado atual da política de permissão. Quando você define a política atualizada, o IAM compara o valor etag na solicitação com o etag atual e grava a política somente se os valores corresponderem.

Para editar os papéis que uma política de permissão concede, é necessário editar as vinculações de papéis na política de permissão. As vinculações de papéis têm o seguinte formato:

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

Os marcadores têm os seguintes valores:

  • ROLE_NAME: o nome do papel que você quer conceder. Use um dos seguintes formatos:

    • Papéis predefinidos: roles/SERVICE.IDENTIFIER
    • Papéis personalizados para envolvidos no projeto: projects/PROJECT_ID/roles/IDENTIFIER
    • Papéis personalizados no nível da organização: organizations/ORG_ID/roles/IDENTIFIER

    Para uma lista de papéis predefinidos, consulte Noções básicas sobre papéis.

  • PRINCIPAL_1, PRINCIPAL_2, ...PRINCIPAL_N: identificadores dos principais a que você quer conceder o papel.

    Os identificadores dos principais geralmente têm o seguinte formato: PRINCIPAL-TYPE:ID. Por exemplo, user:my-user@example.com. Para conferir uma lista completa dos valores que PRINCIPAL pode ter, consulte Identificadores principais.

    Para o tipo de principal user, o nome de domínio no identificador precisa ser do Google Workspace ou do Cloud Identity. Para saber como configurar um domínio do Cloud Identity, consulte a visão geral do Cloud Identity.

  • CONDITIONS: opcional. Todas as condições que especificam quando o acesso será concedido.

Conceder um papel

Para conceder papéis aos principais, modifique as vinculações de papéis na política. Para saber quais papéis é possível conceder, consulte Noções básicas sobre papéis ou Ver papéis atribuíveis para o recurso. Se você precisar de ajuda para identificar os papéis predefinidos mais apropriados, consulte Escolher papéis predefinidos.

Se preferir, use condições para conceder papéis somente quando determinados requisitos forem atendidos.

Para conceder um papel que já está incluído na política, adicione o principal a uma vinculação de papel:

gcloud

Edite a políticade permissão retornada adicionando o principal a uma vinculação de papel existente. Essa mudança só entrará em vigor quando você definir a política de permissão atualizada.

Por exemplo, imagine que a política de permissão contenha a seguinte vinculação de papel, que concede o papel de Administrador da instância do Compute (roles/compute.instanceAdmin) a Kai:

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

Para conceder esse mesmo papel a Raha, adicione o identificador principal de Raha à vinculação de papel existente:

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

REST

Edite a políticade permissão retornada adicionando o principal a uma vinculação de papel existente. Essa mudança só entrará em vigor quando você definir a política de permissão atualizada.

Por exemplo, imagine que a política de permissão contenha a seguinte vinculação de papel, que concede o papel de Administrador da instância do Compute (roles/compute.instanceAdmin) a Kai:

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

Para conceder esse mesmo papel a Raha, adicione o identificador principal de Raha à vinculação de papel existente:

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

Para conceder um papel que ainda não está incluído na política, adicione uma nova vinculação de papel:

gcloud

Edite a política retornada adicionando uma nova vinculação de papel que conceda o papel ao principal. Essa alteração não entrará em vigor até que você defina a política de permissão atualizada.

Por exemplo, para conceder o papel de administrador do balanceador de carga do Compute (roles/compute.loadBalancerAdmin) a Raha, adicione a seguinte vinculação de papel à matriz bindings da política de permissão:

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

REST

Edite a política retornada adicionando uma nova vinculação de papel que conceda o papel ao principal. Essa alteração não entrará em vigor até que você defina a política de permissão atualizada.

Por exemplo, para conceder o papel de administrador do balanceador de carga do Compute (roles/compute.loadBalancerAdmin) a Raha, adicione a seguinte vinculação de papel à matriz bindings da política de permissão:

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

Revogar um papel

Para revogar um papel, remova o principal da vinculação de papel. Se não houver outros principais na vinculação de papel, remova a vinculação inteira.

gcloud

Revogue um papel editando a política JSON ou YAML retornada pelo comando get-iam-policy. Essa alteração não entrará em vigor até que você defina a política de permissão atualizada.

Para revogar um papel de um principal, exclua os principais ou as vinculações da matriz bindings da política.

REST

Revogue um papel editando a política JSON ou YAML retornada pelo comando get-iam-policy. Essa alteração não entrará em vigor até que você defina a política de permissão atualizada.

Para revogar um papel de um principal, exclua os principais ou as vinculações da matriz bindings da política.

Definir a política de permissão

Depois de modificar a política para conceder e revogar os papéis desejados, chame setIamPolicy() para fazer as atualizações.

gcloud

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

O formato desse comando varia de acordo com o tipo de recurso que você está gerenciando o acesso. Para saber o formato do recurso, encontre a referência para o comando set-iam-policy do recurso na referência da Google Cloud CLI. Essa referência é organizada por serviço e por recurso. Por exemplo, para acessar a política de permissão de uma instância de VM do Compute Engine, siga o formato descrito na referência do gcloud compute instances set-iam-policy.

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 da solicitação dependem do recurso que você quer ver o acesso. Para encontrar esses detalhes, encontre a referência da API do serviço que possui o recurso e, em seguida, encontre a referência para o método setIamPolicy do recurso. Por exemplo, o método HTTP, o URL e o corpo da solicitação de uma instância VM do Compute Engine são especificados na referência setIamPolicyde instâncias.

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

A seguir

Faça um teste

Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.

Comece a usar gratuitamente