Revocar permisos en Privileged Access Manager

Una vez que un principal haya solicitado una ayuda correctamente en relación con un derecho y este esté activo, los principales que tengan el permiso privilegedaccessmanager.grants.revoke podrán revocar la ayuda. Las subvenciones que no tengan un estado activo no se pueden revocar.

Antes de empezar

Comprueba que hayas habilitado Gestor de acceso privilegiado y configurado los permisos correspondientes.

Revocar concesiones con la consola Trusted Cloud

Para revocar un permiso específico concedido a un derecho, sigue estas 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 el que quieras revocar las concesiones.

  3. Haga clic en la pestaña Concesiones y, a continuación, en la pestaña Concesiones para todos los usuarios. Contiene todas las concesiones de todos los solicitantes, los estados de las concesiones y los detalles de los derechos asociados.

  4. En la tabla, haga clic en Más opciones en la misma fila que el permiso que quiera revocar.

  5. Para revocar una concesión activa, haz clic en Revocar concesión.

Para revocar todas las concesiones activas de un derecho, sigue estas instrucciones:

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

    Ir a Privileged Access Manager

  2. Haga clic en la pestaña Derechos y, a continuación, en la pestaña Derechos de todos los usuarios. Aquí puedes encontrar los derechos disponibles, los roles que conceden y los solicitantes y aprobadores válidos.

  3. En la tabla, haga clic en Más opciones en la misma fila que el derecho del que quiera revocar los permisos.

  4. Haz clic en Revocar todos los permisos.

Revocar concesiones mediante programación

gcloud

El comando gcloud pam grants revoke revoca una concesión activa.

Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:

  • GRANT_ID: el ID de la concesión que quieres revocar. Puedes obtener el ID consultando las concesiones.
  • ENTITLEMENT_ID: ID del derecho al que pertenece la concesión.
  • REVOKE_REASON: por qué se ha revocado la concesión.
  • RESOURCE_TYPE: opcional. El tipo de recurso al que pertenece el derecho. Usa el valor organization, folder o project.
  • RESOURCE_ID: se usa con RESOURCE_TYPE. El ID del proyecto, la carpeta o la organización Trusted Cloud para los que quieres gestionar los derechos. Los IDs de proyecto son cadenas alfanuméricas, como my-project. Los IDs de carpetas y organizaciones son numéricos, como 123456789012.

Ejecuta el siguiente comando:

Linux, macOS o Cloud Shell

gcloud pam grants revoke \
     GRANT_ID \
    --entitlement=ENTITLEMENT_ID \
    --reason="REVOKE_REASON" \
    --location=global \
    --RESOURCE_TYPE=RESOURCE_ID

Windows (PowerShell)

gcloud pam grants revoke `
     GRANT_ID `
    --entitlement=ENTITLEMENT_ID `
    --reason="REVOKE_REASON" `
    --location=global `
    --RESOURCE_TYPE=RESOURCE_ID

Windows (cmd.exe)

gcloud pam grants revoke ^
     GRANT_ID ^
    --entitlement=ENTITLEMENT_ID ^
    --reason="REVOKE_REASON" ^
    --location=global ^
    --RESOURCE_TYPE=RESOURCE_ID

Deberías recibir una respuesta similar a la siguiente:

auditTrail:
  accessGrantTime: '2024-04-05T00:29:16.703069535Z'
  accessRemoveTime: '2024-04-05T00:29:55.815041079Z'
createTime: '2024-04-05T00:27:43.822053968Z'
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: 2700s
requester: cruz@example.com
state: REVOKED
timeline:
  events:
  - eventTime: '2024-04-05T00:27:44.014277946Z'
    requested:
      expireTime: '2024-04-06T00:27:44.014277946Z'
  - approved:
      actor: alex@example.com
      reason: Access allowed under existing policy
    eventTime: '2024-04-05T00:29:14.921828714Z'
  - eventTime: '2024-04-05T00:29:14.921763008Z'
    scheduled:
      scheduledActivationTime: '2024-04-05T00:29:14.921763008Z'
  - activated: {}
    eventTime: '2024-04-05T00:29:16.703069535Z'
  - eventTime: '2024-04-05T00:29:55.815041079Z'
    revoked:
      actor: alex@example.com
      reason: Revoking due to new access policy

REST

El método revokeGrant de la API Privileged Access Manager revoca una concesión activa.

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • SCOPE: la organización, la carpeta o el proyecto en el que se encuentra el derecho, con 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 carpetas y organizaciones son numéricos, como 123456789012.
  • ENTITLEMENT_ID: ID del derecho al que pertenece la concesión.
  • GRANT_ID: el ID de la concesión que quieres revocar. Puedes obtener el ID consultando las concesiones.
  • REVOKE_REASON: el motivo por el que se ha revocado la concesión.

Método HTTP y URL:

POST https://privilegedaccessmanager.googleapis.com/v1/SCOPE/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID:revoke

Cuerpo JSON de la solicitud:

{
  "reason": "REVOKE_REASON"
}

Para enviar tu solicitud, despliega una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

{
  "name": "projects/my-project/locations/global/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.privilegedaccessmanager.v1.OperationMetadata",
    "createTime": "2024-03-06T23:07:48.716396505Z",
    "target": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID",
    "verb": "update",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Para comprobar el progreso de una operación de revocación, puedes enviar una solicitud GET al siguiente endpoint:

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

Envía una solicitud GET al siguiente endpoint para enumerar todas las operaciones:

https://privilegedaccessmanager.googleapis.com/v1/SCOPE/locations/global/operations