Controle de acesso para projetos com IAM

O Identity and Access Management (IAM) permite conceder acesso granular a recursos específicos do Cloud de Confiance by S3NS e impedir o acesso indesejado a outros. Esse modelo ajuda você a adotar o princípio de privilégio mínimo, que ajuda a garantir que você conceda apenas o acesso necessário aos recursos.

Ao definir políticas de permissão, você controla quem (usuários) tem qual acesso (papéis) a quais recursos. Para gerenciar o acesso a projetos, configure papéis e permissões do IAM ou use políticas de negação para impedir que os principais usem permissões específicas. Para mais informações, consulte Gerenciar o acesso a projetos, pastas e organizações.

Se você está começando a usar o Cloud de Confiance, pode estabelecer sua hierarquia de recursos e conceder acesso inicial como parte do processo de configuração doCloud de Confiance .

Permissões e papéis

Para controlar o acesso aos recursos,o Cloud de Confiance by S3NS exige que as contas que fazem solicitações de API tenham os papéis do IAM apropriados. Os papéis do IAM incluem permissões que permitem aos usuários realizar ações específicas em recursos doCloud de Confiance . Por exemplo, a permissão resourcemanager.projects.delete permite que um usuário exclua um projeto.

Você não concede permissões diretamente aos usuários, você atribui a eles papéis com uma ou mais permissões agrupadas. Você concede esses papéis em um recurso específico, mas eles também se aplicam a todos os descendentes desse recurso na hierarquia de recursos.

Permissões

Para gerenciar projetos, o autor da chamada precisa ter um papel que inclua as seguintes permissões. O papel é concedido no recurso da organização ou na pasta que contém os projetos:

Método Permissões necessárias
resourcemanager.projects.create resourcemanager.projects.create
resourcemanager.projects.delete resourcemanager.projects.delete
resourcemanager.projects.get resourcemanager.projects.get
Esta permissão também concede acesso para receber o nome da conta de faturamento associada ao projeto por meio do método da API Billing billing.projects.getBillingInfo
resourcemanager.projects.getIamPolicy resourcemanager.projects.getIamPolicy
resourcemanager.projects.list resourcemanager.projects.list
resourcemanager.projects.search resourcemanager.projects.get
resourcemanager.projects.setIamPolicy resourcemanager.projects.setIamPolicy
resourcemanager.projects.testIamPermissions Não requer permissões.
resourcemanager.projects.undelete resourcemanager.projects.undelete
resourcemanager.projects.patch Para atualizar os metadados de um projeto, é preciso ter a permissão resourcemanager.projects.update. Para atualizar o pai de um projeto e movê-lo para um recurso de organização, é preciso ter a permissão resourcemanager.projects.create no recurso de organização.
projects.move projects.move

Como usar papéis predefinidos

Os papéis predefinidos do IAM permitem gerenciar as permissões disponíveis para os usuários. Para uma lista completa dos papéis que podem ser concedidos no nível do projeto, consulte Noções básicas sobre papéis.

A tabela a seguir lista os papéis predefinidos que podem ser usados para conceder acesso a um projeto. Cada papel inclui uma descrição da finalidade e das permissões que contém.

Papel Permissões

(roles/resourcemanager.projectCreator)

Dá acesso para criar novos projetos. Quando um usuário cria um projeto, o papel de proprietário to é automaticamente atribuído a ele.

Recursos de nível mais baixo em que você pode conceder esse papel:

  • Pasta

resourcemanager.organizations.get

resourcemanager.projects.create

(roles/resourcemanager.projectDeleter)

Concede acesso para excluir projetos do Cloud de Confiance .

Recursos de nível mais baixo em que você pode conceder esse papel:

  • Projeto

resourcemanager.projects.delete

(roles/resourcemanager.projectMover)

Concede acesso para atualizar e mover projetos.

Recursos de nível mais baixo em que você pode conceder esse papel:

  • Projeto

resourcemanager.projects.get

resourcemanager.projects.move

resourcemanager.projects.update

(roles/resourcemanager.projectIamAdmin)

Concede permissões para administrar as políticas do IAM em projetos.

Recursos de nível mais baixo em que você pode conceder esse papel:

  • Projeto

iam.policybindings.*

  • iam.policybindings.get
  • iam.policybindings.list

resourcemanager.projects.createPolicyBinding

resourcemanager.projects.deletePolicyBinding

resourcemanager.projects.get

resourcemanager.projects.getIamPolicy

resourcemanager.projects.searchPolicyBindings

resourcemanager.projects.setIamPolicy

resourcemanager.projects.updatePolicyBinding

(roles/browser)

Acesso de leitura para navegar na hierarquia de um projeto, incluindo a pasta, a organização e a política de permissão. Este papel não inclui permissão para ver recursos no projeto.

Recursos de nível mais baixo em que você pode conceder esse papel:

  • Projeto

resourcemanager.folders.get

resourcemanager.folders.list

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.getIamPolicy

resourcemanager.projects.list

Papéis básicos

Use papéis básicos somente quando necessário. Esses papéis são altamente privilegiados e concedem permissões amplas em todos os serviços do Cloud de Confiance . Para mais informações sobre quando usar papéis básicos, consulte Papéis básicos.

Papel Descrição Permissões
roles/owner Acesso completo a todos os recursos. Todas as permissões para todos os recursos.
roles/editor Acesso de edição à maioria dos recursos. Acesso de criação e atualização para a maioria dos recursos.
roles/viewer Acesso de leitura à maioria dos recursos. Acesso de recebimento e listagem para a maioria dos recursos.

Como criar papéis personalizados

Além dos papéis predefinidos descritos neste tópico, também é possível criar papéis personalizados, que são coleções de permissões que você adapta às suas necessidades. Ao criar um papel personalizado para uso com o Resource Manager, esteja ciente dos seguintes pontos:
  • as permissões list e get, como resourcemanager.projects.get/list, devem sempre ser concedidas como um par;
  • Quando o papel personalizado inclui as permissões folders.list e folders.get, ele também precisa incluir projects.list e projects.get.
  • A permissão setIamPolicy para recursos de organização, pasta e projeto permite que o usuário conceda todas as outras permissões. Por isso, ela precisa ser atribuída com cuidado.

Controle de acesso no nível do projeto

É possível conceder papéis aos usuários no nível do projeto usando o Cloud de Confiance console, a API Cloud Resource Manager e a Google Cloud CLI. Para instruções, consulte Como conceder, alterar e revogar acesso.

Papéis padrão

Ao criar um projeto, você recebe o papel roles/owner, que dá controle total sobre o projeto. É possível mudar esse papel padrão em uma política de permissão.

VPC Service Controls

O VPC Service Controls pode fornecer mais segurança ao usar a API Cloud Resource Manager. Para saber mais sobre o VPC Service Controls, consulte a visão geral sobre ele.

Para saber mais sobre as limitações atuais do uso do Resource Manager com o VPC Service Controls, consulte a página de produtos e limitações compatíveis.