Para elevar tus privilegios temporalmente, puedes solicitar una concesión de un derecho en Gestor de accesos privilegiados (PAM) durante un periodo fijo.
Un derecho contiene roles que se te conceden después de que tu solicitud se haya completado correctamente. Privileged Access Manager elimina estos roles cuando finaliza la concesión.
Ten en cuenta lo siguiente si quieres solicitar una concesión de derechos:
Solo puedes solicitar subvenciones para los derechos a los que se te haya añadido. Para que se te añada a un derecho, ponte en contacto con el responsable de administrarlo.
Solo puedes tener una concesión activa para un derecho a la vez.
En función de cómo se haya configurado, es posible que una solicitud de subvención requiera aprobación para concederse.
Si una solicitud de concesión requiere aprobación y no se aprueba ni se rechaza en un plazo de 24 horas, el estado de la concesión cambia a
Expired
. Después, debes hacer una nueva solicitud de concesión si sigue siendo necesario elevar los privilegios.Las solicitudes de concesión correctas pueden tardar unos minutos en aplicarse.
Solicitar una concesión mediante la consola Trusted Cloud
Para solicitar una concesión de derechos, sigue estas instrucciones:
Ve a la página Privileged Access Manager.
Selecciona la organización, la carpeta o el proyecto en el que quieras solicitar una subvención.
En la pestaña Mis derechos, busca el derecho que quieras solicitar y, a continuación, haz clic en Solicitar concesión en la misma fila.
Proporciona los siguientes datos:
La duración necesaria para la concesión, hasta la duración máxima establecida en el derecho.
Si es necesario, una justificación de la concesión.
Opcional: direcciones de correo a las que se debe enviar la notificación de la solicitud de concesión. Las identidades de Google asociadas a los aprobadores reciben una notificación automáticamente. Sin embargo, puede que quieras enviar notificaciones a otro conjunto de direcciones de correo, sobre todo si usas federación de identidades de la plantilla.
Haz clic en Solicitar subvención.
Para ver tu historial de subvenciones, incluidos los estados de aprobación, haz clic en la pestaña Subvenciones y, a continuación, en la pestaña Mis subvenciones.
Solicitar una concesión de forma programática
Para solicitar una concesión de derechos, debes seguir estos pasos:
Busca los IDs de derechos disponibles para los que puedes solicitar concesiones.
Solicita la concesión.
Después, puedes consultar el estado de tu concesión para ver si está activa, lo que significa que has recibido la elevación temporal.
Buscar derechos disponibles
gcloud
El comando
gcloud pam entitlements search
con el tipo de acceso de la persona que llama grant-requester
busca los derechos para los que puedes solicitar una concesión.
Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
RESOURCE_TYPE
: opcional. El tipo de recurso al que pertenece el derecho. Usa el valororganization
,folder
oproject
.RESOURCE_ID
: se usa conRESOURCE_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, comomy-project
. Los IDs de carpetas y organizaciones son numéricos, como123456789012
.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud pam entitlements search \ --caller-access-type=grant-requester \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud pam entitlements search ` --caller-access-type=grant-requester ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud pam entitlements search ^ --caller-access-type=grant-requester ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
Deberías recibir una respuesta similar a la siguiente:
additionalNotificationTargets: {} approvalWorkflow: manualApprovals: requireApproverJustification: true steps: - approvalsNeeded: 1 approvers: - principals: - user:alex@example.com createTime: '22024-03-26T11:07:37.009498890Z' etag: ETAG 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: notMandatory: {} state: AVAILABLE updateTime: '2024-03-26T11:07:40.056780645Z'
REST
El método searchEntitlements
de la API Privileged Access Manager con el tipo de acceso de la persona que llama GRANT_REQUESTER
busca los derechos para los que puedes solicitar una concesión.
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 formatoorganizations/ORGANIZATION_ID
,folders/FOLDER_ID
oprojects/PROJECT_ID
. Los IDs de proyecto son cadenas alfanuméricas, comomy-project
. Los IDs de carpetas y organizaciones son numéricos, como123456789012
.FILTER
: opcional. Devuelve los derechos cuyos valores de campo coinciden con una expresión AIP-160.PAGE_SIZE
: opcional. Número de elementos que se van a devolver en una respuesta.PAGE_TOKEN
: opcional. Página desde la que se inicia la respuesta, mediante un token de página devuelto en una respuesta anterior.
Método HTTP y URL:
GET https://privilegedaccessmanager.googleapis.com/v1/SCOPE/locations/global/entitlements:search?callerAccessType=GRANT_REQUESTER&filter=FILTER&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN
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/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": "ETAG" } ]
Solicitar una concesión de un derecho
gcloud
El comando
gcloud pam grants create
solicita un permiso.
Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
ENTITLEMENT_ID
: ID del derecho para crear la concesión.GRANT_DURATION
: duración solicitada de la concesión, en segundos.JUSTIFICATION
: la justificación de la solicitud de la subvención.EMAIL_ADDRESS
: opcional. Direcciones de correo adicionales a las que se debe notificar la solicitud de concesión. Las identidades de Google asociadas a los aprobadores reciben una notificación automáticamente. Sin embargo, puede que quieras enviar notificaciones a otro conjunto de direcciones de correo, sobre todo si usas Federación de identidades de la plantilla.RESOURCE_TYPE
: opcional. El tipo de recurso al que pertenece el derecho. Usa el valororganization
,folder
oproject
.RESOURCE_ID
: se usa conRESOURCE_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, comomy-project
. Los IDs de carpetas y organizaciones son numéricos, como123456789012
.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud pam grants create \ --entitlement=ENTITLEMENT_ID \ --requested-duration="GRANT_DURATIONs" \ --justification="JUSTIFICATION" \ --location=global \ [--additional-email-recipients=EMAIL_ADDRESS_1, EMAIL_ADDRESS_2] \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud pam grants create ` --entitlement=ENTITLEMENT_ID ` --requested-duration="GRANT_DURATIONs" ` --justification="JUSTIFICATION" ` --location=global ` [--additional-email-recipients=EMAIL_ADDRESS_1, EMAIL_ADDRESS_2] ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud pam grants create ^ --entitlement=ENTITLEMENT_ID ^ --requested-duration="GRANT_DURATIONs" ^ --justification="JUSTIFICATION" ^ --location=global ^ [--additional-email-recipients=EMAIL_ADDRESS_1, EMAIL_ADDRESS_2] ^ --RESOURCE_TYPE=RESOURCE_ID
Deberías recibir una respuesta similar a la siguiente:
Created [GRANT_ID].
REST
El método createGrant
de la API Privileged Access Manager solicita una concesión.
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 formatoorganizations/ORGANIZATION_ID
,folders/FOLDER_ID
oprojects/PROJECT_ID
. Los IDs de proyecto son cadenas alfanuméricas, comomy-project
. Los IDs de carpetas y organizaciones son numéricos, como123456789012
.ENTITLEMENT_ID
: ID del derecho para crear la concesión.REQUEST_ID
: opcional. Debe ser un UUID distinto de cero. Si el servidor recibe una solicitud con un ID de solicitud, comprueba si ya se ha completado otra solicitud con ese ID en los últimos 60 minutos. Si es así, se ignora la nueva solicitud.GRANT_DURATION
: duración solicitada de la concesión, en segundos.JUSTIFICATION
: la justificación de la solicitud de la subvención.EMAIL_ADDRESS
: opcional. Direcciones de correo adicionales a las que se debe notificar la solicitud de concesión. Las identidades de Google asociadas a los aprobadores reciben una notificación automáticamente. Sin embargo, puede que quieras enviar notificaciones a otro conjunto de direcciones de correo, sobre todo si usas Federación de identidades de la plantilla.
Método HTTP y URL:
POST https://privilegedaccessmanager.googleapis.com/v1/SCOPE/locations/global/entitlements/ENTITLEMENT_ID/grants?requestId=REQUEST_ID
Cuerpo JSON de la solicitud:
{ "requestedDuration": "GRANT_DURATIONs", "justification": { "unstructuredJustification": "JUSTIFICATION" }, "additionalEmailRecipients": [ "EMAIL_ADDRESS_1", "EMAIL_ADDRESS_2", ... ] }
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/entitlements/ENTITLEMENT_ID/grants/GRANT_ID", "createTime": "2024-03-06T03:08:49.330577625Z", "updateTime": "2024-03-06T03:08:49.330577625Z", "requester": "bola@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": [ "alex@example.com" ] }
Consultar el estado de una solicitud de subvención
gcloud
El comando
gcloud pam grants search
se usa con la relación de llamada had-created
para buscar las concesiones que has creado. Para comprobar su estado, busca el campo state
en la respuesta.
Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
ENTITLEMENT_ID
: ID del derecho al que pertenece la concesión.RESOURCE_TYPE
: opcional. El tipo de recurso al que pertenece el derecho. Usa el valororganization
,folder
oproject
.RESOURCE_ID
: se usa conRESOURCE_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, comomy-project
. Los IDs de carpetas y organizaciones son numéricos, como123456789012
.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud pam grants search \ --entitlement=ENTITLEMENT_ID \ --caller-relationship=had-created \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud pam grants search ` --entitlement=ENTITLEMENT_ID ` --caller-relationship=had-created ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud pam grants search ^ --entitlement=ENTITLEMENT_ID ^ --caller-relationship=had-created ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
Deberías recibir una respuesta similar a la siguiente:
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'
Las subvenciones pueden tener los siguientes estados:
Estado | Descripción |
---|---|
ACTIVANDO | La concesión está en proceso de activación. |
ACTIVATION_FAILED | Privileged Access Manager no ha podido conceder los roles debido a un error no recuperable. |
ACTIVA | La concesión está activa y la entidad principal tiene acceso a los recursos permitidos por los roles. |
APPROVAL_AWAITED | La solicitud de concesión está pendiente de la decisión de un aprobador. |
RECHAZADA | Un aprobador ha denegado la solicitud de concesión. |
FINALIZADO | La concesión ha finalizado y los roles se han quitado de la entidad principal. |
CADUCADA | La solicitud de concesión ha caducado porque no se ha concedido la aprobación en un plazo de 24 horas. |
REVOKED | Se revoca la concesión y la entidad principal ya no tiene acceso a los recursos permitidos por los roles. |
REVOCACIÓN | La concesión se está revocando. |
REST
El método searchGrants
de la API Privileged Access Manager se usa con la relación de la persona que llama HAD_CREATED
para buscar las concesiones que has creado. Para comprobar su estado, busca el campo state
en la respuesta.
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 formatoorganizations/ORGANIZATION_ID
,folders/FOLDER_ID
oprojects/PROJECT_ID
. Los IDs de proyecto son cadenas alfanuméricas, comomy-project
. Los IDs de carpetas y organizaciones son numéricos, como123456789012
.ENTITLEMENT_ID
: ID del derecho al que pertenece la concesión.FILTER
: opcional. Devuelve las concesiones cuyos valores de campo coinciden con una expresión AIP-160.PAGE_SIZE
: opcional. Número de elementos que se van a devolver en una respuesta.PAGE_TOKEN
: opcional. Página desde la que se inicia la respuesta, mediante un token de página devuelto en una respuesta anterior.
Método HTTP y URL:
GET https://privilegedaccessmanager.googleapis.com/v1/SCOPE/locations/global/entitlements/ENTITLEMENT_ID/grants:search?callerRelationship=HAD_CREATED&filter=FILTER&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "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" ] } ] }
En la siguiente tabla se detallan los estados de las concesiones.
Estado | Descripción |
---|---|
ACTIVANDO | La concesión está en proceso de activación. |
ACTIVATION_FAILED | Privileged Access Manager no ha podido conceder los roles debido a un error no recuperable. |
ACTIVA | La concesión está activa y la entidad principal tiene acceso a los recursos permitidos por los roles. |
APPROVAL_AWAITED | La solicitud de concesión está pendiente de la decisión de un aprobador. |
RECHAZADA | Un aprobador ha denegado la solicitud de concesión. |
FINALIZADO | La concesión ha finalizado y los roles se han quitado de la entidad principal. |
CADUCADA | La solicitud de concesión ha caducado porque no se ha concedido la aprobación en un plazo de 24 horas. |
REVOKED | Se revoca la concesión y la entidad principal ya no tiene acceso a los recursos permitidos por los roles. |
REVOCACIÓN | La concesión se está revocando. |