O Google Cloud oferece o gerenciamento de identidade e acesso (IAM), que permite a concessão de acesso mais granular a recursos específicos do Google Cloud e impede o acesso indesejado a outros recursos. Com o IAM, é possível adotar o princípio de segurança do menor privilégio para conceder apenas o acesso necessário aos recursos.
O IAM permite controlar quem (usuários) tem quais acessos (papéis) a quais recursos, definindo políticas do IAM que concedem papéis específicos com determinadas permissões.
Nesta página, explicamos as permissões e os papéis do IAM que podem ser usados para gerenciar o acesso a projetos. Para uma descrição detalhada do IAM, leia a documentação do IAM. Consulte, especificamente, Como conceder, alterar e revogar acesso.
Permissões e papéis
Para controlar o acesso aos recursos, o Google Cloud exige que as contas que fazem solicitações de API
tenham papéis do IAM apropriados. Os papéis do IAM
incluem permissões que permitem que os usuários realizem ações específicas nos
recursos do Google Cloud. Por exemplo, a
permissão resourcemanager.organizations.list
permite que um usuário liste os
recursos da organização que tem, enquanto 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 permissões a seguir. 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 mover o projeto para um recurso da organização, é necessário ter
a permissão resourcemanager.projects.create no
recurso da organização. |
projects.move |
projects.move |
Como usar papéis predefinidos
Os papéis predefinidos do IAM permitem que você gerencie cuidadosamente o conjunto de permissões aos quais seus usuários têm acesso. 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 é possível usar para conceder acesso a um projeto. Cada papel inclui uma descrição do que ele faz e as respectivas permissões.
Papel | Permissões |
---|---|
Criador de projetos( Dá acesso para criar novos projetos. Depois que um usuário cria um projeto, o papel de proprietário é automaticamente atribuído a ele. |
resourcemanager. resourcemanager. |
Excluidor de projetos( Concede acesso para excluir projetos do Google Cloud. |
resourcemanager. |
Movedor de projetos( Concede acesso para atualizar e mover projetos. |
resourcemanager.projects.get resourcemanager.projects.move resourcemanager. |
Administrador de projetos do IAM( Concede permissões para administrar políticas de permissão em projetos. |
resourcemanager.projects.get resourcemanager. resourcemanager. |
Navegador( 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. |
resourcemanager.folders.get resourcemanager.folders.list resourcemanager. resourcemanager.projects.get resourcemanager. resourcemanager.projects.list |
Papéis básicos
Evite usar funções básicas, exceto quando for absolutamente necessário. Esses papéis são muito poderosos e incluem um grande número de permissões em todos os serviços do Google Cloud. Para mais detalhes 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. Eles são coleções de permissões adaptadas às suas necessidades. Ao criar um papel personalizado para usar 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 seu papel personalizado inclui as permissões
folders.list
efolders.get
, ele também precisa incluirprojects.list
eprojects.get
. - Esteja ciente de que a permissão
setIamPolicy
para recursos de organização, pasta e projeto permite que o usuário conceda todas as outras permissões e, portanto, 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 console do Google Cloud, a API Resource Manager e a Google Cloud CLI. Para mais instruções, consulte Como conceder, alterar e revogar acesso.
Papéis padrão
Ao criar um projeto, você recebe o papel roles/owner para, como seu criador, ter controle total do projeto. Esse papel padrão pode ser alterado normalmente em uma política do Cloud IAM.
VPC Service Controls
Controles de serviço VPC podem fornecer segurança adicional ao usar a API do Gerenciador de Recursos. Para saber mais sobre o VPC Service Controls, consulte a visão geral sobre ele.
Para saber mais sobre as limitações atuais no uso do Gerenciador de Recursos com os Controles de serviço VPC, consulte a página produtos e limitações suportados.