Conferir benefícios no Privileged Access Manager

Você pode conferir o status e o histórico de uma concessão ou revogar uma concessão para outros responsáveis se ela estiver ativa. O histórico de uma concessão fica disponível por 30 dias após o término.

Antes de começar

Verifique se você ativou o Privileged Access Manager e configurou as permissões dele.

Conferir permissões usando o console do Google Cloud

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

  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 visualizar uma concessão.

  3. Para conferir o histórico de concessões, incluindo os status de aprovação, clique na guia Concessões e, em seguida, em Minhas concessões. Essa guia contém todas as concessões, os solicitantes e o status delas. As doações podem ter os seguintes status:

    Status Descrição
    Ativando A concessão está sendo ativada.
    Falha na ativação O Privileged Access Manager não concedeu as funções devido a um erro não recuperável.
    Ativo A concessão está ativa e o principal tem acesso aos recursos permitidos pelos papéis.
    Aguardando aprovação A solicitação de concessão está aguardando uma decisão de um aprovador.
    Negado A solicitação de concessão foi negada por um aprovador.
    Finalizada A concessão foi encerrada e as funções foram removidas do principal.
    Expirado O pedido de concessão expirou porque a aprovação não foi concedida em 24 horas.
    Revogado A concessão é revogada, e o participante não tem mais acesso aos recursos permitidos pelas funções.
    Revogando A concessão está em processo de revogação.

    Rótulos de status

    Além desses status, os benefícios podem ter os seguintes rótulos de status exibidos ao lado deles, que indicam condições especiais:

    Modificado pelo IAM

    As vinculações de política do IAM associadas a este acesso foram modificadas diretamente pelo IAM. Para saber mais sobre vinculações modificadas, consulte a página IAM no console do Google Cloud. Quando uma concessão modificada é revogada ou encerrada, o Privileged Access Manager remove apenas as vinculações criadas que não foram modificadas pelo IAM.

    Modificar o título ou a expressão da condição do IAM ou remover o acesso do solicitante ao papel concedido é tratado como uma modificação externa. Adicionar ou modificar a descrição da condição do IAM não é considerado uma modificação externa.

    O Privileged Access Manager verifica modificações externas em permissões a cada cinco minutos. Pode levar até cinco minutos para que essas mudanças sejam aplicadas. As mudanças temporárias feitas e revertidas dentro desse período de cinco minutos podem não ser detectadas pelo Privileged Access Manager.

  4. Na tabela, clique em Mais opções na mesma linha do direito de acesso que você quer inspecionar.

    • Para conferir os detalhes do financiamento, incluindo o histórico, clique em Ver detalhes. Também é possível revogar uma concessão nesse painel.

    • Para revogar uma concessão ativa, clique em Revogar concessão.

Também é possível conferir os papéis concedidos temporariamente na página do IAM no console do Google Cloud. Na guia Visualizar por principais, os papéis concedidos temporariamente têm a condição Criado por: PAM.

Visualizar benefícios de maneira programática

Para conferir as permissões de forma programática, é possível pesquisar, listar e receber elas.

Pesquisar benefícios

gcloud

O comando gcloud beta pam grants search procura uma concessão que você criou, pode aprovar ou negar ou que já foi aprovada ou negada. Esse método não exige permissões específicas do Privileged Access Manager para ser usado.

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

  • ENTITLEMENT_ID: o ID do direito de acesso a que o acesso pertence. Para recuperar o ID, confira as concessões.
  • Use um dos seguintes valores: CALLER_RELATIONSHIP_TYPE.

    • had-created: retorna as permissões que o autor da chamada criou.
    • had-approved: retorna as concessões que o autor da chamada aprovou ou negou.
    • can-approve: retorna as permissões que o autor da chamada pode aprovar ou negar.
  • 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 do projeto, da pasta ou da organização do Google Cloud que você quer gerenciar os direitos de acesso. 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.

Execute o seguinte comando:

Linux, macOS ou Cloud Shell

gcloud beta pam grants search \
    --entitlement=ENTITLEMENT_ID \
    --caller-relationship=CALLER_RELATIONSHIP_TYPE \
    --location=global \
    --RESOURCE_TYPE=RESOURCE_ID

Windows (PowerShell)

gcloud beta pam grants search `
    --entitlement=ENTITLEMENT_ID `
    --caller-relationship=CALLER_RELATIONSHIP_TYPE `
    --location=global `
    --RESOURCE_TYPE=RESOURCE_ID

Windows (cmd.exe)

gcloud beta pam grants search ^
    --entitlement=ENTITLEMENT_ID ^
    --caller-relationship=CALLER_RELATIONSHIP_TYPE ^
    --location=global ^
    --RESOURCE_TYPE=RESOURCE_ID

Você receberá uma resposta semelhante a esta:

additionalEmailRecipients:
- bola@example.com
createTime: '2024-03-07T00:34:32.557017289Z'
justification:
  unstructuredJustification: Renaming a file to mitigate issue #312
name: projects/my-project/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID
privilegedAccess:
  gcpIamAccess:
    resource: //cloudresourcemanager.googleapis.com/projects/my-project
    resourceType: cloudresourcemanager.googleapis.com/Project
    roleBindings:
    - role: roles/storage.admin
requestedDuration: 3600s
requester: cruz@example.com
state: DENIED
timeline:
  events:
  - eventTime: '2024-03-07T00:34:32.793769042Z'
    requested:
      expireTime: '2024-03-08T00:34:32.793769042Z'
  - denied:
      actor: alex@example.com
      reason: Issue has already been resolved
    eventTime: '2024-03-07T00:36:08.309116203Z'
updateTime: '2024-03-07T00:34:32.926967128Z'

REST

O método searchGrants da API Privileged Access Manager pesquisa uma concessão que você pode criar, aprovar ou recusar ou que já foi aprovada ou recusada. Esse método não exige permissões específicas do Privileged Access Manager para ser usado.

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 está, 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 que o acesso pertence. Para recuperar o ID, confira as concessões.
  • RELATIONSHIP_TYPE: os valores válidos são:
    • HAD_CREATED: retorna as permissões que o autor da chamada criou.
    • HAD_APPROVED: retorna as concessões que o autor da chamada aprovou ou negou anteriormente.
    • CAN_APPROVE: retorna as permissões que o autor da chamada pode aprovar ou negar.
  • FILTER: opcional. Retorna as concessões cujos valores de campo correspondem a uma expressão AIP-160.
  • PAGE_SIZE: opcional. O número de itens a serem retornados em uma resposta.
  • PAGE_TOKEN: opcional. A página em que a resposta vai começar, usando um token de página retornado em uma resposta anterior.

Método HTTP e URL:

GET https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID/grants:search?callerRelationship=RELATIONSHIP_TYPE&filter=FILTER&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN

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

Você receberá uma resposta JSON semelhante a esta:

{
  "grants": [
    {
      "name": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID",
      "createTime": "2024-03-06T03:08:49.330577625Z",
      "updateTime": "2024-03-06T03:08:49.625874598Z",
      "requester": "alex@example.com",
      "requestedDuration": "3600s",
      "justification": {
        "unstructuredJustification": "Emergency service for outage"
      },
      "state": "APPROVAL_AWAITED",
      "timeline": {
        "events": [
          {
            "eventTime": "2024-03-06T03:08:49.462765846Z",
            "requested": {
              "expireTime": "2024-03-07T03:08:49.462765846Z"
            }
          }
        ]
      },
      "privilegedAccess": {
        "gcpIamAccess": {
          "resourceType": "cloudresourcemanager.googleapis.com/Project",
          "resource": "//cloudresourcemanager.googleapis.com/projects/my-project",
          "roleBindings": [
            {
              "role": "roles/storage.admin"
            }
          ]
        }
      },
      "additionalEmailRecipients": [
        "bola@google.com"
      ]
    }
  ]
}

Listar benefícios

gcloud

O comando gcloud beta pam grants list lista as concessões que pertencem a um direito específico.

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

  • ENTITLEMENT_ID: o ID do direito de acesso a que o acesso pertence. Para recuperar o ID, confira os direitos de acesso.
  • 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 do projeto, da pasta ou da organização do Google Cloud que você quer gerenciar os direitos de acesso. 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.

Execute o seguinte comando:

Linux, macOS ou Cloud Shell

gcloud beta pam grants list \
    --entitlement=ENTITLEMENT_ID \
    --location=global \
    --RESOURCE_TYPE=RESOURCE_ID

Windows (PowerShell)

gcloud beta pam grants list `
    --entitlement=ENTITLEMENT_ID `
    --location=global `
    --RESOURCE_TYPE=RESOURCE_ID

Windows (cmd.exe)

gcloud beta pam grants list ^
    --entitlement=ENTITLEMENT_ID ^
    --location=global ^
    --RESOURCE_TYPE=RESOURCE_ID

Você receberá uma resposta semelhante a esta:

createTime: '2024-03-25T23:10:16.952789492Z'
justification:
  unstructuredJustification: Adding missing file for service to work properly
name: projects/my-project/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID
privilegedAccess:
  gcpIamAccess:
    resource: //cloudresourcemanager.googleapis.com/projects/my-project
    resourceType: cloudresourcemanager.googleapis.com/Project
    roleBindings:
    - role: roles/storage.admin
requestedDuration: 1800s
requester: alex@example.com
state: EXPIRED
timeline:
  events:
  - eventTime: '2024-03-25T23:10:17.155612987Z'
    requested:
      expireTime: '2024-03-26T23:10:17.155612987Z'
  - eventTime: '2024-03-26T23:10:17.279777370Z'
    expired: {}
updateTime: '2024-03-25T23:10:17.273416257Z'

REST

O método listGrants da API Privileged Access Manager revoga concessões que pertencem a um direito de acesso específico.

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 está, 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 que o acesso pertence. Para recuperar o ID, confira os direitos de acesso.
  • FILTER: opcional. Retorna as concessões cujos valores de campo correspondem a uma expressão AIP-160.
  • PAGE_SIZE: opcional. O número de itens a serem retornados em uma resposta.
  • PAGE_TOKEN: opcional. A página em que a resposta vai começar, usando um token de página retornado em uma resposta anterior.

Método HTTP e URL:

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

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

Você receberá uma resposta JSON semelhante a esta:

{
  "grants": [
    {
      "name": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID",
      "createTime": "2024-03-06T03:08:49.330577625Z",
      "updateTime": "2024-03-06T03:08:49.625874598Z",
      "requester": "alex@example.com",
      "requestedDuration": "3600s",
      "justification": {
        "unstructuredJustification": "Emergency service for outage"
      },
      "state": "APPROVAL_AWAITED",
      "timeline": {
        "events": [
          {
            "eventTime": "2024-03-06T03:08:49.462765846Z",
            "requested": {
              "expireTime": "2024-03-07T03:08:49.462765846Z"
            }
          }
        ]
      },
      "privilegedAccess": {
        "gcpIamAccess": {
          "resourceType": "cloudresourcemanager.googleapis.com/Project",
          "resource": "//cloudresourcemanager.googleapis.com/projects/my-project",
          "roleBindings": [
            {
              "role": "roles/storage.admin"
            }
          ]
        }
      },
      "additionalEmailRecipients": [
        "bola@google.com"
      ]
    }
  ]
}

Receber benefícios

gcloud

O comando gcloud beta pam grants describe solicita uma concessão específica.

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

  • GRANT_ID: o ID da concessão que você quer ver os detalhes.
  • ENTITLEMENT_ID: o ID do direito de acesso a que o acesso pertence.
  • 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 do projeto, da pasta ou da organização do Google Cloud que você quer gerenciar os direitos de acesso. 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.

Execute o seguinte comando:

Linux, macOS ou Cloud Shell

gcloud beta pam grants describe \
    GRANT_ID \
    --entitlement=ENTITLEMENT_ID \
    --location=global \
    --RESOURCE_TYPE=RESOURCE_ID

Windows (PowerShell)

gcloud beta pam grants describe `
    GRANT_ID `
    --entitlement=ENTITLEMENT_ID `
    --location=global `
    --RESOURCE_TYPE=RESOURCE_ID

Windows (cmd.exe)

gcloud beta pam grants describe ^
    GRANT_ID ^
    --entitlement=ENTITLEMENT_ID ^
    --location=global ^
    --RESOURCE_TYPE=RESOURCE_ID

Você receberá uma resposta semelhante a esta:

createTime: '2024-03-25T23:10:16.952789492Z'
justification:
  unstructuredJustification: Adding missing file for service to work properly
name: projects/my-project/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID
privilegedAccess:
  gcpIamAccess:
    resource: //cloudresourcemanager.googleapis.com/projects/my-project
    resourceType: cloudresourcemanager.googleapis.com/Project
    roleBindings:
    - role: roles/storage.admin
requestedDuration: 1800s
requester: alex@example.com
state: EXPIRED
timeline:
  events:
  - eventTime: '2024-03-25T23:10:17.155612987Z'
    requested:
      expireTime: '2024-03-26T23:10:17.155612987Z'
  - eventTime: '2024-03-26T23:10:17.279777370Z'
    expired: {}
updateTime: '2024-03-25T23:10:17.273416257Z'

REST

O método getGrant da API Privileged Access Manager busca uma concessão ativa.

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 está, 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 que o acesso pertence.
  • GRANT_ID: o ID da concessão que você quer ver os detalhes.

Método HTTP e URL:

GET https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID

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

Você receberá uma resposta JSON semelhante a esta:

{
  "name": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID",
  "createTime": "2024-03-06T03:08:49.330577625Z",
  "updateTime": "2024-03-06T03:08:49.625874598Z",
  "requester": "alex@example.com",
  "requestedDuration": "3600s",
  "justification": {
    "unstructuredJustification": "Emergency service for outage"
  },
  "state": "APPROVAL_AWAITED",
  "timeline": {
    "events": [
      {
        "eventTime": "2024-03-06T03:08:49.462765846Z",
        "requested": {
          "expireTime": "2024-03-07T03:08:49.462765846Z"
        }
      }
    ]
  },
  "privilegedAccess": {
    "gcpIamAccess": {
      "resourceType": "cloudresourcemanager.googleapis.com/Project",
      "resource": "//cloudresourcemanager.googleapis.com/projects/my-project",
      "roleBindings": [
        {
          "role": "roles/storage.admin"
        }
      ]
    }
  },
  "additionalEmailRecipients": [
    "bola@google.com"
  ]
}