Cómo ver los subsidios en Privileged Access Manager

Puedes ver el estado y el historial de un otorgamiento, o revocar un otorgamiento para otros directores si está activo. El historial de otorgamientos está disponible durante 30 días después de que finaliza un otorgamiento.

Antes de comenzar

Asegúrate de habilitar Privileged Access Manager y configurar los permisos correspondientes.

Cómo ver las concesiones con la consola de Google Cloud

Para ver un otorgamiento, completa las siguientes instrucciones:

  1. Ve a la página Privileged Access Manager.

    Ir a Privileged Access Manager

  2. Selecciona la organización, la carpeta o el proyecto en los que deseas ver los otorgamientos.

  3. Haz clic en la pestaña Otorgamiento y, luego, en Otorgamiento para todos los usuarios. Esta pestaña contiene todos los otorgamientos, sus solicitantes y su estado. Los otorgamientos pueden tener los siguientes estados:

    Estado Descripción
    Activando El otorgamiento está en proceso de activación.
    error de activación Privileged Access Manager no pudo otorgar los roles debido a un error que no se puede recuperar.
    Activas El otorgamiento está activo y el principal tiene acceso a los recursos que permiten los roles.
    Aprobación pendiente La solicitud de otorgamiento está esperando la decisión de un revisor.
    Rechazada Un revisor rechazó la solicitud de otorgamiento.
    Finalizado El otorgamiento finalizó y los roles se quitaron de la principal.
    Vencida La solicitud de otorgamiento venció porque no se aprobó en un plazo de 24 horas.
    Revocado Se revoca el otorgamiento, y el principal ya no tiene acceso a los recursos que permiten los roles.
    Revocando… El otorgamiento está en proceso de revocación.

    Etiquetas de estado

    Además de estos estados, los otorgamientos pueden tener las siguientes etiquetas de estado junto a su estado, que indican condiciones especiales:

    Modificado a través de IAM

    Las vinculaciones de políticas de IAM asociadas con esta concesión se modificaron directamente a través de IAM. Para obtener detalles sobre las vinculaciones modificadas, consulta la página de IAM en la consola de Google Cloud. Cuando se revoca o finaliza un otorgamiento modificado, Privileged Access Manager solo quita las vinculaciones que creó y que no se modificaron a través de IAM.

    Modificar el título o la expresión de la condición de IAM, o quitar el acceso del solicitante al rol otorgado, se considera una modificación externa. Agregar o modificar la descripción de la condición de IAM no se considera una modificación externa.

    Privileged Access Manager verifica si hay modificaciones externas en las concesiones cada 5 minutos. Estos cambios pueden tardar hasta 5 minutos en reflejarse. Es posible que Privileged Access Manager no detecte los cambios transitorios que se realicen y reviertan dentro de este período de 5 minutos.

  4. En la tabla, haz clic en Más opciones en la misma fila del derecho que quieres inspeccionar.

    • Para ver los detalles del otorgamiento, incluido su historial, haz clic en Ver detalles. También puedes revocar un otorgamiento desde este panel.

    • Para revocar un otorgamiento activo, haz clic en Revocar otorgamiento.

También puedes ver los roles otorgados de forma temporal en la página de IAM en la consola de Google Cloud. En la pestaña Ver por principales, los roles otorgados de forma temporal tienen la condición Creador: PAM.

Cómo ver otorgamientos de manera programática

Para ver los otorgamiento de forma programática, puedes buscarlas, enumerarlas y obtenerlas.

Buscar otorgamientos

gcloud

El comando gcloud beta pam grants search busca un otorgamiento que hayas creado, que puedas aprobar o rechazar, o que ya hayas aprobado o rechazado. Este método no requiere permisos específicos de Privileged Access Manager para usarlo.

Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

  • ENTITLEMENT_ID: Es el ID del derecho al que pertenece el otorgamiento. Para recuperar el ID, puedes ver los derechos.
  • CALLER_RELATIONSHIP_TYPE: Usa uno de los siguientes valores:

    • had-created: Muestra los otorgamientos que creó el emisor.
    • had-approved: Muestra los permisos que el emisor aprobó o rechazó.
    • can-approve: Muestra las concesiones que el emisor puede aprobar o rechazar.
  • RESOURCE_TYPE: Opcional Es el tipo de recurso al que pertenece el derecho. Usa el valor organization, folder o project.
  • RESOURCE_ID: Se usa con RESOURCE_TYPE. Es el ID del proyecto, la carpeta o la organización de Google Cloud para el que deseas administrar los derechos. Los IDs de proyecto son cadenas alfanuméricas, como my-project. Los IDs de carpeta y organización son numéricos, como 123456789012.

Ejecuta el siguiente comando:

Linux, macOS o 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

Deberías recibir una respuesta similar a la que figura a continuación:

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

El método searchGrants de la API de Privileged Access Manager busca un otorgamiento que puedas aprobar o rechazar o que ya hayas aprobado o rechazado. Este método no requiere permisos específicos de Privileged Access Manager para usarlo.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • SCOPE: La organización, la carpeta o el proyecto en el que se encuentra el derecho, en el formato organizations/ORGANIZATION_ID, folders/FOLDER_ID o projects/PROJECT_ID. Los IDs de proyecto son cadenas alfanuméricas, como my-project. Los IDs de carpeta y organización son numéricos, como 123456789012.
  • ENTITLEMENT_ID: Es el ID del derecho al que pertenece el otorgamiento. Para recuperar el ID, puedes ver los derechos.
  • RELATIONSHIP_TYPE: Estos son los valores válidos:
    • HAD_CREATED: Muestra los otorgamientos que creó el emisor.
    • HAD_APPROVED: Muestra los otorgamientos que el emisor aprobó o denegó anteriormente.
    • CAN_APPROVE: Muestra las concesiones que el emisor puede aprobar o rechazar.
  • FILTER: Opcional Muestra las subvenciones cuyos valores de campo coinciden con una expresión de AIP-160.
  • PAGE_SIZE: Opcional Es la cantidad de elementos que se mostrarán en una respuesta.
  • PAGE_TOKEN: Opcional La página desde la que se debe iniciar la respuesta, con un token de página que se muestra en una respuesta anterior.

Método HTTP y 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 tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "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"
      ]
    }
  ]
}

Enumera los otorgamientos

gcloud

El comando gcloud beta pam grants list enumera los otorgamientos que pertenecen a un derecho específico.

Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

  • ENTITLEMENT_ID: Es el ID del derecho al que pertenece el otorgamiento. Para recuperar el ID, puedes ver los derechos.
  • RESOURCE_TYPE: Opcional Es el tipo de recurso al que pertenece el derecho. Usa el valor organization, folder o project.
  • RESOURCE_ID: Se usa con RESOURCE_TYPE. Es el ID del proyecto, la carpeta o la organización de Google Cloud para el que deseas administrar los derechos. Los IDs de proyecto son cadenas alfanuméricas, como my-project. Los IDs de carpeta y organización son numéricos, como 123456789012.

Ejecuta el siguiente comando:

Linux, macOS o 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

Deberías recibir una respuesta similar a la que figura a continuación:

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

El método listGrants de la API de Privileged Access Manager enumera los otorgamientos que pertenecen a un derecho específico.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • SCOPE: La organización, la carpeta o el proyecto en el que se encuentra el derecho, en el formato organizations/ORGANIZATION_ID, folders/FOLDER_ID o projects/PROJECT_ID. Los IDs de proyecto son cadenas alfanuméricas, como my-project. Los IDs de carpeta y organización son numéricos, como 123456789012.
  • ENTITLEMENT_ID: Es el ID del derecho al que pertenece el otorgamiento. Para recuperar el ID, puedes ver los derechos.
  • FILTER: Opcional Muestra los otorgamientos cuyos valores de campo coinciden con una expresión de AIP-160.
  • PAGE_SIZE: Opcional Es la cantidad de elementos que se mostrarán en una respuesta.
  • PAGE_TOKEN: Opcional La página desde la que se debe iniciar la respuesta, con un token de página que se muestra en una respuesta anterior.

Método HTTP y URL:

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

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "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"
      ]
    }
  ]
}

Obtener otorgamientos

gcloud

El comando gcloud beta pam grants describe recupera un otorgamiento específico.

Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:

  • GRANT_ID: Es el ID del otorgamiento del que deseas obtener los detalles.
  • ENTITLEMENT_ID: Es el ID del derecho al que pertenece el otorgamiento.
  • RESOURCE_TYPE: Opcional Es el tipo de recurso al que pertenece el derecho. Usa el valor organization, folder o project.
  • RESOURCE_ID: Se usa con RESOURCE_TYPE. Es el ID del proyecto, la carpeta o la organización de Google Cloud para el que deseas administrar los derechos. Los IDs de proyecto son cadenas alfanuméricas, como my-project. Los IDs de carpeta y organización son numéricos, como 123456789012.

Ejecuta el siguiente comando:

Linux, macOS o 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

Deberías recibir una respuesta similar a la que figura a continuación:

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

El método getGrant de la API de Privileged Access Manager recupera un otorgamiento específico.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • SCOPE: La organización, la carpeta o el proyecto en el que se encuentra el derecho, en el formato organizations/ORGANIZATION_ID, folders/FOLDER_ID o projects/PROJECT_ID. Los IDs de proyecto son cadenas alfanuméricas, como my-project. Los IDs de carpeta y organización son numéricos, como 123456789012.
  • ENTITLEMENT_ID: Es el ID del derecho al que pertenece el otorgamiento.
  • GRANT_ID: Es el ID delotorgamiento del que deseas obtener los detalles.

Método HTTP y URL:

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

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "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"
  ]
}