Princípios do IAM

No Identity and Access Management (IAM), você controla o acesso para principais. Um principal representa uma ou mais identidades autenticadas no Cloud de Confiance.

Usar principais nas políticas

Para usar principais nas suas políticas, faça o seguinte:

  1. Configure identidades que o Cloud de Confiance possa reconhecer. Configurar identidades é o processo de criar identidades que o Cloud de Confiance pode reconhecer. É possível configurar identidades para usuários e cargas de trabalho.

    Para saber como configurar identidades, consulte:

  2. Determine o identificador principal que você vai usar. O identificador principal é como você se refere a uma principal nas suas políticas. Esse identificador pode se referir a uma única identidade ou a um grupo de identidades.

    O formato usado para o identificador principal depende do seguinte:

    • O tipo de principal
    • O tipo de política em que você quer incluir o principal

    Para conferir o formato do identificador principal de cada tipo de participante em cada tipo de política, consulte Identificadores principais.

    Depois de saber o formato do identificador, você pode determinar o identificador exclusivo do principal com base nos atributos dele, como o endereço de e-mail.

  3. Inclua o identificador do principal na política. Adicione o principal à política, seguindo o formato dela.

    Para saber mais sobre os diferentes tipos de políticas no IAM, consulte Tipos de políticas.

Suporte para tipos de principais

Cada tipo de política do IAM é compatível com um subconjunto dos tipos de principais que o IAM aceita. Para conferir os tipos de principais compatíveis com cada tipo de política, consulte Identificadores de principais.

Tipos principais

A tabela a seguir descreve brevemente os diferentes tipos de principais compatíveis com o IAM. Para uma descrição detalhada e exemplos de como um tipo de principal pode aparecer quando usado em uma política, clique no nome do tipo de principal na tabela.

Tipo principal Descrição Principal único ou conjunto de principais Gerenciado pelo Google ou federado Suporte a tipos de políticas
Contas de serviço Uma conta usada por uma carga de trabalho de máquina em vez de uma pessoa. Principal único Gerenciada pelo Google

Os seguintes tipos de políticas são compatíveis com contas de serviço:

  • Permitir
  • Negar
Um conjunto de contas de serviço Todas as contas de serviço em um projeto, pasta ou organização. Conjunto de principais que contém contas de serviço. Gerenciada pelo Google

Os seguintes tipos de políticas são compatíveis com um conjunto de contas de serviço:

  • Permitir
  • Negar
Um conjunto de agentes de serviço Todas as contas serviço gerenciado pelo Google (agentes de serviço) associadas a um projeto, uma pasta ou uma organização. Conjunto de principais que contém agentes de serviço. Gerenciada pelo Google

Os seguintes tipos de políticas são compatíveis com um conjunto de agentes de serviço:

  • Negar

Os seguintes tipos de políticas não aceitam um conjunto de agentes de serviço:

  • Permitir
allAuthenticatedUsers Um identificador especial que representa todas as contas de serviço e usuários humanos na Internet que se autenticaram com uma Conta do Google.

Conjunto de principais que pode conter os seguintes tipos:

  • Contas do Google
  • Contas de serviço
  • Identidades da força de trabalho
  • Identidades de carga de trabalho
Gerenciada pelo Google

Os seguintes tipos de políticas são compatíveis com allAuthenticatedUsers para alguns recursos:

  • Permitir

Os seguintes tipos de política não aceitam allAuthenticatedUsers:

  • Negar
allUsers Um identificador especial que representa qualquer pessoa na Internet, autenticada ou não.

Conjunto de principais que pode conter os seguintes tipos:

  • Contas do Google
  • Contas de serviço
  • Identidades da força de trabalho
  • Identidades de carga de trabalho
Ambos

Os seguintes tipos de políticas são compatíveis com allUsers:

  • Permitir (para alguns recursos)
  • Negar
Uma única identidade em um pool de identidades de colaboradores Um usuário humano com uma identidade gerenciada por um IdP externo e federada usando a federação de identidade de colaboradores. Principal único Federada

Os seguintes tipos de política são compatíveis com uma única identidade em um pool de identidades de força de trabalho:

  • Permitir
  • Negar
Um conjunto de principais em um pool de identidades de colaboradores Um conjunto de usuários humanos com identidades gerenciadas por um IdP externo e federadas usando a federação de identidade de colaboradores. Conjunto de principais que contém identidades de colaboradores. Federada

Os seguintes tipos de políticas são compatíveis com um conjunto de principais em um pool de identidade de colaboradores:

  • Permitir
  • Negar
Um único principal em um pool de identidades da carga de trabalho Uma carga de trabalho (ou usuário da máquina) com uma identidade gerenciada por um IdP externo e federada usando a federação de identidade da carga de trabalho. Principal único Federada

Os seguintes tipos de política aceitam um único principal em um pool de identidades de carga de trabalho:

  • Permitir
  • Negar
Um conjunto de principais em um pool de identidades da carga de trabalho Um conjunto de cargas de trabalho (ou usuários de máquinas) com identidades gerenciadas por um IdP externo e federadas usando a federação de identidade da carga de trabalho. Conjunto de principais que contém identidades de carga de trabalho Federada

Os seguintes tipos de políticas aceitam um conjunto de principais em um pool de identidades de carga de trabalho:

  • Permitir
  • Negar
Um conjunto de pods do Google Kubernetes Engine Uma carga de trabalho (ou usuário da máquina) executada e federada pelo GKE. Conjunto de principais que pode conter uma ou mais identidades federadas de carga de trabalho Federada

Os seguintes tipos de políticas são compatíveis com pods do GKE:

  • Permitir

Os seguintes tipos de políticas não são compatíveis com pods do GKE:

  • Negar

As seções a seguir descrevem esses tipos principais em mais detalhes.

Contas de serviço

Uma conta de serviço é uma conta para uma carga de trabalho de aplicativo ou computação em vez de um usuário final individual. As contas de serviço podem ser divididas em contas de serviço gerenciadas pelo usuário e contas de serviço gerenciado pelo Google, chamadas de agentes de serviço:

  • Ao executar um código hospedado no Cloud de Confiance, especifique uma conta de serviço para usar como a identidade do aplicativo. Crie quantas contas de serviço gerenciado pelo usuário forem necessárias para representar os diferentes componentes lógicos do aplicativo.

  • Alguns serviços Cloud de Confiance precisam acessar seus recursos para agir em seu nome. O Google cria e gerencia agentes de serviço para atender a essa necessidade.

É possível fazer referência a contas de serviço e agentes de serviço das seguintes maneiras:

  • Uma única conta de serviço
  • Todas as contas de serviço em um projeto
  • Todos os agentes de serviço associados a um projeto.
  • Todas as contas de serviço em todos os projetos de uma pasta
  • Todos os agentes de serviço associados a uma pasta e seus descendentes
  • Todas as contas de serviço em todos os projetos de uma organização
  • Todos os agentes de serviço associados a uma organização e seus descendentes

Os exemplos a seguir mostram como identificar uma conta de serviço individual em diferentes tipos de políticas:

  • Uma conta de serviço em políticas de permissão: serviceAccount:my-service-account@my-project.s3ns.iam.gserviceaccount.com
  • Uma conta de serviço em políticas de negação: principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@my-project.s3ns.iam.gserviceaccount.com

Os exemplos a seguir mostram como identificar todas as contas de serviço de um projeto, pasta ou organização em diferentes tipos de políticas:

  • Todas as contas de serviço de um projeto em políticas de permissão: principalSet://cloudresourcemanager.googleapis.com/projects/123456789012/type/ServiceAccount
  • Todos os agentes de serviço associados a uma pasta em políticas de negação: principalSet://cloudresourcemanager.googleapis.com/folders/123456789012/type/ServiceAgent

Para saber mais sobre os formatos de identificadores principais, consulte Identificadores principais.

Para mais informações sobre contas de serviço, consulte as seguintes páginas:

allAuthenticatedUsers

O valor allAuthenticatedUsers é um identificador especial que representa todas as contas de serviço.

Esse tipo principal não inclui identidades federadas, que são gerenciadas por provedores de identidade externos (IdPs). Para incluir identidades federadas, use uma das seguintes opções:

Alguns tipos de recursos não são compatíveis com esse tipo principal.

allUsers

O valor allUsers é um identificador especial que representa qualquer pessoa que esteja na Internet, incluindo usuários autenticados e não autenticados.

Alguns tipos de recursos não são compatíveis com esse tipo principal.

Os exemplos a seguir mostram como o identificador allUsers pode aparecer em diferentes tipos de políticas:

  • Políticas de permissão em tipos de recursos compatíveis: allUsers
  • Políticas de negação: principalSet://goog/public:all

Para saber mais sobre os formatos de identificadores principais, consulte Identificadores principais.

As identidades federadas em um pool de Identidades de colaboradores

Um pool de identidades de colaboradores é um conjunto de identidades de usuário gerenciado por um IdP externo e federado usando a federação de identidade de colaboradores. É possível fazer referência a principais nesses pools das seguintes maneiras:

  • Uma única identidade em um pool de identidades da força de trabalho
  • Todas as identidades da força de trabalho em um grupo especificado
  • Todas as identidades da força de trabalho com um valor de atributo específico
  • Todas as identidades em um pool de identidade da força de trabalho

Os exemplos a seguir mostram como identificar pools de identidade da força de trabalho federada em diferentes tipos de políticas:

  • Uma única identidade em políticas de permissão: principal://iam.googleapis.com/locations/global/workforcePools/altostrat-contractors/subject/raha@altostrat.com
  • Um grupo de identidades em políticas de negação: principalSet://iam.googleapis.com/locations/global/workforcePools/altostrat-contractors/group/administrators-group@altostrat.com

Para saber mais sobre os formatos de identificadores principais, consulte Identificadores principais.

Identidades federadas em um pool de Identidade da carga de trabalho.

Um pool de identidade da carga de trabalho é um conjunto de identidades da carga de trabalho gerenciado por um IdP externo e federado usando a federação de identidade da carga de trabalho. É possível fazer referência a principais nesses pools das seguintes maneiras:

  • Uma única identidade em um pool de Identidade da carga de trabalho
  • Todas as identidades da carga de trabalho em um grupo especificado
  • Todas as identidades da carga de trabalho com um valor de atributo específico
  • Todas as identidades em um pool de Identidade da carga de trabalho

Os exemplos a seguir mostram como identificar pools de identidades de carga de trabalho federadas em diferentes tipos de políticas:

  • Uma única identidade em políticas de permissão: principal://iam.googleapis.com/projects/123456789012/locations/global/workloadIdentityPools/altostrat-contractors/subject/raha@altostrat.com
  • Um grupo de identidades em políticas de negação: principalSet://iam.googleapis.com/projects/123456789012/locations/global/workloadIdentityPools/altostrat-contractors/group/administrators-group@altostrat.com

Para saber mais sobre os formatos de identificadores principais, consulte Identificadores principais.

Pods do GKE

As cargas de trabalho executadas no GKE usam a Federação de Identidade da Carga de Trabalho para GKE para acessar os serviços Cloud de Confiance . Para mais informações sobre identificadores principais para pods do GKE, consulte Referenciar recursos do Kubernetes em políticas do IAM.

O exemplo a seguir mostra como identificar todos os pods do GKE em um cluster específico em uma política de permissão:

principalSet://iam.googleapis.com/projects/123456789012/locations/global/workloadIdentityPools/123456789012.s3ns.svc.id.goog/kubernetes.cluster/https://container.googleapis.com/v1/projects/123456789012/locations/global/clusters/example-gke-cluster

Para saber mais sobre os formatos de identificadores principais, consulte Identificadores principais.

A seguir