Ver, atualizar e eliminar autorizações no Gestor de acesso privilegiado

Depois de criar uma concessão, pode vê-la, atualizá-la ou eliminá-la.

Antes de começar

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

Ver, atualizar e eliminar concessões através da Trusted Cloud 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 no qual quer gerir as autorizações.

  3. No separador Direitos, clique no separador Direitos para todos os utilizadores. Aqui, pode encontrar as autorizações disponíveis, as funções que concedem e os requerentes e aprovadores válidos.

  4. Na tabela, clique em Mais opções na mesma linha que uma autorização que quer inspecionar.

    • Para ver os detalhes da concessão, clique em Ver detalhes da concessão.

    • Para ver as concessões associadas à autorização, clique em Ver concessões associadas.

    • Para revogar todas as concessões ativas da autorização, clique em Revogar todas as concessões.

    • Para eliminar a concessão, clique em Eliminar concessão. Não pode eliminar uma autorização com concessões ativas. Tem de revogar as concessões primeiro.

  5. Para atualizar uma concessão, clique em Editar concessão na mesma linha da concessão que quer atualizar.

    Tenha em atenção o seguinte quando atualizar uma autorização:

    • A configuração de concessão atualizada aplica-se apenas a concessões pedidas após a atualização. No entanto, as alterações de aprovadores também se aplicam a pedidos de concessão existentes que ainda não foram aprovados ou recusados.

    • Quando atualiza uma concessão, não pode alterar se é necessária aprovação. Se precisar de alterar o estado de aprovação, crie uma nova concessão.

    • As alterações aos requerentes e aos aprovadores de uma autorização podem demorar alguns minutos a propagar-se.

Veja autorizações por programação

Para ver as autorizações de forma programática, pode pesquisá-las, listá-las, obtê-las e exportá-las.

Apresentar concessões

gcloud

O comando gcloud pam entitlements list lista as concessões que pertencem a um âmbito específico.

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

  • 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 do projeto, da pasta ou da organização para os quais 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.

Execute o seguinte comando:

Linux, macOS ou Cloud Shell

gcloud pam entitlements list \
    --location=global \
    --RESOURCE_TYPE=RESOURCE_ID

Windows (PowerShell)

gcloud pam entitlements list `
    --location=global `
    --RESOURCE_TYPE=RESOURCE_ID

Windows (cmd.exe)

gcloud pam entitlements list ^
    --location=global ^
    --RESOURCE_TYPE=RESOURCE_ID

Deve receber uma resposta semelhante à seguinte:

additionalNotificationTargets:
  adminEmailRecipients:
  - alex@example.com
createTime: '2024-03-26T11:07:37.009498890Z'
eligibleUsers:
- principals:
  - user:bola@example.com
etag: 00000000000000000000000000000000000000000000000000000000000=
maxRequestDuration: 3600s
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-03-26T11:07:40.056780645Z'

REST

O método listEntitlements da API Privileged Access Manager lista as autorizações que pertencem a um âmbito específico.

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

  • SCOPE: a organização, a pasta ou o projeto em que a concessão se encontra, 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.
  • FILTER: opcional. Devolve autorizações cujos valores de campo correspondem a uma expressão AIP-160.
  • PAGE_SIZE: opcional. O número de itens a devolver numa resposta.
  • PAGE_TOKEN: opcional. A partir de que página deve começar a resposta, usando um token de página devolvido numa resposta anterior.

Método HTTP e URL:

GET https://privilegedaccessmanager.googleapis.com/v1/SCOPE/locations/global/entitlements?filter=FILTER&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

[
  {
    "name": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID",
    "createTime": "2023-11-21T17:28:39.962144708Z",
    "updateTime": "2023-11-21T17:28:43.160309410Z",
    "eligibleUsers": [
      {
        "principals": [
          "user:alex@example.com"
        ]
      }
    ],
    "approvalWorkflow": {
      "manualApprovals": {
        "steps": [
          {
            "approvers": [
              {
                "principals": [
                  "user:bola@example.com"
                ]
              }
            ],
            "approvalsNeeded": 1
          }
        ]
      }
    },
    "privilegedAccess": {
      "gcpIamAccess": {
        "resourceType": "cloudresourcemanager.googleapis.com/Project",
        "resource": "//cloudresourcemanager.googleapis.com/projects/my-project",
        "roleBindings": [
          {
            "role": "roles/storage.admin"
          }
        ]
      }
    },
    "maxRequestDuration": "14400s",
    "state": "AVAILABLE",
    "requesterJustificationConfig": {
      "unstructured": {}
    },
    "additionalNotificationTargets": {
      "adminEmailRecipients": [
        "alex@example.com"
      ]
    },
    "etag": "00000000000000000000000000000000000000000000000000000000000="
  }
]

Obtenha direitos de utilização

gcloud

O comando gcloud pam entitlements describe obtém uma autorização específica.

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

  • ENTITLEMENT_ID: o ID da concessão para a qual quer os detalhes.
  • 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 do projeto, da pasta ou da organização para os quais 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.

Execute o seguinte comando:

Linux, macOS ou Cloud Shell

gcloud pam entitlements describe \
    ENTITLEMENT_ID \
    --location=global \
    --RESOURCE_TYPE=RESOURCE_ID

Windows (PowerShell)

gcloud pam entitlements describe `
    ENTITLEMENT_ID `
    --location=global `
    --RESOURCE_TYPE=RESOURCE_ID

Windows (cmd.exe)

gcloud pam entitlements describe ^
    ENTITLEMENT_ID ^
    --location=global ^
    --RESOURCE_TYPE=RESOURCE_ID

Deve receber uma resposta semelhante à seguinte:

additionalNotificationTargets:
  adminEmailRecipients:
  - alex@example.com
createTime: '2024-03-26T11:07:37.009498890Z'
eligibleUsers:
- principals:
  - user:bola@example.com
etag: 00000000000000000000000000000000000000000000000000000000000=
maxRequestDuration: 3600s
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-03-26T11:07:40.056780645Z'

REST

O método getEntitlement da API Privileged Access Manager obtém uma autorização específica.

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

  • SCOPE: A organização, a pasta ou o projeto a partir do qual obter 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 da concessão cujos detalhes quer consultar.

Método HTTP e URL:

GET https://privilegedaccessmanager.googleapis.com/v1/SCOPE/locations/global/entitlements/ENTITLEMENT_ID

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "name": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID",
  "createTime": "2023-11-21T17:28:39.962144708Z",
  "updateTime": "2023-11-21T17:28:43.160309410Z",
  "eligibleUsers": [
    {
      "principals": [
        "user:alex@example.com"
      ]
    }
  ],
  "approvalWorkflow": {
    "manualApprovals": {
      "steps": [
        {
          "approvers": [
            {
              "principals": [
                "user:bola@example.com"
              ]
            }
          ],
          "approvalsNeeded": 1
        }
      ]
    }
  },
  "privilegedAccess": {
    "gcpIamAccess": {
      "resourceType": "cloudresourcemanager.googleapis.com/Project",
      "resource": "//cloudresourcemanager.googleapis.com/projects/my-project",
      "roleBindings": [
        {
          "role": "roles/storage.admin"
        }
      ]
    }
  },
  "maxRequestDuration": "14400s",
  "state": "AVAILABLE",
  "requesterJustificationConfig": {
    "unstructured": {}
  },
  "additionalNotificationTargets": {
    "adminEmailRecipients": [
      "alex@example.com"
    ]
  },
  "etag": "00000000000000000000000000000000000000000000000000000000000="
}

Exporte autorizações através da CLI gcloud

O comando gcloud pam entitlements export exporta uma autorização específica para um ficheiro YAML.

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

  • ENTITLEMENT_ID: o ID da concessão para exportar.
  • FILENAME: O nome do ficheiro para exportar o conteúdo dos direitos.
  • 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 do projeto, da pasta ou da organização para os quais 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.

Execute o seguinte comando:

Linux, macOS ou Cloud Shell

gcloud pam entitlements export \
    ENTITLEMENT_ID \
    --destination=FILENAME.yaml \
    --location=global \
    --RESOURCE_TYPE=RESOURCE_ID

Windows (PowerShell)

gcloud pam entitlements export `
    ENTITLEMENT_ID `
    --destination=FILENAME.yaml `
    --location=global `
    --RESOURCE_TYPE=RESOURCE_ID

Windows (cmd.exe)

gcloud pam entitlements export ^
    ENTITLEMENT_ID ^
    --destination=FILENAME.yaml ^
    --location=global ^
    --RESOURCE_TYPE=RESOURCE_ID

Deve receber uma resposta semelhante à seguinte:

Exported [projects/my-project/locations/global/entitlements/ENTITLEMENT_ID] to 'FILENAME.yaml'.

Atualize autorizações através de programação

Tenha em atenção o seguinte quando atualizar uma autorização:

  • A configuração de concessão atualizada aplica-se apenas a concessões pedidas após a atualização. No entanto, as alterações de aprovadores também se aplicam a pedidos de concessão existentes que ainda não foram aprovados ou recusados.

  • Quando atualiza uma concessão, não pode alterar se é necessária aprovação. Se precisar de alterar o estado de aprovação, crie uma nova concessão.

  • As alterações aos requerentes e aos aprovadores de uma autorização podem demorar alguns minutos a propagar-se.

gcloud

O comando gcloud pam entitlements update atualiza uma concessão específica.

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

  • ENTITLEMENT_ID: o ID da autorização a atualizar.
  • 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 do projeto, da pasta ou da organização para os quais 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.
  • FILENAME: um ficheiro que contém a configuração modificada da concessão. Para criar este ficheiro, obtenha ou exporte a autorização existente, guarde a resposta num ficheiro YAML e, em seguida, modifique-a para usar como corpo do seu pedido de atualização. Tem de incluir o ETAG no corpo para atualizar a versão mais recente da concessão. Para ver os campos disponíveis que pode alterar ou adicionar, consulte o artigo Crie autorizações de forma programática.

Execute o seguinte comando:

Linux, macOS ou Cloud Shell

gcloud pam entitlements update \
    ENTITLEMENT_ID \
    --entitlement-file=FILENAME.yaml \
    --location=global \
    --RESOURCE_TYPE=RESOURCE_ID

Windows (PowerShell)

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

Windows (cmd.exe)

gcloud pam entitlements update ^
    ENTITLEMENT_ID ^
    --entitlement-file=FILENAME.yaml ^
    --location=global ^
    --RESOURCE_TYPE=RESOURCE_ID

Deve receber uma resposta semelhante à seguinte:

Request issued for: [ENTITLEMENT_ID]
Waiting for operation [projects/my-project/locations/global/operations/OPERATION_ID] to complete...done.
Updated entitlement [ENTITLEMENT_ID].
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'

REST

O método updateEntitlement da API Privileged Access Manager atualiza uma autorização específica.

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

  • SCOPE: a organização, a pasta ou o projeto em que a concessão se encontra, 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 da autorização a atualizar.
  • UPDATED_FIELDS: uma lista separada por vírgulas dos campos que estão a ser atualizados na concessão. Por exemplo:

    ?updateMask=privilegedAccess,maxRequestDuration

    Para todos os campos atualizáveis, defina a máscara de atualização como *.

  • 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.
  • request.json: um ficheiro que contém a configuração modificada da concessão. Para criar este ficheiro, obtenha ou exporte a autorização existente, guarde a resposta no ficheiro com o nome request.json e, em seguida, modifique-o para usar como corpo do pedido de atualização. Tem de incluir o ETAG no corpo para atualizar a versão mais recente da concessão. Para ver os campos disponíveis que pode alterar ou adicionar, consulte Crie autorizações de forma programática.

Método HTTP e URL:

PATCH https://privilegedaccessmanager.googleapis.com/v1/SCOPE/locations/global/entitlements/ENTITLEMENT_ID?updateMask=UPDATED_FIELDS&requestId=REQUEST_ID

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-25T01:55:02.544562950Z",
    "target": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID",
    "verb": "update",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Para verificar o progresso de uma operação de atualizaçã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

Elimine direitos de utilização por programação

gcloud

O comando gcloud pam entitlements delete elimina uma autorização específica.

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

  • ENTITLEMENT_ID: o ID do direito de utilização a eliminar.
  • 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 do projeto, da pasta ou da organização para os quais 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.

Execute o seguinte comando:

Linux, macOS ou Cloud Shell

gcloud pam entitlements delete \
    ENTITLEMENT_ID \
    --location=global \
    --RESOURCE_TYPE=RESOURCE_ID

Windows (PowerShell)

gcloud pam entitlements delete `
    ENTITLEMENT_ID `
    --location=global `
    --RESOURCE_TYPE=RESOURCE_ID

Windows (cmd.exe)

gcloud pam entitlements delete ^
    ENTITLEMENT_ID ^
    --location=global ^
    --RESOURCE_TYPE=RESOURCE_ID

Deve receber uma resposta semelhante à seguinte:

Delete request issued for: [ENTITLEMENT_ID]
Waiting for operation [projects/my-project/locations/global/operations/OPERATION_ID] to complete...done.
Deleted entitlement [ENTITLEMENT_ID].

REST

O método deleteEntitlement da API Privileged Access Manager elimina uma autorização específica.

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 eliminar 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 do direito de utilização a eliminar.
  • REQUEST_ID: opcional. Tem de ser um UUID diferente de zero. Se o servidor receber um pedido com um ID do pedido, verifica se já foi concluído outro pedido com esse ID nos últimos 60 minutos. Se for o caso, o novo pedido é ignorado.

Método HTTP e URL:

DELETE https://privilegedaccessmanager.googleapis.com/v1/SCOPE/locations/global/entitlements/ENTITLEMENT_ID?requestId=REQUEST_ID

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-06T02:28:28.020293460Z",
    "target": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID",
    "verb": "delete",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Para verificar o progresso de uma operação de eliminaçã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