O Google Cloud oferece o Gerenciamento de acesso e identidade (IAM Identity and Access Management), 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.
Por meio da definição de políticas do IAM, é possível atribuir papéis aos usuários para que eles acessem recursos específicos. As políticas de IAM concedem papéis específicos a um usuário, dando a ele certas permissões.
Esta página explica os papéis do IAM disponíveis no nível da pasta e como criar e gerenciar políticas do IAM para pastas que usam a API Cloud Resource Manager. Para uma descrição detalhada do IAM, leia a documentação do IAM. Em particular, consulte Como conceder, alterar e revogar acesso.
Visão geral dos papéis do IAM para pastas
Para ajudá-lo a configurar os papéis do IAM, a tabela a seguir lista:
- o tipo das ações que você quer ativar;
- os papéis necessários para realizar essas ações;
- o nível de recurso no qual você precisa aplicar esses papéis.
Tipo de ações | Papéis necessários | Nível do recurso |
---|---|---|
Administrar pastas no recurso da organização | Administrador de pastas | Recurso da organização |
Administrar uma pasta e todos os projetos e pastas que ela contém | Administrador de pastas | Pasta específica |
Acessar e administrar as políticas do IAM de uma pasta | Administrador de pastas do IAM | Pasta específica |
Criar novas pastas | Criador de pastas | Recurso pai no local das novas pastas |
Mover pastas e projetos | Transportador de pastas | Recurso pai do local original e do novo local da pasta |
Mover um projeto para uma nova pasta | Editor de projetos ou Proprietário do projeto | Recurso pai do local original e do novo local do projeto |
Excluir uma pasta | Editor de pastas ou Administrador de pastas | Pasta específica |
Melhores práticas para usar os papéis e permissões do IAM com pastas
Ao atribuir papéis e permissões do IAM para uso com pastas, lembre-se disso:
- Use grupos sempre que possível para gerenciar membros.
- Minimize o uso de papéis básicos, como proprietário, editor e visualizador. Em vez disso, tente usar os papéis predefinidos para o princípio do menor privilégio.
- Para o gerenciamento de toda a pasta, atribua permissões no nível da pasta e faça os projetos herdá-las automaticamente. Por exemplo, você pode atribuir a um grupo de administrador de departamento o papel Administrador de pastas na pasta. Os administradores de rede que precisam ter permissões em todo o departamento podem ter o papel Administrador de rede na pasta.
- Considere cuidadosamente quais permissões podem mudar antes de mover um recurso de uma pasta. Caso contrário, você corre o risco de corromper aplicativos atuais ou fluxos de trabalho que exigem essas permissões para o recurso.
- Planeje e teste cuidadosamente sua hierarquia de recursos antes de mover projetos de produção para pastas. Uma maneira de fazer isso é criar uma pasta de teste sob o recurso da organização e criar um modelo prévio da hierarquia pretendida.
- A concessão de um papel a um usuário no nível da pasta dará esse papel
a ele para todos os recursos nas pastas abaixo. Por exemplo, se você conceder
a um usuário o papel de Administrador do Compute (
roles/compute.admin
) em uma pasta, esse usuário terá controle total de todos os recursos do Compute Engine em cada projeto na pasta.
Noções básicas sobre papéis e permissões de pastas
Funções padrão
Ao criar uma pasta, você recebe as funções de Administrador de pasta e Editor de pasta para, como seu criador, ter controle total sobre ela. Veja abaixo as permissões que terá com essas funções. Esses papéis padrão podem ser alterados normalmente em uma política do IAM.
Como usar papéis predefinidos
Papel | Permissões |
---|---|
Administrador de pastas( Concede todas as permissões disponíveis para trabalhar com pastas. Recursos de nível mais baixo em que você pode conceder esse papel:
|
|
Administrador de pastas do IAM( Concede permissões para administrar as políticas do IAM em pastas. Recursos de nível mais baixo em que você pode conceder esse papel:
|
|
Criador de pastas( Concede permissões necessárias para navegar na hierarquia e criar pastas. Recursos de nível mais baixo em que você pode conceder esse papel:
|
|
Editor de pastas( Concede permissão para modificar pastas, bem como para visualizar a política do IAM de uma pasta. Recursos de nível mais baixo em que você pode conceder esse papel:
|
|
Transportador de pastas( Concede permissões para mover projetos e pastas para dentro e para fora de uma organização ou pasta mãe. Recursos de nível mais baixo em que você pode conceder esse papel:
|
|
Leitor de pastas( Concede permissão para acessar uma pasta e listar as pastas e os projetos abaixo de um recurso. Recursos de nível mais baixo em que você pode conceder esse papel:
|
|
Como criar papéis personalizados
Além dos papéis predefinidos descritos neste tópico, é possível criar papéis personalizados, que são coleções de permissões que você adapta de acordo com suas necessidades. Ao criar uma função personalizada para usar com o Gerenciador de Recursos, lembre-se 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 deve incluirprojects.list
eprojects.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.
Como atribuir papéis para ativar a procura nas pastas
As permissões de lista permitem a procura nas pastas. Os dois tipos de permissões de lista que normalmente precisam ser concedidos são resourcemanager.folders.list
, que permite aos usuários listar pastas em um recurso, e resourcemanager.projects.list
, que permite aos usuários procurar projetos em um recurso ou pasta da organização. O papel Administrador de organização é inicializado com as duas permissões. Para usuários que não receberam o papel Administrador de organização:
resourcemanager.folders.list
pode ser concedido pelos papéis Visualizador de pastas e no Editor de pastas.resourcemanager.projects.list
pode ser concedido pelos papéis Visualizador ou Navegador.
Para que os membros do recurso da organização naveguem por toda a hierarquia do recurso da organização, as permissões de lista precisam ser concedidas no nível do recurso da organização.
Como atribuir papéis para ativar a criação de pastas
Os usuários que têm necessidade de criar pastas precisam ter o papel Criador de pastas em um recurso na hierarquia acima do nível em que elas serão criadas. Pode ser útil conceder permissões de procura juntamente com permissões de criação de pastas para que os usuários possam procurar efetivamente até onde a pasta será criada na hierarquia. Consulte a seção acima para saber mais sobre permissões de procura.
Com o papel Criador de pastas, o usuário não tem permissão para excluir uma pasta. No entanto, quando uma pessoa cria uma pasta, ela recebe automaticamente o papel Editor de pastas. O papel Editor de pastas permite que pastas sejam excluídas.
Como atribuir papéis para ativar o movimento de pastas
Para mover uma pasta de um recurso pai para outro, os usuários precisam ter o papel Transportador de pastas em recursos pai antigos e novos ou em um ancestral comum.
Como atribuir papéis para permitir a movimentação de projetos
Para mover um projeto para uma pasta, os usuários precisam ter os papéis Editor de projetos ou Proprietário do projeto no projeto e Transportador de projetos nos recursos pai de origem e de destino.
Isso é um pouco diferente dos requisitos para mover um projeto que não é da organização para o recurso da organização, em que os usuários precisam ter o papel Editor do projeto ou Proprietário do projeto no projeto e o papel Criador de projetos no recurso da organização.
Como conceder papéis específicos de pasta para ativar a criação do projeto
Para criar projetos, os usuários precisam ter a função Criador de projetos. No entanto, em vez de conceder essa permissão em toda a organização, recomendamos que você restrinja a criação e visualização de projetos do usuário a apenas uma determinada pasta.
Para conceder permissões específicas de pasta:
- Conceda ao usuário o papel Visualizador da organização no nível do Org Node. Por exemplo, domain.com.
- Crie uma nova pasta.
- Adicione o usuário ao IAM no nível da pasta e conceda a ele os papéis Visualizador de pastas e Criador de projetos.
Isso permite que o usuário crie projetos na própria pasta sem que ele tenha acesso a todos os projetos no recurso da organização.