Papéis e permissões

Nesta página, descrevemos os papéis do Identity and Access Management (IAM), que são coleções de permissões do IAM.

Um papel contém um conjunto de permissões que permitem realizar ações específicas nos recursos doGoogle Cloud . Para disponibilizar as permissões aos principais, incluindo usuários, grupos e contas de serviço, conceda papéis aos principais.

Antes de começar

Tipos de papel

Existem três tipos de papéis no IAM:

  • Papéis básicos, que oferecem acesso amplo aos recursos do Google Cloud .
  • Papéis predefinidos, que fornecem acesso granular a um serviço específico e são gerenciados pelo Google Cloud.
  • Papéis personalizados, que fornecem acesso granular de acordo com uma lista de permissões especificada pelo usuário.

Para determinar se uma permissão está incluída em um papel básico, predefinido ou personalizado, use um dos métodos a seguir:

Para orientações sobre quando usar tipos de função específicos, consulte Escolher o tipo de função a ser usado.

Componentes do papel

Cada papel tem os seguintes componentes:

  • Título: um nome legível para o papel. O título do papel é usado para identificar o papel no console do Google Cloud .
  • Nome: é um identificador para o papel em 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

    O nome do papel é usado para identificar o papel nas políticas de permissão.

  • ID: um identificador exclusivo do papel. Para papéis básicos e predefinidos, o ID é igual ao nome do papel. Para papéis personalizados, o ID é tudo o que vem depois de roles/ no nome do papel.

  • Descrição: uma descrição do papel legível.

  • Estágio: a etapa do papel no ciclo de vida do lançamento, como ALPHA, BETA ou GA. Para saber mais sobre as etapas de lançamento, consulte Como testar e implantar.

  • Permissões: as permissões incluídas no papel. Com elas, os membros podem realizar ações específicas nos recursos do Google Cloud . Quando você concede um papel a um principal, ele recebe todas as permissões no papel.

    As permissões têm o seguinte formato:

    SERVICE.RESOURCE.VERB
    

    Por exemplo, a permissão compute.instances.list permite que um usuário liste as instâncias do Compute Engine que ele possui e compute.instances.stop permite que um usuário interrompa uma VM.

    Geralmente, a correspondência entre as permissões e os métodos REST é de 1:1, mas nem sempre. Ou seja, cada serviço do Google Cloud tem uma permissão associada para cada método REST que ele inclui. Para chamar um método, o autor da chamada precisa da permissão associada. Por exemplo, para chamar o método projects.topics.publish da API Pub/Sub, você precisa da permissão pubsub.topics.publish.

  • ETag: um identificador da versão do papel para ajudar a evitar que atualizações simultâneas substituam-se. Os papéis básicos e predefinidos sempre têm a ETag AA==. As ETags para papéis personalizados mudam cada vez que você os modifica.

Papéis básicos

Os papéis básicos são altamente permissivos e dão acesso amplo aos recursos do Google Cloud .

Os papéis básicos do IAM são Administrador (roles/admin), Gravador (roles/writer) e Leitor (roles/reader). O IAM também tem três papéis básicos legados que existiam antes da introdução do IAM: Proprietário (roles/owner), Editor (roles/editor) e Leitor (roles/viewer). Para saber mais sobre esses papéis, consulte Papéis básicos legados nesta página.

A tabela a seguir resume as permissões que os papéis Administrador, Gravador e Leitor concedem a principais em todos os serviços do Google Cloud :

Papel básico Permissões
Leitor (roles/reader)

Permissões para ações somente leitura que não afetam o estado, como visualizar (mas não modificar) recursos ou dados existentes.

Para ver uma lista de permissões no papel de Leitor, consulte os detalhes do papel no console do Google Cloud :

Acessar a função de leitor

Gravador (roles/writer)

Todas as permissões do papel de leitor, além das permissões para ações que modificam o estado, como a alteração de recursos atuais.

As permissões no papel de gravador permitem criar e excluir recursos para a maioria dos serviços do Google Cloud . No entanto, o papel de gravador não contém permissões para executar todas as ações de todos os serviços. Para mais informações sobre como verificar se um papel tem as permissões necessárias, consulte Tipos de papel nesta página.

Para ver uma lista de permissões no papel de Gravador, consulte os detalhes do papel no console do Google Cloud :

Acessar a função de gravador

Administrador (roles/admin)

Todas as permissões do papel de gravador, além das permissões para ações como as seguintes:

  • concluir tarefas sensíveis, como gerenciar vinculações de tags para recursos do Compute Engine
  • Gerenciar papéis e permissões para um projeto e todos os recursos dentro dele
  • Como configurar o faturamento de um projeto

O papel de administrador não contém todas as permissões para todos os recursos do Google Cloud . Por exemplo, ela não contém permissões para modificar suas informações de pagamento do Cloud Billing ou criar políticas de negação do IAM.

Para ver uma lista de permissões no papel de administrador, consulte os detalhes do papel no console do Google Cloud :

Acessar a função de administrador

Não é possível usar o console Google Cloud para conceder as funções de leitor, gravador ou administrador. Em vez disso, use a API ou a CLI gcloud. Você também pode criar direitos para essas funções usando o Privileged Access Manager.

Para instruções, consulte Como conceder, alterar e revogar acesso.

Papéis básicos legados

Os papéis básicos legados existiam antes da introdução do IAM. Originalmente conhecidas como papéis primários. Ao contrário de outros papéis básicos, não é possível adicionar condições às vinculações de papéis básicos legados.

Os papéis básicos legados são Proprietário (roles/owner), Editor (roles/editor) e Leitor (roles/viewer).

Quando você concede um papel básico legado a um principal, ele recebe todas as permissões no papel. O principal também recebe todas as permissões que os serviços fornecem aos principais com papéis básicos legados, por exemplo, permissões concedidas aos valores de conveniência do Cloud Storage e à associação ao grupo especial do BigQuery.

A tabela a seguir resume as permissões que as funções básicas legadas concedem a principais em todos os serviços do Google Cloud :

Papel básico legado Permissões
Leitor (roles/viewer)

Permissões para ações somente leitura que não afetam o estado, como visualizar (mas não modificar) recursos ou dados existentes.

Para ver uma lista de permissões no papel Leitor, consulte os detalhes do papel no console do Google Cloud :

Acessar a função de leitor

Editor (roles/editor)

Todas as permissões de leitor e permissões para ações que modificam o estado, como a alteração de recursos existentes.

As permissões no papel de Editor permitem criar e excluir recursos para a maioria dos serviços do Google Cloud . No entanto, o papel de Editor não contém permissões para executar todas as ações de todos os serviços. Para mais informações sobre como verificar se um papel tem as permissões necessárias, consulte Tipos de papel nesta página.

Para ver uma lista de permissões no papel de Editor, consulte os detalhes do papel no console do Google Cloud :

Acessar a função de editor

Proprietário (roles/owner)

Todas as permissões de Editor, além das permissões para as seguintes ações:

  • concluir tarefas sensíveis, como gerenciar vinculações de tags para recursos do Compute Engine
  • Gerenciar papéis e permissões para um projeto e todos os recursos dentro dele
  • Como configurar o faturamento de um projeto

O papel de proprietário não contém todas as permissões para todos os recursos Google Cloud . Por exemplo, ela não contém permissões para modificar suas informações de pagamento do Cloud Billing ou criar políticas de negação do IAM.

Para ver uma lista de permissões no papel de Proprietário, consulte os detalhes do papel no console do Google Cloud :

Acessar a função de proprietário

Em geral, é possível conceder papéis básicos legados usando o console do Google Cloud , a API ou a CLI gcloud. No entanto, você precisa usar o console Google Cloud para conceder a função de proprietário nas seguintes situações:

  • O usuário a quem você está concedendo a função de proprietário não faz parte da sua organização.
  • O projeto em que você está concedendo o papel de proprietário não faz parte de nenhuma organização.

Além disso, só é possível conceder a função de proprietário aos seguintes tipos de principais:

  • Contas do Google
  • Contas de serviço na sua organização
  • Grupos do Google na sua organização

Para saber como conceder papéis, consulte Conceder, alterar e revogar acesso.

Papéis predefinidos

Além dos papéis básicos, o IAM oferece papéis predefinidos adicionais que dão acesso granular a recursos específicos do Google Cloud. Esses papéis são criados e mantidos pelo Google. O Google atualiza automaticamente as permissões conforme necessário, como quando o Google Cloud adiciona novos recursos ou serviços.

É possível conceder vários papéis ao mesmo usuário, em qualquer nível da hierarquia de recursos. Por exemplo: é possível que o mesmo usuário tenha os papéis de administrador de rede do Compute e de visualizador de registros em um projeto, além do papel de editor do Pub/Sub em um tópico do Pub/Sub nesse projeto. Para listar as permissões contidas em um papel, consulte Como obter os metadados do papel.

Para receber ajuda para escolher os papéis predefinidos mais adequados, consulte Encontrar os papéis predefinidos certos.

Para ver uma lista de papéis predefinidos, consulte a referência de papéis.

Papéis personalizados

O IAM também permite criar papéis de IAM personalizados. Os papéis personalizados ajudam a aplicar o princípio do privilégio mínimo, porque eles ajudam a garantir que os membros da organização tenham apenas as permissões necessárias.

Os papéis personalizados são definidos pelo usuário e permitem agrupar uma ou mais permissões compatíveis para atender a necessidades específicas. Ao criar um papel personalizado, é necessário escolher uma organização ou um projeto para criá-lo neles. E depois conceder o papel personalizado na organização ou no projeto, bem como os recursos dentro deles. É possível criar apenas 300 por organização e 300 por projeto.

Só é possível conceder um papel personalizado no projeto ou na organização em que ele foi criado. Não é possível conceder papéis personalizados em outros projetos ou organizações nem em recursos dentro de outros projetos ou organizações.

Você cria um papel personalizado combinando uma ou mais das permissões do IAM disponíveis. Para saber como criar um papel personalizado, consulte Criar e gerenciar papéis personalizados.

Permissões compatíveis

É possível incluir várias, mas não todas, permissões de IAM em papéis personalizados. Cada permissão tem um dos seguintes níveis de suporte para uso em papéis personalizados:

Nível de suporte Descrição
SUPPORTED A permissão é totalmente compatível com papéis personalizados.
TESTING O Google está testando a permissão para verificar o suporte a papéis personalizados. É possível incluir a permissão em papéis personalizados, mas talvez você veja um comportamento inesperado. Isso não é recomendado para uso em produção.
NOT_SUPPORTED A permissão não é compatível com papéis personalizados.

Para conferir uma lista completa das permissões compatíveis com papéis personalizados, consulte Níveis de suporte para permissões em papéis personalizados.

Um papel personalizado no nível da organização pode incluir qualquer uma das permissões do IAM com suporte. Um papel personalizado no nível do projeto pode conter qualquer permissão compatível, exceto as permissões que só podem ser usadas no nível da organização ou da pasta.

Não é possível incluir permissões específicas de pasta e organização nos papéis para envolvidos no projeto porque eles não fazem nada quando concedidos no nível do projeto. Isso ocorre porque os recursos no Google Cloud são organizados hierarquicamente. As permissões são herdadas pela hierarquia de recursos, o que significa que são eficazes para o recurso e todos os descendentes dele. No entanto, as organizações e pastas estão sempre acima dos projetos na Google Cloud hierarquia de recursos. Como resultado, você nunca poderá usar uma permissão que recebeu no nível do projeto para acessar pastas ou organizações. Consequentemente, as permissões específicas da pasta e da organização, por exemplo, resourcemanager.folders.list, são ineficazes para os papéis personalizados no nível do projeto.

Dependências da permissão

Algumas permissões só são eficazes quando concedidas em conjunto. Por exemplo, para atualizar uma política de permissão, leia a política antes de modificá-la e gravá-la. Consequentemente, para atualizar uma política de permissão, você quase sempre precisa da permissão getIamPolicy para esse tipo de recurso e serviço, além da permissão setIamPolicy.

Para garantir que os papéis personalizados sejam eficazes, é possível criá-los com base em papéis predefinidos com permissões semelhantes. Os papéis predefinidos são projetados com tarefas específicas em mente e contêm todas as permissões necessárias para realizar essas tarefas. A análise desses papéis pode ajudar você a ver quais permissões geralmente são concedidas em conjunto. Em seguida, é possível usar essas informações para criar papéis personalizados eficazes.

Para saber como criar um papel personalizado com base em um papel predefinido, consulte Como criar e gerenciar papéis personalizados.

Ciclo de vida dos papéis personalizados

As seções a seguir descrevem as principais considerações em cada fase do ciclo de vida de um papel personalizado. É possível usar essas informações para informar como criar e gerenciar papéis personalizados.

Criação

Ao criar um papel personalizado, escolha um código, título e descrição para ajudar você a identificá-lo:

  • ID do papel: é um identificador exclusivo para o papel. Ele pode ter até 64 bytes de comprimento e pode conter caracteres alfanuméricos maiúsculos e minúsculos, sublinhados e pontos. Não é possível reutilizar um ID de papel em uma organização ou projeto.

    Não é possível alterar os IDs dos papéis, então escolha-os com cuidado. É possível excluir um papel personalizado, mas não criar um novo com o mesmo código na mesma organização ou projeto até que o processo de exclusão de 44 dias seja concluído. Para mais informações sobre o processo de exclusão, consulte Como excluir um papel personalizado.

  • Título do papel: o título do papel aparece na lista de papéis no console doGoogle Cloud . O título não precisa ser exclusivo, mas recomendamos o uso de títulos exclusivos e descritivos para distinguir melhor seus papéis. Além disso, considere indicar no título do papel se ele foi criado no nível da organização ou do projeto.

    Os títulos dos papéis podem ter até 100 bytes e conter caracteres alfanuméricos maiúsculos e minúsculos e símbolos. É possível alterar os títulos dos papéis a qualquer momento.

  • Descrição do papel: é um campo opcional para fornecer mais informações sobre um papel. Por exemplo, é possível incluir a finalidade pretendida do papel, a data em que um papel foi criado ou modificado e quaisquer papéis predefinidos em que o papel personalizado se baseia. As descrições podem ter até 300 caracteres e conter caracteres alfanuméricos maiúsculos e minúsculos e símbolos.

Lembre-se também das dependências de permissão ao criar papéis personalizados.

Para saber como criar um papel personalizado com base em um papel predefinido, consulte Como criar e gerenciar papéis personalizados.

Lançamento

Os papéis personalizados incluem uma etapa de lançamento como parte dos metadados do papel. Os estágios de lançamento mais comuns para papéis personalizados ativos são ALPHA, BETA e GA. Esses estágios de lançamento são informativos. Eles ajudam a monitorar se cada função está pronta para uso geral. Outro estágio comum de lançamento é o DISABLED. Essa etapa do lançamento permite desativar um papel personalizado.

Recomendamos que você use estágios de lançamento para transmitir as seguintes informações sobre o papel:

  • EAP ou ALPHA: o papel ainda está sendo desenvolvido ou testado ou inclui permissões para serviços ou recursos do Google Cloud que ainda não são públicos. Ele não está pronto para uso geral.
  • BETA: o papel foi testado de maneira limitada ou inclui permissões para serviços ou recursos do Google Cloud que não têm disponibilidade geral.
  • GA: o papel foi amplamente testado, e todas as permissões dele são para serviços ou recursos doGoogle Cloud que estão geralmente disponíveis.
  • DEPRECATED: o papel não está mais em uso.

Para saber como alterar esse estágio, consulte Como editar um papel personalizado atual.

Manutenção

Você é responsável por manter os papéis personalizados. Isso inclui atualizar papéis conforme as responsabilidades dos usuários mudam, bem como atualizar papéis para que os usuários acessem novos recursos que exigem permissões adicionais.

Se você baseia seu papel personalizado em papéis predefinidos, recomendamos verificar rotineiramente esses papéis predefinidos quanto a alterações de permissão. O rastreamento dessas alterações pode ajudar você a decidir quando e como atualizar seu papel personalizado. Por exemplo, é possível observar que um papel predefinido foi atualizado com permissões para usar um novo recurso de visualização e também pode adicionar essas permissões ao seu papel personalizado.

Para facilitar a visualização dos papéis predefinidos que serão monitorados, recomendamos listar os papéis predefinidos no campo de descrição do papel personalizado. O console Google Cloud faz isso automaticamente quando você usa o console Google Cloud para criar um papel personalizado com base em papéis predefinidos.

Para saber como atualizar as permissões e a descrição de um papel personalizado, consulte Como editar um papel personalizado atual.

Consulte o registro de alterações de permissões para determinar quais papéis e permissões foram alterados recentemente.

Desativando

Se você não quer mais que principais na sua organização usem um papel personalizado, é possível desativá-lo. Para desativar o papel, altere o estágio de lançamento para DISABLED.

Os papéis desativados ainda aparecem nas políticas do IAM e podem ser concedidos aos principais, mas não têm efeito.

Para saber como desativar um papel personalizado, consulte Como desativar um papel personalizado.

A seguir