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 do Google 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 incluem os de proprietário, editor e visualizador que existiam antes da introdução do IAM.
  • 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:

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. 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

Papéis básicos são papéis altamente permissivos que existiam antes da introdução do IAM. Originalmente conhecidas como papéis primários. É possível usar papéis básicos para conceder aos principais acesso amplo aos recursos do Google Cloud.

Quando você concede um papel básico a um principal, ele recebe todas as permissões no papel básico. Ele também recebe todas as permissões que os serviços fornecem aos principais com papéis básicos, 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 os papéis básicos concedem aos usuários em todos os serviços do Google Cloud:

Papéis básicos 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 confidenciais, como a criação de aplicativos do App 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 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 Proprietário, consulte os detalhes do papel no Console do Google Cloud:

Acessar a função de proprietário

É possível conceder papéis básicos com o Console do Google Cloud, a API e a CLI gcloud. No entanto, para conceder o papel de proprietário em um projeto a um usuário fora da organização, você precisa usar o Console do Google Cloud, não a CLI gcloud. Se o projeto não fizer parte de uma organização, use o Console do Google Cloud para conceder o papel de Proprietário.

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

Papéis predefinidos

Além dos papéis básicos, o IAM fornece 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 apropriados, consulte Escolher papéis predefinidos.

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.

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.

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.

Um papel personalizado no nível da organização pode incluir qualquer uma das permissões do IAM com suporte a papéis personalizados. 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 hierarquia de recursos do Google Cloud. 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.

Quando usar papéis personalizados

Na maioria das situações, é possível usar papéis predefinidos em vez de papéis personalizados. Os papéis predefinidos são mantidos pelo Google e atualizados automaticamente quando novos recursos, permissões ou serviços são adicionados ao Google Cloud. Já os papéis personalizados não são mantidos pelo Google. quando o Google Cloud adiciona novas permissões, recursos ou serviços, os papéis personalizados não são atualizados automaticamente.

No entanto, você pode criar um papel personalizado nas seguintes situações:

  • Um principal precisa de uma permissão, mas cada papel predefinido que inclui essa permissão também inclui permissões que o principal não precisa e não deve ter.
  • Use recomendações de papel para substituir concessões de papel excessivamente permissivas por concessões de papel mais apropriadas. Em alguns casos, é possível que você receba uma recomendação para criar um papel personalizado.

Lembre-se também dos seguintes limites:

  • Os papéis personalizados podem ter até 3.000 permissões. Além disso, o tamanho total máximo do título, da descrição e dos nomes de permissão de um papel personalizado é de 64 KB.
  • Há limites para o número de funções personalizadas que você pode criar:

    • É possível criar até 300 papéis personalizados no nível da organização
    • É possível criar até 300 papéis personalizados no nível do projeto em cada projeto na sua organização.

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 do Google 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 do Google Cloud que não têm disponibilidade geral.
  • 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 do Google Cloud faz isso automaticamente quando você usa o console do 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