Controle de acesso com o IAM

Nesta página, descrevemos como controlar o acesso aos recursos do Workload Manager.

O Workload Manager usa o Identity and Access Management (IAM) para controlar o acesso aos recursos. O IAM é uma ferramenta para gerenciar a autorização refinada dos seus recursos do Google Cloud . Em outras palavras, o IAM permite controlar quem pode fazer o quê em quais recursos.

Para dar acesso a um recurso com o IAM, conceda papéis específicos aos usuários. Os papéis do IAM concedem aos principais permissões para realizar tarefas nos recursos do Workload Manager.

Para informações detalhadas sobre o IAM e os recursos dele, consulte a documentação do IAM.

Gerenciar o acesso aos recursos do Workload Manager

A maneira mais comum de gerenciar o acesso com o IAM é usar políticas de permissão. As políticas de permissão listam quais principais têm acesso ao recurso e quais ações podem ser realizadas nele.

As seções a seguir descrevem como conceder e revogar uma única função com políticas de permissão usando o console do Google Cloud e a Google Cloud CLI. Também é possível conceder e revogar vários papéis ao mesmo tempo. Para mais informações, consulte Gerenciar o acesso a projetos, pastas e organizações na documentação do IAM.

Essas seções se concentram em conceder e revogar o acesso no nível do projeto, o que controla o acesso de um usuário ao projeto e a todos os recursos dele.

Também é possível usar políticas de permissão anexadas a diferentes recursos Google Cloud para gerenciar o acesso em outros níveis da hierarquia de recursos. Para saber mais, consulte Como usar a hierarquia de recursos para controle de acesso na documentação do IAM.

Nem todos os recursos são compatíveis com políticas de permissão. Para saber a quais recursos é possível anexar políticas de permissão, consulte Recursos que aceitam políticas de permissão na documentação do IAM.

Para saber mais sobre outras políticas que podem ser usadas para controlar o acesso com o IAM, como políticas de negação, consulte Tipos de políticas do IAM na documentação do IAM.

Conceder um único papel do IAM

Para conceder um único papel a um principal, faça o seguinte:

Console

  1. No console do Google Cloud , acesse a página IAM.

    Acessar IAM

  2. Selecione um projeto, pasta ou organização.
  3. Selecione um principal para conceder um papel:
    • Para conceder um papel adicional a um principal no recurso, encontre uma linha que contenha o principal, clique em Editar principal nessa linha e clique em Adicionar outro papel.

      Para conceder um papel a um agente de serviço, marque a caixa de seleção Incluir concessões de papel fornecidas pelo Google para ver o endereço de e-mail dele.

    • Para conceder um papel a um principal que ainda não tem papéis no recurso, clique em Conceder acesso e insira um identificador principal, por exemplo, my-user@example.com ou //iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com.
  4. Na lista suspensa, selecione um papel a ser concedido. Para práticas recomendadas de segurança, escolha um papel que inclua apenas as permissões necessárias ao principal.
  5. Opcional: adicione uma condição ao papel.
  6. Clique em Salvar. O principal recebe o papel no recurso.

gcloud

  1. No console do Google Cloud , ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte de baixo do console Google Cloud , uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

  2. O comando add-iam-policy-binding permite que você conceda rapidamente um papel a um principal.

    Antes de usar os dados do comando abaixo, faça estas substituições:

    • RESOURCE_TYPE: o tipo de recurso ao qual você quer gerenciar o acesso. Use projects, resource-manager folders ou organizations.

    • RESOURCE_ID: o ID do seu Google Cloud projeto, pasta ou organização. Os IDs de projeto são alfanuméricos, como my-project. Os IDs de pastas e organizações são numéricos, como 123456789012.

    • PRINCIPAL: um identificador do principal ou membro, que geralmente tem o seguinte formato: PRINCIPAL_TYPE:ID. Por exemplo, user:my-user@example.com ou principalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com. Para conferir uma lista completa dos valores que PRINCIPAL pode ter, consulte Identificadores de principais.

      Para o tipo de principal user, o nome de domínio no identificador precisa ser do Google Workspace ou do Cloud Identity. Para saber como configurar um domínio do Cloud Identity, consulte a Visão geral do Cloud Identity.

    • ROLE_NAME: o nome do papel que você quer conceder. Use 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

      Para uma lista de papéis predefinidos, consulte Noções básicas sobre papéis.

    • CONDITION: a condição a ser adicionada à vinculação de papel. Se você não quiser adicionar uma condição, use o valor None. Para mais informações sobre as condições, consulte a visão geral das condições.

    Execute o seguinte comando:

    Linux, macOS ou Cloud Shell

    gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID \
        --member=PRINCIPAL --role=ROLE_NAME \
        --condition=CONDITION

    Windows (PowerShell)

    gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID `
        --member=PRINCIPAL --role=ROLE_NAME `
        --condition=CONDITION

    Windows (cmd.exe)

    gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID ^
        --member=PRINCIPAL --role=ROLE_NAME ^
        --condition=CONDITION

    A resposta contém a política de permissão do IAM atualizada.

Revogar um único papel do IAM

Para revogar um único papel de um principal, faça o seguinte:

Console

  1. No console do Google Cloud , acesse a página IAM.

    Acessar o IAM

  2. Selecione um projeto, pasta ou organização.
  3. Encontre a linha que contém o principal cujo acesso você quer revogar. Em seguida, clique em Editar principal nessa linha.
  4. Clique no botão Excluir do papel que você quer revogar e clique em Salvar.

gcloud

  1. No console do Google Cloud , ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte de baixo do console Google Cloud , uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

  2. Para revogar um papel de um usuário, execute o comando remove-iam-policy-binding:

    gcloud RESOURCE_TYPE remove-iam-policy-binding RESOURCE_ID \
        --member=PRINCIPAL --role=ROLE_NAME

    Forneça os valores a seguir:

    • RESOURCE_TYPE: o tipo de recurso ao qual você quer gerenciar o acesso. Use projects, resource-manager folders ou organizations.

    • RESOURCE_ID: o ID do seu Google Cloud projeto, pasta ou organização. Os IDs de projeto são alfanuméricos, como my-project. Os IDs de pastas e organizações são numéricos, como 123456789012.

    • PRINCIPAL: um identificador do principal ou membro, que geralmente tem o seguinte formato: PRINCIPAL_TYPE:ID. Por exemplo, user:my-user@example.com ou principalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com.

      Para o tipo de principal user, o nome de domínio no identificador precisa ser do Google Workspace ou do Cloud Identity. Para saber como configurar um domínio do Cloud Identity, consulte a Visão geral do Cloud Identity.

    • ROLE_NAME: o nome do papel que você quer revogar. Use 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

      Para uma lista de papéis predefinidos, consulte Noções básicas sobre papéis.

    Por exemplo, para revogar o papel Criador de projetos da conta de serviço example-service-account@example-project.iam.gserviceaccount.com para o projeto example-project:

    gcloud projects remove-iam-policy-binding example-project \
          --member=serviceAccount:example-service-account@example-project.iam.gserviceaccount.com \
          --role=roles/resourcemanager.projectCreator

Para evitar a revogação de papéis necessários, ative as recomendações de risco de alteração. As recomendações de risco de mudança geram avisos quando você tenta revogar papéis para envolvidos no projeto que o Google Cloud identificou como importantes.

Acesso condicional

Com as condições do IAM, é possível tornar suas políticas mais granulares, concedendo acesso aos principais somente quando determinadas condições especificadas são atendidas. As condições são baseadas em atributos relacionados ao principal, ao recurso e à solicitação. Por exemplo, é possível conceder acesso a um principal somente se ele estiver acessando o recurso de um local ou em um horário específico.

As condições nas políticas de permissão são baseadas nos seguintes tipos de atributos:

  • Atributos de recurso: inclui o serviço, o tipo ou o nome do recurso. Esses atributos geralmente são usados para mudar o escopo de um acesso concedido por uma vinculação de papel.
  • Atributos da solicitação: incluem detalhes da solicitação, como o horário ou o nível de acesso do principal que fez a solicitação. Com esses atributos, é possível criar condições que avaliam detalhes sobre a solicitação, como nível de acesso, data e hora, endereço IP e porta de destino ou o caminho do URL esperado.

Para mais informações sobre os atributos de condição compatíveis com o Workload Manager, consulte a Referência de atributos para condições do IAM na documentação do IAM.

Não é possível conceder acesso condicional diretamente nos recursos do gerenciador de cargas de trabalho. No entanto, é possível conceder acesso condicional a tipos de recursos do Workload Manager atribuindo papéis a principais em um recurso de contêiner, como um projeto, uma pasta ou uma organização, e adicionando condições a essas vinculações de papéis. As condições adicionadas à política de permissão de um recurso de contêiner são herdadas pelos recursos incluídos nesse recurso de contêiner. Para mais informações sobre condições herdadas, consulte Suporte a condições herdadas na documentação do IAM.

Para saber como adicionar condições a vinculações de papéis, consulte Gerenciar vinculações de papéis condicionais na documentação do IAM.

A seguir