Criar direitos de acesso no Privileged Access Manager

É possível criar direitos para permitir a elevação temporária de privilégios para um conjunto selecionado de principais. Considere o seguinte ao criar direitos:

  • É possível criar direitos no nível da organização, da pasta ou do projeto. Os papéis concedidos por um direito de acesso em cada nível seguem a Cloud de Confiance by S3NS hierarquia de recursos. Por exemplo, os papéis concedidos por um direito de acesso no nível da organização são herdados nos níveis de pasta e projeto.

  • Se o nível Premium ou Enterprise do Security Command Center estiver ativado no nível da organização, será possível exigir mais de um nível de aprovação por direito, permitindo até dois níveis de aprovações sequenciais para cada direito. É possível exigir até cinco aprovações por nível.

    Depois que o número necessário de aprovações de primeiro nível é recebido, as notificações por e-mail são enviadas aos aprovadores de segundo nível. Depois que o número necessário de aprovações de segundo nível é recebido, a concessão passa para o estado active. Se um aprovador negar a concessão, ela vai para o estado denied e não será enviada a outros aprovadores.

    Esse recurso está disponível em pré-lançamento.

  • Se as contas de serviço puderem aprovar concessões para esse recurso, você poderá adicionar contas de serviço e identidades de pool de carga de trabalho como aprovadores. Para saber como ativar essa configuração, consulte Configurar as configurações do Privileged Access Manager.

    Esse recurso está disponível em pré-lançamento.

  • Se você adicionar um grupo como solicitante a um direito de acesso, todas as contas individuais nesse grupo poderão solicitar o acesso a ele. No entanto, somente a conta individual que solicita a concessão pode receber privilégios elevados.

  • Se você adicionar um grupo como aprovador a um direito de acesso, todas as contas individuais nesse grupo poderão aprovar ou negar uma solicitação de concessão.

  • Os papéis básicos (administrador, gravador e leitor) são aceitos, mas os papéis básicos legados (proprietário, editor e leitor) não são.

  • Não inclua papéis de agente de serviço em direitos.

    Alguns papéis do agente de serviço contêm permissões muito eficientes, e as permissões nesses papéis podem ser alteradas sem aviso prévio. Em vez disso, escolha um papel predefinido diferente ou crie um papel personalizado com as permissões necessárias.

Antes de começar

Para receber as permissões necessárias para criar direitos, peça ao administrador para conceder a você os seguintes papéis do IAM na organização, pasta ou projeto em que você quer criar direitos:

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esses papéis predefinidos contêm as permissões necessárias para criar direitos. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As seguintes permissões são necessárias para criar direitos:

  • Para criar direitos e permissões para uma organização:
    • resourcemanager.organizations.get
    • resourcemanager.organizations.setIamPolicy
    • privilegedaccessmanager.entitlements.create
  • Para criar direitos e permissões para uma pasta:
    • resourcemanager.folders.get
    • resourcemanager.folders.setIamPolicy
    • privilegedaccessmanager.entitlements.create
  • Para criar direitos e permissões para um projeto:
    • resourcemanager.projects.get
    • resourcemanager.projects.setIamPolicy
    • privilegedaccessmanager.entitlements.create

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Criar direitos

Console

  1. Acesse a página Privileged Access Manager.

    Acessar o Privileged Access Manager

  2. Selecione a organização, a pasta ou o projeto em que você quer aplicar o direito de acesso.

  3. Clique na guia Direitos de acesso.

  4. Clique em Criar.

  5. Na seção Detalhes do direito, insira o seguinte:

    • Um nome de direito de acesso. Um nome de direito pode ter de 4 a 63 caracteres. Ele precisa começar com uma letra minúscula e só pode conter letras minúsculas, números e hifens.

    • Até 30 papéis a serem concedidos na organização, na pasta ou no projeto.

      Também é possível adicionar condições do IAM a esses papéis da mesma forma que você adiciona condições às vinculações de papel da política de permissão. No entanto, nos direitos do Privileged Access Manager, o uso de condições que verificam as tags de um recurso está em prévia.

    • A duração máxima de uma concessão. A duração máxima que você pode definir para um direito é de 7 dias.

  6. Clique em Próxima.

  7. Na seção Adicionar solicitantes, insira até 20 principais solicitantes válidos para o direito de acesso.

    Todos os tipos de principais são aceitos, exceto allUsers e allAuthenticatedUsers. É possível adicionar mais de 20 identidades adicionando-as a um grupo e listando o grupo no direito de acesso.

  8. Escolha se os administradores principais precisam justificar a solicitação de concessão.

  9. Insira outros endereços de e-mail dos usuários que vão receber notificações quando o direito de acesso estiver disponível para solicitação.

    As identidades do Google associadas ao direito de acesso, como aprovadores e solicitantes, são notificadas automaticamente. No entanto, se você quiser notificar mais pessoas, adicione os endereços de e-mail delas. Isso é especialmente útil se você estiver usando identidades de colaboradores em vez de Contas do Google.

  10. Clique em Próxima.

  11. Na seção Adicionar aprovadores, faça o seguinte:

    • Para permitir a concessão de papéis sem aprovação, selecione Ativar o acesso sem aprovações.

    • Para exigir aprovações, faça o seguinte:

      1. Opcional: para exigir que os aprovadores insiram justificativas para aprovar solicitações, selecione Justificativa necessária dos aprovadores.
      2. Insira os detalhes do aprovador de primeiro nível:

        • Uma lista de aprovadores para o direito de acesso

          É possível adicionar qualquer um dos seguintes tipos de principais como aprovadores:

          • Contas do Google

          • Grupos do Google

          • Domínios do Google Workspace

          • Identificadores do pool de funcionários

          • Identificadores do pool de carga de trabalho

          • Contas de serviço

            As contas de serviço e os identificadores de pool de carga de trabalho só estão disponíveis se as contas de serviço puderem aprovar concessões para esse recurso. Para mais detalhes, consulte Configurar as opções do Privileged Access Manager.

        • Número de aprovações necessárias

          Se você adicionou um grupo como aprovador, verifique se o número de aprovações necessárias é menor ou igual ao número de principais no grupo. Caso contrário, as concessões vão ficar presas indefinidamente no estado approval awaited.

        • Endereços de e-mail dos aprovadores para notificação

      3. Opcional: adicione detalhes do aprovador de segundo nível:

        • Uma lista de aprovadores para o direito de acesso

          É possível adicionar qualquer um dos seguintes tipos de principais como aprovadores:

          • Contas do Google

          • Grupos do Google

          • Domínios do Google Workspace

          • Identificadores do pool de funcionários

          • Identificadores do pool de carga de trabalho

          • Contas de serviço

            As contas de serviço e os identificadores de pool de carga de trabalho só estão disponíveis se as contas de serviço puderem aprovar concessões para esse recurso. Para mais detalhes, consulte Configurar as opções do Privileged Access Manager.

        • Número de aprovações necessárias

          Se você adicionou um grupo como aprovador, verifique se o número de aprovações necessárias é menor ou igual ao número de principais no grupo. Caso contrário, as concessões vão ficar presas indefinidamente no estado approval awaited.

        • Endereços de e-mail dos aprovadores para notificação

    É possível adicionar até 20 pessoas autorizadas (identidades ou grupos) por aprovação. Se quiser adicionar mais de 20 aprovadores, inclua-os em um grupo e liste o grupo como aprovador do direito de acesso.

  12. Clique em Próxima.

  13. Clique em Criar direito de acesso.

Os direitos recém-criados podem levar alguns minutos para serem propagados e ficarem prontos para uso.

gcloud

O comando gcloud alpha pam entitlements create cria um direito de acesso no nível da organização, da pasta ou do projeto.

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

  • ENTITLEMENT_ID: o ID do direito de acesso a ser criado. Um ID precisa ter de 4 a 63 caracteres e usar os seguintes caracteres: [a-z0-9-]. O primeiro caractere precisa ser uma letra.
  • RESOURCE_TYPE: opcional. O tipo de recurso ao qual o direito de acesso pertence. Use o valor organization, folder ou project.
  • RESOURCE_ID: usada com RESOURCE_TYPE. O ID da organização, da pasta ou do projeto do Cloud de Confiance que você quer gerenciar os direitos de acesso. Os IDs do projeto são strings alfanuméricas, como my-project. Os IDs de pastas e organizações são numéricos, como 123456789012.
  • RESOURCE_MANAGER_RESOURCE_TYPE: Organization, Folder ou Project, dependendo do escopo.
  • ROLE: os papéis a serem atribuídos quando um direito de acesso for concedido.
  • MAXIMUM_GRANT_DURATION: a duração máxima de uma concessão, em segundos. O intervalo aceito é entre 30 minutos (1.800) e 168 horas (604.800).
  • REQUESTING_MEMBER: principais que podem solicitar que o direito seja concedido. Todos os tipos de principais são compatíveis, exceto allUsers e allAuthenticatedUsers.

  • APPROVING_MEMBER: principais que podem aprovar a solicitação de direito de acesso. Os tipos de principais válidos são os seguintes:

    • Usuário
    • Grupo
    • Domínio
    • Identificadores do pool de funcionários
    • Identificadores do pool de carga de trabalho

      Isso só está disponível se as contas de serviço puderem aprovar solicitações de direitos para esse recurso. Para mais detalhes, consulte Configurar as opções do Privileged Access Manager.

    • Contas de serviço

      Isso só está disponível se as contas de serviço puderem aprovar solicitações de direitos para esse recurso. Para mais detalhes, consulte Configurar as opções do Privileged Access Manager.

  • APPROVALS_NEEDED: o número de aprovadores necessários para aprovar a solicitação de direito de acesso.

    Se você adicionou um grupo como aprovador, verifique se o número de aprovações necessárias é menor ou igual ao número de principais no grupo. Caso contrário, as concessões vão ficar presas no estado approval awaited.

  • APPROVER_EMAIL_ADDRESSES: opcional. Outros endereços de e-mail para receber notificações quando uma concessão for solicitada. As identidades do Google associadas aos aprovadores de concessão são notificadas automaticamente. No entanto, você pode notificar um conjunto diferente de endereços de e-mail, especialmente se estiver usando a federação de identidade de colaboradores.
  • ADMIN_EMAIL_ADDRESS: opcional. Outros endereços de e-mail para receber notificações quando um requerente receber acesso. As identidades do Google associadas aos aprovadores de concessão são notificadas automaticamente. No entanto, você pode notificar um conjunto diferente de endereços de e-mail, especialmente se estiver usando a federação de identidade de colaboradores.
  • REQUESTER_EMAIL_ADDRESS: opcional. Outros endereços de e-mail para receber notificações quando este direito de acesso estiver disponível para solicitação. As identidades do Google associadas aos solicitantes da concessão são notificadas automaticamente. No entanto, você pode notificar um conjunto diferente de endereços de e-mail, especialmente se estiver usando a federação de identidade de colaboradores.
  • CONDITION_EXPRESSION: opcional. A expressão de condição que especifica quando o principal pode usar as permissões na função. Essa condição só se aplica quando a concessão está ativa.

Salve o conteúdo a seguir em um arquivo chamado entitlement.yaml:

privilegedAccess:
  gcpIamAccess:
    resourceType: cloudresourcemanager.googleapis.com/RESOURCE_MANAGER_RESOURCE_TYPE
    resource: //cloudresourcemanager.googleapis.com/RESOURCE_ID
    roleBindings:
    - role: ROLE_1
      conditionExpression: CONDITION_EXPRESSION_1
    - role: ROLE_2
      conditionExpression: CONDITION_EXPRESSION_2
maxRequestDuration: MAXIMUM_GRANT_DURATION
eligibleUsers:
- principals:
  - REQUESTING_MEMBER_1
  - REQUESTING_MEMBER_2
approvalWorkflow:
  manualApprovals:
    requireApproverJustification: true
    steps:
    - approvalsNeeded: APPROVALS_NEEDED_1
      approverEmailRecipients:
      - APPROVER_EMAIL_ADDRESSES_1
      - APPROVER_EMAIL_ADDRESSES_2
      approvers:
      - principals:
       - APPROVING_MEMBER_1
       - APPROVING_MEMBER_2
    - approvalsNeeded: APPROVALS_NEEDED_2
      approverEmailRecipients:
       - APPROVER_EMAIL_ADDRESSES_3
       - APPROVER_EMAIL_ADDRESSES_4
      approvers:
      - principals:
        - APPROVING_MEMBER_3
        - APPROVING_MEMBER_4
requesterJustificationConfig:
  unstructured: {}
additionalNotificationTargets:
  adminEmailRecipients:
  - ADMIN_EMAIL_ADDRESS_1
  - ADMIN_EMAIL_ADDRESS_2
  requesterEmailRecipients:
  - REQUESTER_EMAIL_ADDRESS_1
  - REQUESTER_EMAIL_ADDRESS_2

Execute o seguinte comando:

Linux, macOS ou Cloud Shell

gcloud alpha pam entitlements create \
    ENTITLEMENT_ID \
    --entitlement-file=entitlement.yaml \
    --location=global \
    --RESOURCE_TYPE=RESOURCE_ID

Windows (PowerShell)

gcloud alpha pam entitlements create `
    ENTITLEMENT_ID `
    --entitlement-file=entitlement.yaml `
    --location=global `
    --RESOURCE_TYPE=RESOURCE_ID

Windows (cmd.exe)

gcloud alpha pam entitlements create ^
    ENTITLEMENT_ID ^
    --entitlement-file=entitlement.yaml ^
    --location=global ^
    --RESOURCE_TYPE=RESOURCE_ID

Você receberá uma resposta semelhante a esta:

Create request issued for: [ENTITLEMENT_ID]
Waiting for operation [projects/PROJECT_ID/locations/global/operations/OPERATION_ID] to complete...done.
Created entitlement [ENTITLEMENT_ID].
additionalNotificationTargets: {}
approvalWorkflow:
  manualApprovals:
    requireApproverJustification: true
    steps:
    - id: step-1
      approvalsNeeded: 3
      approvers:
      - principals:
        - user:alex@example.com
        - group:dev-team@example.com
    - id: step-2
      approvalsNeeded: 1
      approvers:
      - principals:
        - user:alex@example.com
  createTime: '2024-04-09T02:39:37.011866832Z'
  eligibleUsers:
  - principals:
    - user:bola@example.com
  etag: 00000000000000000000000000000000000000000000000000000000000=
  maxRequestDuration: 7200s
  name: projects/my-project/locations/global/entitlements/ENTITLEMENT_ID
  privilegedAccess:
    gcpIamAccess:
      resource: //cloudresourcemanager.googleapis.com/RESOURCE_TYPE/RESOURCE_ID
      resourceType: cloudresourcemanager.googleapis.com/Project
      roleBindings:
      - role: roles/storage.admin
        id: hwarq_1
        conditionExpression: "request.time.getHours() >= 8"
  requesterJustificationConfig:
    unstructured: {}
  state: AVAILABLE
Os direitos recém-criados podem levar alguns minutos para serem propagados e ficarem prontos para uso.

REST

O método createEntitlement da API Privileged Access Manager cria um direito no nível da organização, da pasta ou do projeto.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • SCOPE: a organização, a pasta ou o projeto em que o direito de acesso será criado, no formato de organizations/ORGANIZATION_ID, folders/FOLDER_ID ou projects/PROJECT_ID. Os IDs do projeto são strings alfanuméricas, como my-project. Os códigos de pastas e organizações são numéricos, como 123456789012.
  • ENTITLEMENT_ID: o ID do direito de acesso a ser criado. Um ID precisa ter de 4 a 63 caracteres e usar os seguintes caracteres: [a-z0-9-]. O primeiro caractere precisa ser uma letra.
  • RESOURCE_MANAGER_RESOURCE_TYPE: Organization, Folder ou Project, dependendo do escopo.
  • ROLE: os papéis a serem atribuídos quando um direito de acesso for concedido.
  • MAXIMUM_GRANT_DURATION: a duração máxima de uma concessão, em segundos. O intervalo aceito é entre 30 minutos (1.800) e 168 horas (604.800).
  • REQUESTING_MEMBER: principais que podem solicitar que o direito seja concedido. Todos os tipos de principais são compatíveis, exceto allUsers e allAuthenticatedUsers.

  • APPROVING_MEMBER: principais que podem aprovar a solicitação de direito de acesso. Os tipos de principais válidos são os seguintes:

    • Usuário
    • Grupo
    • Domínio
    • Identificadores do pool de funcionários
    • Identificadores do pool de carga de trabalho

      Isso só está disponível se as contas de serviço puderem aprovar solicitações de direitos para esse recurso. Para mais detalhes, consulte Configurar as opções do Privileged Access Manager.

    • Contas de serviço

      Isso só está disponível se as contas de serviço puderem aprovar solicitações de direitos para esse recurso. Para mais detalhes, consulte Configurar as opções do Privileged Access Manager.

  • APPROVALS_NEEDED: o número de aprovadores necessários para aprovar a solicitação de direito de acesso.

    Se você adicionou um grupo como aprovador, verifique se o número de aprovações necessárias é menor ou igual ao número de principais no grupo. Caso contrário, as concessões vão ficar presas no estado approval awaited.

  • APPROVER_EMAIL_ADDRESSES: opcional. Outros endereços de e-mail para receber notificações quando uma concessão for solicitada. As identidades do Google associadas aos aprovadores de concessão são notificadas automaticamente. No entanto, você pode notificar um conjunto diferente de endereços de e-mail, especialmente se estiver usando a federação de identidade de colaboradores.
  • ADMIN_EMAIL_ADDRESS: opcional. Outros endereços de e-mail para receber notificações quando um requerente receber acesso. As identidades do Google associadas aos aprovadores de concessão são notificadas automaticamente. No entanto, você pode notificar um conjunto diferente de endereços de e-mail, especialmente se estiver usando a federação de identidade de colaboradores.
  • REQUESTER_EMAIL_ADDRESS: opcional. Outros endereços de e-mail para receber notificações quando este direito de acesso estiver disponível para solicitação. As identidades do Google associadas aos solicitantes da concessão são notificadas automaticamente. No entanto, você pode notificar um conjunto diferente de endereços de e-mail, especialmente se estiver usando a federação de identidade de colaboradores.
  • CONDITION_EXPRESSION: opcional. A expressão de condição que especifica quando o principal pode usar as permissões na função. Essa condição só se aplica quando a concessão está ativa.

Método HTTP e URL:

POST https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements?entitlementId=ENTITLEMENT_ID

Corpo JSON da solicitação:

{
  "privilegedAccess": {
    "gcpIamAccess": {
      "resourceType": "cloudresourcemanager.googleapis.com/RESOURCE_MANAGER_RESOURCE_TYPE",
      "resource": "//cloudresourcemanager.googleapis.com/SCOPE",
      "roleBindings": [
        {
          "role": "ROLE_1",
          "conditionExpression": "CONDITION_EXPRESSION_1",
        },
        {
          "role": "ROLE_2",
          "conditionExpression": "CONDITION_EXPRESSION_2",
        },
      ]
    }
  },
  "maxRequestDuration": "MAXIMUM_GRANT_DURATION",
  "eligibleUsers": [
    {
      "principals": [
        "REQUESTING_MEMBER_1",
        "REQUESTING_MEMBER_2",
        ...
      ]
    }
  ],
  "approvalWorkflow": {
    "manualApprovals": {
      "requireApproverJustification": true,
      "steps": [
        {
          "approvers": [
            {
              "principals": [
                "APPROVING_MEMBER_1",
                "APPROVING_MEMBER_2",
              ]
            }
          ],
          "approvalsNeeded": APPROVALS_NEEDED_1,
          "approverEmailRecipients": [
            "APPROVER_EMAIL_ADDRESSES_1",
            "APPROVER_EMAIL_ADDRESSES_2",
          ]
        },
        {
          "approvers": [
            {
              "principals": [
                "APPROVING_MEMBER_3",
                "APPROVING_MEMBER_4",
              ]
            }
          ],
          "approvalsNeeded": APPROVALS_NEEDED_2,
          "approverEmailRecipients": [
            "APPROVER_EMAIL_ADDRESSES_3",
            "APPROVER_EMAIL_ADDRESSES_4",
          ]
        }
      ]
    }
  },
  "requesterJustificationConfig": {
    "unstructured": {
    }
  },
  "additionalNotificationTargets": {
    "adminEmailRecipients": [
      "ADMIN_EMAIL_ADDRESS_1",
      "ADMIN_EMAIL_ADDRESS_2",
    ],
    "requesterEmailRecipients": [
      "REQUESTER_EMAIL_ADDRESS_1",
      "REQUESTER_EMAIL_ADDRESS_2",
    ]
  }
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:


{
  "name": "projects/PROJECT_ID/locations/global/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.privilegedaccessmanager.v1beta.OperationMetadata",
    "createTime": "2024-03-05T03:35:14.596739353Z",
    "target": "projects/PROJECT_ID/locations/global/entitlements/ENTITLEMENT_ID",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1beta"
  },
  "done": false
}

Para verificar o progresso de uma operação de criação, envie uma solicitação GET para o seguinte endpoint:

https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations/OPERATION_ID

Envie uma solicitação GET para o endpoint a seguir e liste todas as operações:

https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations
Os direitos recém-criados podem levar alguns minutos para serem propagados e ficarem prontos para uso.

Terraform

Use o Terraform para criar direitos de acesso. Para mais informações, consulte google_privileged_access_manager_entitlement na documentação do Terraform. Os direitos recém-criados podem levar alguns minutos para serem propagados e ficarem prontos para uso.

Config Connector

É possível usar o Kubernetes Config Connector para criar direitos. Para mais informações, consulte PrivilegedAccessManagerEntitlement na documentação do Config Connector. Os direitos recém-criados podem levar alguns minutos para serem propagados e ficarem prontos para uso.

A seguir