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 autorizações:

  • As autorizações podem ser criadas ao nível da organização, da pasta ou do projeto. As funções concedidas por um direito em cada nível seguem a Trusted Cloud 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 adicionar um grupo como requerente a uma autorização, todas as contas individuais nesse grupo podem pedir uma concessão dessa autorizaçã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

Certifique-se de que ativou o Gestor de acesso privilegiado e configurou as respetivas autorizações.

Crie concessões através da Trusted Cloud consola

Para criar uma concessão, siga estas instruções:

  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. Adicione os seguintes detalhes de concessão:

    • Um nome da concessão.

    • 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 Privileged Access Manager, a utilização de condições que verificam as etiquetas de um recurso está em pré-visualização.

    • Quanto tempo as concessões podem durar em relação à autorização. A duração máxima que pode definir para uma autorização é de 24 horas.

  6. Clicar em Seguinte.

  7. Pesquise e adicione até 20 principais solicitantes 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. Clicar em Seguinte.

  10. Opte por permitir concessões de funções sem aprovação ou pesquise e adicione responsáveis válidos que possam aprovar o pedido. Os tipos de principais válidos são os seguintes:

    • Contas do Google

    • Grupos do Google

    • Domínios do Google Workspace

    • Identificadores do Workforce Pool

    Se optar por ter aprovadores, também pode escolher se estes têm de apresentar uma justificação para aprovar o pedido de concessão. Pode adicionar até 20 responsáveis pela aprovação por autorização. Pode adicionar mais de 20 identidades adicionando-as a um grupo e listando o grupo na autorização.

  11. Clicar em Seguinte.

  12. Opcional: adicione os endereços de email das pessoas a notificar quando a concessão estiver disponível para pedido, quando uma concessão estiver pendente de aprovação e quando for concedido acesso a um requerente. As identidades Google associadas à concessão, como os aprovadores e os requerentes, 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.

  13. Clique em Criar autorização.

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

Crie concessões de forma programática

gcloud

O comando gcloud 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. Trusted CloudOs 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.
  • 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.
  • RESOURCE_MANAGER_RESOURCE_TYPE: Organization, Folder ou Project, consoante o âmbito.
  • ROLE: As funções a atribuir quando é concedido um direito.
  • TIME_IN_SECONDS: a duração máxima para a qual uma concessão pode ser pedida, em segundos. O intervalo suportado é entre 30 minutos (1800) e 24 horas (86 400).
  • REQUESTING_MEMBER: Principais que podem pedir que a concessão seja concedida. Todos os tipos de principais são suportados, exceto allUsers e allAuthenticatedUsers.

  • APPROVING_EMAIL: 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 enviar notificações para um conjunto diferente de endereços de email, especialmente se estiver a usar a federação de identidades da força de trabalho.
  • APPROVING_MEMBER: Principais que podem aprovar o pedido de concessão. Os tipos principais válidos são os seguintes

    • Utilizador
    • Grupo
    • Domínio
    • Identificadores do Workforce Pool
  • 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 enviar notificações para 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/SCOPE
    roleBindings:
    - role: ROLE_1
      conditionExpression: CONDITION_EXPRESSION_1
    - role: ROLE_2
      conditionExpression: CONDITION_EXPRESSION_2
maxRequestDuration: TIME_IN_SECONDSs
eligibleUsers:
- principals:
  - REQUESTING_MEMBER_1
  - REQUESTING_MEMBER_2
approvalWorkflow:
  manualApprovals:
    requireApproverJustification: true
    steps:
    - approvalsNeeded: 1
      approverEmailRecipients:
      - APPROVING_EMAIL_1
      - APPROVING_EMAIL_2
      approvers:
      - principals:
        - APPROVING_MEMBER_1
        - APPROVING_MEMBER_2
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 pam entitlements create \
    ENTITLEMENT_ID \
    --entitlement-file=entitlement.yaml \
    --location=global \
    --RESOURCE_TYPE=RESOURCE_ID

Windows (PowerShell)

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

Windows (cmd.exe)

gcloud 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/my-project/locations/global/operations/OPERATION_ID] to complete...done.
Created entitlement [ENTITLEMENT_ID].
additionalNotificationTargets: {}
approvalWorkflow:
  manualApprovals:
    requireApproverJustification: true
    steps:
    - 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/projects/my-project
    resourceType: cloudresourcemanager.googleapis.com/Project
    roleBindings:
    - role: roles/storage.admin
requesterJustificationConfig:
  unstructured: {}
state: AVAILABLE
updateTime: '2024-04-09T02:39:40.066770306Z'
As autorizações recém-criadas 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.
  • REQUEST_ID: opcional. Tem de ser um UUID diferente de zero. Se o servidor receber um pedido com um ID do pedido, verifica se outro pedido com esse ID já foi concluído nos últimos 60 minutos. Se for o caso, o novo pedido é ignorado.
  • RESOURCE_MANAGER_RESOURCE_TYPE: Organization, Folder ou Project, consoante o âmbito.
  • ROLE: As funções a atribuir quando é concedido um direito.
  • TIME_IN_SECONDS: a duração máxima para a qual uma concessão pode ser pedida, em segundos. O intervalo suportado é entre 30 minutos (1800) e 24 horas (86 400).
  • REQUESTING_MEMBER: Principais que podem pedir que o direito seja concedido. Todos os tipos de 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

    • Utilizador
    • Grupo
    • Domínio
    • Identificadores do Workforce Pool
  • APPROVING_EMAIL: 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 enviar notificações para 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/v1/SCOPE/locations/global/entitlements?entitlementId=ENTITLEMENT_ID&requestId=REQUEST_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": "TIME_IN_SECONDSs",
  "eligibleUsers": [
    {
      "principals": [
        "REQUESTING_MEMBER_1",
        "REQUESTING_MEMBER_2",
        ...
      ]
    }
  ],
  "approvalWorkflow": {
    "manualApprovals": {
      "requireApproverJustification": true,
      "steps": [
        {
          "approvers": [
            {
              "principals": [
                "APPROVING_MEMBER_1",
                "APPROVING_MEMBER_2",
                ...
              ]
            }
          ],
          "approvalsNeeded": 1,
          "approverEmailRecipients": [
            "APPROVING_EMAIL_1",
            "APPROVING_EMAIL_2",
            ...
          ]
        }
      ]
    }
  },
  "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/my-project/locations/global/operations/OPERATION_ID",
    "metadata": {
      "@type": "type.googleapis.com/google.cloud.privilegedaccessmanager.v1.OperationMetadata",
      "createTime": "2024-03-05T03:35:14.596739353Z",
      "target": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID",
      "verb": "create",
      "requestedCancellation": false,
      "apiVersion": "v1"
    },
    "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/v1/SCOPE/locations/global/operations/OPERATION_ID

Envie um pedido GET para o seguinte ponto final para apresentar uma lista de todas as operações:

https://privilegedaccessmanager.googleapis.com/v1/SCOPE/locations/global/operations
As autorizações recém-criadas podem demorar alguns minutos a propagar-se e ficar 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 a 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 a ficar prontos para utilização.

O que se segue?