Después de que un principal solicita correctamente una concesión con respecto a un derecho y este está activo, los principales con los permisos correctos pueden revocarla. No se pueden revocar las concesiones que no tienen un estado activo.
Antes de comenzar
Asegúrate de habilitar Privileged Access Manager y configurar los permisos correspondientes.
Cómo revocar concesiones con la consola de Google Cloud
Para revocar una concesión específica realizada contra un derecho, completa las siguientes instrucciones:
Ve a la página Privileged Access Manager.
Selecciona la organización, la carpeta o el proyecto en el que deseas revocar las concesiones.
Haz clic en la pestaña Concesiones y, luego, en COncesiones para todos los usuarios. Incluye las concesiones de todos los solicitantes, los estados de ellas y sus detalles de derechos asociados.
En la tabla, haz clic en
Más opciones en la misma fila de la concesión que quieres revocar.Para revocar una concesión activa, haz clic en Revocar concesión.
Para revocar todas las concesiones activas otorgadas a un derecho, completa las siguientes instrucciones:
Ve a la página Privileged Access Manager.
Haz clic en la pestaña Derechos y, luego, en Derechos para todos los usuarios. Aquí puedes encontrar los derechos disponibles, los roles que otorgan y sus solicitantes y revisores válidos.
En la tabla, haz clic en
Más opciones en la misma fila del derecho para el que deseas revocar las concesiones.Haz clic en Revocar todos las concesiones.
Cómo revocar concesiones de manera programática
gcloud
El comando gcloud beta pam grants revoke
revoca una concesión activa.
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
GRANT_ID
: Es el ID de la concesión que deseas revocar. Para recuperar el ID, puedes ver las concesiones.ENTITLEMENT_ID
: Es el ID del derecho al que pertenece la concesión.REVOKE_REASON
: Por qué se revocó la concesión.RESOURCE_TYPE
: Opcional Es el tipo de recurso al que pertenece el derecho. Usa el valororganization
,folder
oproject
.RESOURCE_ID
: Se usa conRESOURCE_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, comomy-project
. Los IDs de carpeta y organización son numéricos, como123456789012
.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud beta pam grants revoke \ GRANT_ID \ --entitlement=ENTITLEMENT_ID \ --reason="REVOKE_REASON" \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud beta pam grants revoke ` GRANT_ID ` --entitlement=ENTITLEMENT_ID ` --reason="REVOKE_REASON" ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud beta 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 que figura a continuación:
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 de Privileged Access Manager revoca una concesión activa.
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 formatoorganizations/ORGANIZATION_ID
,folders/FOLDER_ID
oprojects/PROJECT_ID
. Los IDs de proyecto son cadenas alfanuméricas, comomy-project
. Los IDs de carpeta y organización son numéricos, como123456789012
.ENTITLEMENT_ID
: Es el ID del derecho al que pertenece la concesión.GRANT_ID
: Es el ID de la concesión que deseas revocar. Para recuperar el ID, puedes ver las concesiones.REVOKE_REASON
: Es el motivo por el que se revocó la concesión.
Método HTTP y URL:
POST https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID:revoke
Cuerpo JSON de la solicitud:
{ "reason": "REVOKE_REASON" }
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/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.privilegedaccessmanager.v1beta.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": "v1beta" }, "done": false }
Para verificar el progreso de una operación de revocación, puedes enviar una solicitud GET
al siguiente extremo:
https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations/OPERATION_ID
Envía una solicitud GET
al siguiente extremo para enumerar todas las operaciones:
https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations