Crie autorizações no Privileged Access Manager

Pode criar concessões para permitir a elevação temporária de privilégios para um conjunto selecionado de responsáveis. Tenha em atenção o seguinte quando criar concessões:

  • Pode criar autorizações ao nível da organização, da pasta ou do projeto. As funções concedidas por um direito em cada nível seguem a Cloud de Confiance by S3NS hierarquia de recursos. Por exemplo, as funções concedidas por um direito ao nível da organização são herdadas ao nível da pasta e do projeto.

  • Se o Security Command Center Premium ou o nível Enterprise estiver ativado ao nível da organização, pode exigir mais do que um nível de aprovação por direito, o que permite até dois níveis de aprovações sequenciais para cada direito. Pode exigir até cinco aprovações por nível.

    Depois de receber o número necessário de aprovações de primeiro nível, são enviadas notificações por email aos aprovadores de segundo nível. Depois de receber o número necessário de aprovações de segundo nível, a concessão passa para o estado active. Se um aprovador recusar a concessão, esta passa para o estado denied e não é enviada a aprovadores adicionais.

    Esta funcionalidade está disponível em pré-visualização.

  • Se as contas de serviço puderem aprovar concessões para este recurso, pode adicionar contas de serviço e identidades do conjunto de cargas de trabalho como aprovadores. Para saber como ativar esta definição, consulte o artigo Configure as definições do Gestor de acesso privilegiado.

    Esta funcionalidade está disponível em pré-visualização.

  • Se adicionar um grupo como requerente a uma concessão, todas as contas individuais nesse grupo podem pedir uma concessão dessa concessão. No entanto, apenas a conta individual que solicita a concessão pode receber privilégios elevados.

  • Se adicionar um grupo como aprovador a uma concessão, todas as contas individuais nesse grupo podem aprovar ou recusar um pedido de concessão.

  • As funções básicas (administrador, autor e leitor) são suportadas, mas as funções básicas antigas (proprietário, editor e leitor) não são suportadas.

  • Não inclua funções de agente do serviço em autorizações.

    Algumas funções de agente de serviço contêm autorizações muito poderosas, e as autorizações nestas funções podem mudar sem aviso prévio. Em alternativa, escolha uma função predefinida diferente ou crie uma função personalizada com as autorizações de que precisa.

Antes de começar

Para receber as autorizações de que precisa para criar concessões, peça ao seu administrador que lhe conceda as seguintes funções de IAM na organização, na pasta ou no projeto para o qual quer criar concessões:

Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Estas funções predefinidas contêm as autorizações necessárias para criar direitos. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:

Autorizações necessárias

São necessárias as seguintes autorizações para criar concessões:

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

Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.

Crie autorizações

Consola

  1. Aceda à página Gestor de acesso privilegiado.

    Aceda ao Gestor de acesso privilegiado

  2. Selecione a organização, a pasta ou o projeto ao qual quer aplicar a concessão.

  3. Clique no separador Autorizações.

  4. Clique em Criar.

  5. Na secção Detalhes da concessão, introduza os seguintes detalhes da concessão:

    • Um nome da concessão. Um nome de autorização pode ter entre 4 e 63 carateres. Tem de começar com uma letra minúscula e só pode conter letras minúsculas, números e hífenes.

    • Até 30 funções a conceder na organização, na pasta ou no projeto.

      Também pode adicionar condições do IAM a estas funções da mesma forma que adiciona condições a associações de funções de políticas de autorização. No entanto, nas autorizações do Gestor de acesso privilegiado, a utilização de condições que verificam as etiquetas de um recurso está em pré-visualização.

    • A duração máxima de uma subvenção. A duração máxima que pode definir para uma autorização é de 7 dias.

  6. Clicar em Seguinte.

  7. Na secção Adicionar requerentes, introduza até 20 principais de solicitação válidos para a concessão.

    Todos os tipos principais são suportados, exceto allUsers e allAuthenticatedUsers. Pode adicionar mais de 20 identidades adicionando-as a um grupo e listando o grupo na autorização.

  8. Escolha se os diretores têm de fornecer uma justificação para o pedido de concessão.

  9. Introduza endereços de email adicionais de utilizadores a notificar quando a concessão for elegível para pedido.

    As identidades Google associadas à concessão, como os aprovadores e os requerentes, são notificadas automaticamente. No entanto, se quiser notificar pessoas adicionais, pode adicionar os respetivos endereços de email. Isto é especialmente útil se estiver a usar identidades da força de trabalho em vez de Contas Google.

  10. Clicar em Seguinte.

  11. Na secção Adicionar aprovadores, faça uma das seguintes ações:

    • Para permitir concessões de funções sem aprovação, selecione Ativar acesso sem aprovações.

    • Para tornar as aprovações obrigatórias, faça o seguinte:

      1. Opcional: para exigir que os aprovadores introduzam justificações para aprovar pedidos, selecione Justificação necessária dos aprovadores.
      2. Introduza os detalhes do aprovador de primeiro nível:

        • Uma lista de aprovadores da autorização

          Pode adicionar qualquer um dos seguintes tipos de principais como aprovadores:

          • Contas Google

          • Grupos do Google

          • Domínios do Google Workspace

          • Identificadores do Workforce Pool

          • Identificadores do Workload Pool

          • Contas de serviço

            Os identificadores de contas de serviço e do Workload Identity Pool só estão disponíveis se as contas de serviço puderem aprovar concessões para este recurso. Para ver detalhes, consulte o artigo Configure as definições do Gestor de acesso privilegiado.

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

          Se adicionou um grupo como aprovador, certifique-se de que o número de aprovações necessárias é inferior ou igual ao número de responsáveis no grupo. Caso contrário, as concessões permanecem permanentemente no estado approval awaited.

        • Endereços de email dos aprovadores para notificação

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

        • Uma lista de aprovadores da autorização

          Pode adicionar qualquer um dos seguintes tipos de principais como aprovadores:

          • Contas Google

          • Grupos do Google

          • Domínios do Google Workspace

          • Identificadores do Workforce Pool

          • Identificadores do Workload Pool

          • Contas de serviço

            Os identificadores de contas de serviço e do Workload Identity Pool só estão disponíveis se as contas de serviço puderem aprovar concessões para este recurso. Para ver detalhes, consulte o artigo Configure as definições do Gestor de acesso privilegiado.

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

          Se adicionou um grupo como aprovador, certifique-se de que o número de aprovações necessárias é inferior ou igual ao número de responsáveis no grupo. Caso contrário, as concessões permanecem permanentemente no estado approval awaited.

        • Endereços de email dos aprovadores para notificação

    Pode adicionar até 20 responsáveis pela aprovação (identidades ou grupos) por aprovação. Se quiser adicionar mais de 20 aprovadores, pode fazê-lo adicionando-os a um grupo e indicando o grupo como aprovador da concessão.

  12. Clicar em Seguinte.

  13. Clique em Criar autorização.

Os direitos recém-criados podem demorar alguns minutos a propagar-se e ficar prontos para utilização.

gcloud

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

Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:

  • ENTITLEMENT_ID: o ID de direito de utilização a criar. Um ID tem de ter entre 4 e 63 carateres e usar os seguintes carateres: [a-z0-9-]. O primeiro caráter tem de ser uma letra.
  • RESOURCE_TYPE: opcional. O tipo de recurso ao qual a concessão pertence. Use o valor organization, folder ou project.
  • RESOURCE_ID: usado com RESOURCE_TYPE. O ID da organização, da pasta ou do projeto para o qual quer gerir autorizações. Cloud de ConfianceOs IDs dos projetos são strings alfanuméricas, como my-project. Os IDs das pastas e das organizações são numéricos, como 123456789012.
  • RESOURCE_MANAGER_RESOURCE_TYPE: Organization, Folder ou Project, consoante o âmbito.
  • ROLE: As funções a atribuir quando é concedido um direito.
  • MAXIMUM_GRANT_DURATION: a duração máxima para a qual uma concessão pode ser pedida, em segundos. O intervalo suportado é entre 30 minutos (1800) e 168 horas (604800).
  • REQUESTING_MEMBER: Principais que podem pedir que a concessão seja concedida. Todos os tipos principais são suportados, exceto allUsers e allAuthenticatedUsers.

  • APPROVING_MEMBER: Principais que podem aprovar o pedido de concessão. Os tipos principais válidos são os seguintes:

  • APPROVALS_NEEDED: o número de aprovadores necessários para aprovar o pedido de concessão.

    Se adicionou um grupo como aprovador, certifique-se de que o número de aprovações necessárias é inferior ou igual ao número de responsáveis no grupo. Caso contrário, as concessões permanecem permanentemente no estado approval awaited.

  • APPROVER_EMAIL_ADDRESSES: opcional. Endereços de email adicionais para os quais enviamos uma notificação quando é pedida uma concessão. As identidades Google associadas aos aprovadores de concessões são notificadas automaticamente. No entanto, pode querer notificar um conjunto diferente de endereços de email, especialmente se estiver a usar a federação de identidades da força de trabalho.
  • ADMIN_EMAIL_ADDRESS: opcional. Endereços de email adicionais para notificar quando um requerente recebe acesso. As identidades Google associadas aos aprovadores de concessões são notificadas automaticamente. No entanto, pode querer notificar um conjunto diferente de endereços de email, especialmente se estiver a usar a federação de identidades da força de trabalho.
  • REQUESTER_EMAIL_ADDRESS: opcional. Endereços de email adicionais para notificar quando esta autorização estiver disponível para pedido. As identidades Google associadas aos requerentes de concessão são notificadas automaticamente. No entanto, pode querer enviar notificações para um conjunto diferente de endereços de email, especialmente se estiver a usar a Workforce Identity Federation.
  • CONDITION_EXPRESSION: opcional. A expressão de condição que especifica quando o principal pode usar as autorizações na função. Esta condição só se aplica quando a concessão está ativa.

Guarde o seguinte conteúdo num ficheiro denominado 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

Deve receber uma resposta semelhante à seguinte:

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
As autorizações criadas recentemente podem demorar alguns minutos a propagar-se e ficar prontas para utilização.

REST

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

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • SCOPE: a organização, a pasta ou o projeto no qual criar a concessão, no formato de organizations/ORGANIZATION_ID, folders/FOLDER_ID ou projects/PROJECT_ID. Os IDs dos projetos são strings alfanuméricas, como my-project. Os IDs das pastas e das organizações são numéricos, como 123456789012.
  • ENTITLEMENT_ID: o ID de direito de utilização a criar. Um ID tem de ter entre 4 e 63 carateres e usar os seguintes carateres: [a-z0-9-]. O primeiro caráter tem de ser uma letra.
  • RESOURCE_MANAGER_RESOURCE_TYPE: Organization, Folder ou Project, consoante o âmbito.
  • ROLE: As funções a atribuir quando é concedido um direito.
  • MAXIMUM_GRANT_DURATION: a duração máxima para a qual uma concessão pode ser pedida, em segundos. O intervalo suportado é entre 30 minutos (1800) e 168 horas (604800).
  • REQUESTING_MEMBER: Principais que podem pedir que o direito seja concedido. Todos os tipos principais são suportados, exceto allUsers e allAuthenticatedUsers.

  • APPROVING_MEMBER: Principais que podem aprovar o pedido de concessão. Os tipos principais válidos são os seguintes:

  • APPROVALS_NEEDED: o número de aprovadores necessários para aprovar o pedido de concessão.

    Se adicionou um grupo como aprovador, certifique-se de que o número de aprovações necessárias é inferior ou igual ao número de responsáveis no grupo. Caso contrário, as concessões permanecem permanentemente no estado approval awaited.

  • APPROVER_EMAIL_ADDRESSES: opcional. Endereços de email adicionais para os quais enviamos uma notificação quando é pedida uma concessão. As identidades Google associadas aos aprovadores de concessões são notificadas automaticamente. No entanto, pode querer notificar um conjunto diferente de endereços de email, especialmente se estiver a usar a federação de identidades da força de trabalho.
  • ADMIN_EMAIL_ADDRESS: opcional. Endereços de email adicionais para notificar quando um requerente recebe acesso. As identidades Google associadas aos aprovadores de concessões são notificadas automaticamente. No entanto, pode querer notificar um conjunto diferente de endereços de email, especialmente se estiver a usar a Workforce Identity Federation.
  • REQUESTER_EMAIL_ADDRESS: opcional. Endereços de email adicionais para notificar quando esta autorização estiver disponível para pedido. As identidades Google associadas aos requerentes de concessão são notificadas automaticamente. No entanto, pode querer enviar notificações para um conjunto diferente de endereços de email, especialmente se estiver a usar a Workforce Identity Federation.
  • CONDITION_EXPRESSION: opcional. A expressão de condição que especifica quando o principal pode usar as autorizações na função. Esta 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 do pedido:

{
  "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 o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:


{
  "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, pode enviar um pedido GET para o seguinte ponto final:

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

Envie um pedido GET para o seguinte ponto final para listar todas as operações:

https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations
As autorizações recém-criadas podem demorar alguns minutos a propagar-se e ficam prontas para utilização.

Terraform

Pode usar o Terraform para criar autorizações. Para mais informações, consulte google_privileged_access_manager_entitlement na documentação do Terraform. Os direitos recém-criados podem demorar alguns minutos a propagar-se e ficar prontos para utilização.

Config Connector

Pode usar o Kubernetes Config Connector para criar autorizações. Para mais informações, consulte o artigo PrivilegedAccessManagerEntitlement na documentação do Config Connector. Os direitos recém-criados podem demorar alguns minutos a propagar-se e ficar prontos para utilização.

O que se segue?