É possível usar papéis do Identity and Access Management (IAM) no nível da pasta para gerenciar o acesso em grupos de projetos e recursos. Os papéis no nível da pasta ajudam a aplicar o princípio de privilégio mínimo na hierarquia de recursos ao vincular papéis a principais em políticas de permissão.
Use a API Cloud Resource Manager para criar e gerenciar políticas de permissão ou aplicar políticas de negação para bloquear explicitamente permissões específicas. Para configurar um novo ambiente e conceder acesso inicial, siga a lista de verificação de configuração doCloud de Confiance by S3NS . Para gerenciar o acesso contínuo, consulte Gerenciar o acesso a projetos, pastas e organizações.
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 de ação que você quer ativar.
- Os papéis necessários para realizar essas ações.
- O nível de recurso em que 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 de permissão 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 de privilégio mínimo.
- 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 da rede que precisam ter permissões para todo o departamento podem ter o papel de Administrador de rede para a 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 no recurso da organização e um protótipo da hierarquia pretendida com antecedência.
- 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.
Entender os papéis e as permissões de pastas
As pastas funcionam como limites administrativos na organização, permitindo que você agrupe projetos e aplique políticas em grande escala. O acesso a essas pastas é gerenciado por uma combinação de permissões herdadas da organização e papéis concedidos diretamente no nível da pasta.
Papéis padrão
Ao criar uma pasta, você recebe os papéis de Administrador de pastas e Editor de pastas, que dão controle total. Consulte a tabela a seguir para ver as permissões que esses papéis fornecem. É possível mudar esses papéis padrão em uma política de permissão.
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, 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.listefolders.get, ele também precisa incluirprojects.listeprojects.get. - A permissão
setIamPolicypara 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.
Conceder papéis para ativar a navegação em pastas
As permissões de lista permitem a procura nas pastas. Os dois tipos de permissões de lista que
normalmente precisam ser concedidas são resourcemanager.folders.list, que permite
aos usuários listar pastas em um recurso, e resourcemanager.projects.list,
que permite aos usuários navegar por projetos em um recurso ou pasta da organização. O
administrador da organização é inicializado com as duas permissões. Para
usuários que não receberam o papel de Administrador da organização:
resourcemanager.folders.listpode ser concedida usando os papéis Leitor de pastas e Editor de pastas.resourcemanager.projects.listpode ser concedido usando os papéis Leitor ou Navegador.
Para que os principais de recursos da organização naveguem por toda a hierarquia de recursos da organização, as permissões de listagem precisam ser concedidas no nível do recurso da organização.
Conceder papéis para permitir 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.
Conceder papéis para permitir a movimentação 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.
Conceder 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 pertence à organização para o recurso de organização, em que os usuários precisam ter o papel de Editor do projeto ou Proprietário do projeto no projeto e o papel de Criador do projeto no recurso de organização.
Conceder papéis específicos da pasta para permitir a criação de projetos
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 de Leitor da organização no nível do recurso da organização (por exemplo, domain.com). No console do Cloud de Confiance , selecione o recurso da organização no seletor de projetos e organizações na parte de cima da página ou clique no seu domínio na coluna Herança na página IAM.
- Criar uma nova pasta.
- Adicione o usuário ao IAM no nível da pasta e conceda a ele os papéis de Leitor de pastas e Criador de projetos.
Isso permite que o usuário crie projetos na pasta sem conceder a ele visibilidade de todos os projetos no recurso da organização maior.