Puedes crear derechos para permitir la elevación temporal de privilegios para un conjunto seleccionado de principales. Ten en cuenta lo siguiente cuando crees derechos:
Puedes crear derechos a nivel de la organización, la carpeta o el proyecto. Los roles que otorga un derecho en cada nivel siguen la Cloud de Confiance by S3NS jerarquía de recursos. Por ejemplo, los roles que otorga un derecho a nivel de la organización se heredan a nivel de la carpeta y el proyecto.
Si el nivel Premium o Enterprise de Security Command Center está activado a nivel de la organización, puedes exigir más de un nivel de aprobación por derecho, lo que permite hasta dos niveles de aprobaciones secuenciales para cada derecho. Puedes exigir hasta cinco aprobaciones por nivel.
Después de recibir la cantidad requerida de aprobaciones de primer nivel, se envían notificaciones por correo electrónico a los aprobadores de segundo nivel. Después de recibir la cantidad requerida de aprobaciones de segundo nivel, el subsidio pasa al estado
active. Si algún aprobador rechaza el otorgamiento, este pasa al estadodeniedy no se envía a ningún aprobador adicional.Esta función está disponible en vista previa.
Si se permite que las cuentas de servicio aprueben las concesiones para este recurso, puedes agregar cuentas de servicio e identidades de grupos de cargas de trabajo como aprobadores. Si quieres obtener información para habilitar este parámetro de configuración, consulta Configura los parámetros de configuración de Privileged Access Manager.
Esta función está disponible en vista previa.
Si agregas un grupo como solicitante a un derecho, todas las cuentas individuales de ese grupo pueden solicitar una concesión de ese derecho. Sin embargo, solo la cuenta individual que solicita el otorgamiento puede recibir privilegios elevados.
Si agregas un grupo como aprobador a un derecho, todas las cuentas individuales de ese grupo pueden aprobar o rechazar una solicitud de concesión.
Se admiten los roles básicos (administrador, escritor y lector), pero no los roles básicos heredados (propietario, editor y visualizador).
No incluyas roles de agente de servicio en los derechos.
Algunos roles de agente de servicio contienen permisos muy potentes, y los permisos dentro de estos roles pueden cambiar sin previo aviso. En su lugar, elige una función predefinida o crea una función personalizada con los permisos que necesites.
Antes de comenzar
Para obtener los permisos que necesitas para crear derechos, pídele a tu administrador que te otorgue los siguientes roles de IAM en la organización, la carpeta o el proyecto para los que deseas crear derechos:
-
Crea derechos para una organización:
-
Administrador de Privileged Access Manager (
roles/privilegedaccessmanager.admin) -
Administrador de seguridad (
roles/iam.securityAdmin)
-
Administrador de Privileged Access Manager (
-
Crear para una carpeta:
-
Administrador de Privileged Access Manager (
roles/privilegedaccessmanager.admin) -
Administrador de IAM de carpeta (
roles/resourcemanager.folderAdmin)
-
Administrador de Privileged Access Manager (
-
Crea derechos para un proyecto:
-
Administrador de Privileged Access Manager (
roles/privilegedaccessmanager.admin) -
Administrador de IAM de proyecto (
roles/resourcemanager.projectIamAdmin)
-
Administrador de Privileged Access Manager (
-
Para ver los registros de auditoría, usa el Visualizador de registros (
roles/logs.viewer).
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Estos roles predefinidos contienen los permisos necesarios para crear derechos. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para crear derechos:
-
Para crear derechos y otorgamientos para una organización, haz lo siguiente:
-
resourcemanager.organizations.get -
resourcemanager.organizations.setIamPolicy -
privilegedaccessmanager.entitlements.create
-
-
Para crear derechos y otorgamientos para una carpeta, sigue estos pasos:
-
resourcemanager.folders.get -
resourcemanager.folders.setIamPolicy -
privilegedaccessmanager.entitlements.create
-
-
Para crear derechos y otorgamientos para un proyecto, haz lo siguiente:
-
resourcemanager.projects.get -
resourcemanager.projects.setIamPolicy -
privilegedaccessmanager.entitlements.create
-
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Crea derechos
Console
Ve a la página Privileged Access Manager.
Selecciona la organización, la carpeta o el proyecto al que deseas aplicar el derecho.
Haz clic en la pestaña Derechos.
Haz clic en Crear.
En la sección Detalles del derecho, ingresa los siguientes detalles del derecho:
Es el nombre de un derecho. Un nombre de derecho puede tener entre 4 y 63 caracteres. Debe comenzar con una letra minúscula y solo puede contener letras minúsculas, números y guiones.
Se pueden otorgar hasta 30 roles en la organización, la carpeta o el proyecto.
También puedes agregar condiciones de IAM a estos roles de la misma manera en que agregas condiciones a las vinculaciones de roles de políticas de permiso. Sin embargo, en los derechos de Privileged Access Manager, el uso de condiciones que verifican las etiquetas de un recurso se encuentra en versión preliminar.
Es la duración máxima de un permiso. La duración máxima que puedes establecer para un derecho es de 7 días.
Haz clic en Siguiente.
En la sección Agregar solicitantes, ingresa hasta 20 principales solicitantes válidos para el derecho.
Se admiten todos los tipos de principal, excepto
allUsersyallAuthenticatedUsers. Para agregar más de 20 identidades, agrégalas a un grupo y, luego, indícalo en el derecho.Elige si las principales deben proporcionar una justificación para la solicitud de concesión.
Ingresa direcciones de correo electrónico adicionales de los usuarios a los que se les notificará cuando el derecho sea apto para solicitarse.
Las identidades de Google asociadas con el derecho, como los aprobadores y los solicitantes, reciben notificaciones automáticamente. Sin embargo, si quieres notificar a más personas, puedes agregar sus direcciones de correo electrónico. Esto es especialmente útil si usas identidades de personal en lugar de Cuentas de Google.
Haz clic en Siguiente.
En la sección Agregar aprobadores, realiza una de las siguientes acciones:
Para permitir el otorgamiento de roles sin aprobación, selecciona Activar el acceso sin aprobaciones.
Para exigir aprobaciones, haz lo siguiente:
- Opcional: Para solicitar a los responsables de aprobación que ingresen justificaciones para aprobar solicitudes, selecciona Se requiere una justificación de los responsables de aprobación.
Ingresa los detalles del aprobador de primer nivel:
Lista de aprobadores del derecho
Puedes agregar cualquiera de los siguientes tipos de principales como aprobadores:
Cuentas de Google
Grupos de Google
Dominios de Google Workspace.
Identificadores de grupos de trabajadores
Identificadores del grupo de cargas de trabajo
Cuentas de servicio
Los identificadores de cuentas de servicio y grupos de identidades para cargas de trabajo solo están disponibles si se permite que las cuentas de servicio aprueben las concesiones para este recurso. Para obtener más información, consulta Cómo configurar Privileged Access Manager.
Cantidad de aprobaciones requeridas
Si agregaste un grupo como aprobador, asegúrate de que la cantidad de aprobaciones requeridas sea menor o igual a la cantidad de principales del grupo. De lo contrario, los permisos permanecerán atascados de forma perpetua en el estado
approval awaited.Direcciones de correo electrónico de los responsables de aprobación para la notificación
Opcional: Agrega los detalles del responsable de aprobación de segundo nivel:
Lista de aprobadores del derecho
Puedes agregar cualquiera de los siguientes tipos de principales como aprobadores:
Cuentas de Google
Grupos de Google
Dominios de Google Workspace.
Identificadores de grupos de trabajadores
Identificadores del grupo de cargas de trabajo
Cuentas de servicio
Los identificadores de cuentas de servicio y grupos de identidades para cargas de trabajo solo están disponibles si se permite que las cuentas de servicio aprueben las concesiones para este recurso. Para obtener más información, consulta Cómo configurar Privileged Access Manager.
Cantidad de aprobaciones requeridas
Si agregaste un grupo como aprobador, asegúrate de que la cantidad de aprobaciones requeridas sea menor o igual a la cantidad de principales del grupo. De lo contrario, los permisos permanecerán atascados de forma perpetua en el estado
approval awaited.Direcciones de correo electrónico de los responsables de aprobación para la notificación
Puedes agregar hasta 20 principales aprobadores (identidades o grupos) por aprobación. Si quieres agregar más de 20 aprobadores, puedes hacerlo agregándolos a un grupo y, luego, indicando el grupo como aprobador del derecho.
Haz clic en Siguiente.
Haz clic en Crear derecho.
Es posible que los derechos recién creados tarden unos minutos en propagarse y estar listos para usarse.
gcloud
El comando
gcloud alpha pam entitlements create
crea un derecho a nivel de la organización, la carpeta o el proyecto.
Antes de usar cualquiera de los datos de comando a continuación, realiza los siguientes reemplazos:
ENTITLEMENT_ID: Es el ID del derecho que se creará. Un ID debe tener entre 4 y 63 caracteres, y usar los siguientes caracteres:[a-z0-9-]. El primer carácter debe ser una letraRESOURCE_TYPE: Opcional Es el tipo de recurso al que pertenece el derecho. Usa el valororganization,folderoproject.RESOURCE_ID: Se usa conRESOURCE_TYPE. Es el ID de la organización, la carpeta o el proyecto Cloud de Confiance 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.RESOURCE_MANAGER_RESOURCE_TYPE: Puede serOrganization,FolderoProject, según el alcance.ROLE: Son los roles que se asignarán cuando se otorgue un derecho.MAXIMUM_GRANT_DURATION: Es la duración máxima para la que se puede solicitar un permiso, en segundos. El rango admitido es de entre 30 minutos (1,800) y 168 horas (604,800).-
REQUESTING_MEMBER: Son las principales que pueden solicitar que se otorgue el derecho. Se admiten todos los tipos de principal, exceptoallUsersyallAuthenticatedUsers. -
APPROVING_MEMBER: Son las principales que pueden aprobar la solicitud de derechos. Los tipos de principal válidos son los siguientes:- Usuario
- Grupo
- Dominio
- Identificadores de grupos de trabajadores
- Identificadores del grupo de cargas de trabajo
Esta opción solo está disponible si se permite que las cuentas de servicio aprueben solicitudes de derechos para este recurso. Para obtener más información, consulta Cómo configurar Privileged Access Manager.
- Cuentas de servicio
Esta opción solo está disponible si se permite que las cuentas de servicio aprueben solicitudes de derechos para este recurso. Para obtener más información, consulta Cómo configurar Privileged Access Manager.
APPROVALS_NEEDED: Es la cantidad de aprobadores necesarios para aprobar la solicitud de derechos.Si agregaste un grupo como aprobador, asegúrate de que la cantidad de aprobaciones requeridas sea menor o igual a la cantidad de principales del grupo. De lo contrario, los permisos permanecerán atascados de forma perpetua en el estado
approval awaited.APPROVER_EMAIL_ADDRESSES: Opcional Direcciones de correo electrónico adicionales para notificar cuando se solicitó un otorgamiento. Se notifica automáticamente a las identidades de Google asociadas con los aprobadores de la concesión. Sin embargo, es posible que desees notificar a un conjunto diferente de direcciones de correo electrónico, en especial si usas la federación de identidades de personal.ADMIN_EMAIL_ADDRESS: Opcional Direcciones de correo electrónico adicionales para notificar cuando se le otorgue acceso a un solicitante. Se notifica automáticamente a las identidades de Google asociadas con los aprobadores de la concesión. Sin embargo, es posible que desees notificar a un conjunto diferente de direcciones de correo electrónico, en especial si usas la federación de identidades de personal.REQUESTER_EMAIL_ADDRESS: Opcional Direcciones de correo electrónico adicionales para notificar cuando este derecho esté disponible para solicitarlo. Las identidades de Google asociadas con los solicitantes de otorgamiento se notifican automáticamente. Sin embargo, es posible que desees notificar a un conjunto diferente de direcciones de correo electrónico, en especial si usas la federación de identidades de personal.CONDITION_EXPRESSION: Opcional Es la expresión de condición que especifica cuándo la principal puede usar los permisos en el rol. Esta condición solo se aplica cuando el permiso está activo.
Guarda el siguiente código en un archivo llamado entitlement.yaml.
privilegedAccess: gcpIamAccess: resourceType: cloudresourcemanager.googleapis.com/RESOURCE_MANAGER_RESOURCE_TYPE resource: //cloudresourcemanager.googleapis.com/RESOURCE_ID roleBindings: - role: ROLE_1 conditionExpression: CONDITION_EXPRESSION_1 - role: ROLE_2 conditionExpression: CONDITION_EXPRESSION_2 maxRequestDuration: MAXIMUM_GRANT_DURATION eligibleUsers: - principals: - REQUESTING_MEMBER_1 - REQUESTING_MEMBER_2 approvalWorkflow: manualApprovals: requireApproverJustification: true steps: - approvalsNeeded: APPROVALS_NEEDED_1 approverEmailRecipients: - APPROVER_EMAIL_ADDRESSES_1 - APPROVER_EMAIL_ADDRESSES_2 approvers: - principals: - APPROVING_MEMBER_1 - APPROVING_MEMBER_2 - approvalsNeeded: APPROVALS_NEEDED_2 approverEmailRecipients: - APPROVER_EMAIL_ADDRESSES_3 - APPROVER_EMAIL_ADDRESSES_4 approvers: - principals: - APPROVING_MEMBER_3 - APPROVING_MEMBER_4 requesterJustificationConfig: unstructured: {} additionalNotificationTargets: adminEmailRecipients: - ADMIN_EMAIL_ADDRESS_1 - ADMIN_EMAIL_ADDRESS_2 requesterEmailRecipients: - REQUESTER_EMAIL_ADDRESS_1 - REQUESTER_EMAIL_ADDRESS_2
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud alpha pam entitlements create \ ENTITLEMENT_ID \ --entitlement-file=entitlement.yaml \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud alpha pam entitlements create ` ENTITLEMENT_ID ` --entitlement-file=entitlement.yaml ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud alpha pam entitlements create ^ ENTITLEMENT_ID ^ --entitlement-file=entitlement.yaml ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
Deberías recibir una respuesta similar a la que figura a continuación:
Create request issued for: [ENTITLEMENT_ID]
Waiting for operation [projects/PROJECT_ID/locations/global/operations/OPERATION_ID] to complete...done.
Created entitlement [ENTITLEMENT_ID].
additionalNotificationTargets: {}
approvalWorkflow:
manualApprovals:
requireApproverJustification: true
steps:
- id: step-1
approvalsNeeded: 3
approvers:
- principals:
- user:alex@example.com
- group:dev-team@example.com
- id: step-2
approvalsNeeded: 1
approvers:
- principals:
- user:alex@example.com
createTime: '2024-04-09T02:39:37.011866832Z'
eligibleUsers:
- principals:
- user:bola@example.com
etag: 00000000000000000000000000000000000000000000000000000000000=
maxRequestDuration: 7200s
name: projects/my-project/locations/global/entitlements/ENTITLEMENT_ID
privilegedAccess:
gcpIamAccess:
resource: //cloudresourcemanager.googleapis.com/RESOURCE_TYPE/RESOURCE_ID
resourceType: cloudresourcemanager.googleapis.com/Project
roleBindings:
- role: roles/storage.admin
id: hwarq_1
conditionExpression: "request.time.getHours() >= 8"
requesterJustificationConfig:
unstructured: {}
state: AVAILABLE
REST
El método createEntitlement de la API de Privileged Access Manager crea un derecho a nivel de la organización, la carpeta o el proyecto.
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 creará el derecho, en el formatoorganizations/ORGANIZATION_ID,folders/FOLDER_IDoprojects/PROJECT_ID. Los ID de proyecto son strings alfanuméricas, comomy-project. Los IDs de carpeta y organización son numéricos, como123456789012.ENTITLEMENT_ID: Es el ID del derecho que se creará. Un ID debe tener entre 4 y 63 caracteres, y usar los siguientes caracteres:[a-z0-9-]. El primer carácter debe ser una letraRESOURCE_MANAGER_RESOURCE_TYPE: Puede serOrganization,FolderoProject, según el alcance.ROLE: Son los roles que se asignarán cuando se otorgue un derecho.MAXIMUM_GRANT_DURATION: Es la duración máxima para la que se puede solicitar un permiso, en segundos. El rango admitido es de entre 30 minutos (1,800) y 168 horas (604,800).-
REQUESTING_MEMBER: Son las principales que pueden solicitar que se otorgue el derecho. Se admiten todos los tipos de principal, exceptoallUsersyallAuthenticatedUsers. -
APPROVING_MEMBER: Son las principales que pueden aprobar la solicitud de derechos. Los tipos de principal válidos son los siguientes:- Usuario
- Grupo
- Dominio
- Identificadores de grupos de trabajadores
- Identificadores del grupo de cargas de trabajo
Esta opción solo está disponible si se permite que las cuentas de servicio aprueben solicitudes de derechos para este recurso. Para obtener más información, consulta Cómo configurar Privileged Access Manager.
- Cuentas de servicio
Esta opción solo está disponible si se permite que las cuentas de servicio aprueben solicitudes de derechos para este recurso. Para obtener más información, consulta Cómo configurar Privileged Access Manager.
APPROVALS_NEEDED: Es la cantidad de aprobadores necesarios para aprobar la solicitud de derechos.Si agregaste un grupo como aprobador, asegúrate de que la cantidad de aprobaciones requeridas sea menor o igual a la cantidad de principales del grupo. De lo contrario, los permisos permanecerán atascados de forma perpetua en el estado
approval awaited.APPROVER_EMAIL_ADDRESSES: Opcional Direcciones de correo electrónico adicionales para notificar cuando se solicitó un otorgamiento. Se notifica automáticamente a las identidades de Google asociadas con los aprobadores de la concesión. Sin embargo, es posible que desees notificar a un conjunto diferente de direcciones de correo electrónico, en especial si usas la federación de identidades de personal.ADMIN_EMAIL_ADDRESS: Opcional Direcciones de correo electrónico adicionales para notificar cuando se le otorgue acceso a un solicitante. Se notifica automáticamente a las identidades de Google asociadas con los aprobadores de la concesión. Sin embargo, es posible que desees notificar a un conjunto diferente de direcciones de correo electrónico, en especial si usas la federación de identidades de personal.REQUESTER_EMAIL_ADDRESS: Opcional Direcciones de correo electrónico adicionales para notificar cuando este derecho esté disponible para solicitarlo. Las identidades de Google asociadas con los solicitantes de otorgamiento se notifican automáticamente. Sin embargo, es posible que desees notificar a un conjunto diferente de direcciones de correo electrónico, en especial si usas la federación de identidades de personal.CONDITION_EXPRESSION: Opcional Es la expresión de condición que especifica cuándo la principal puede usar los permisos en el rol. Esta condición solo se aplica cuando el permiso está activo.
Método HTTP y URL:
POST https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements?entitlementId=ENTITLEMENT_ID
Cuerpo JSON de la solicitud:
{
"privilegedAccess": {
"gcpIamAccess": {
"resourceType": "cloudresourcemanager.googleapis.com/RESOURCE_MANAGER_RESOURCE_TYPE",
"resource": "//cloudresourcemanager.googleapis.com/SCOPE",
"roleBindings": [
{
"role": "ROLE_1",
"conditionExpression": "CONDITION_EXPRESSION_1",
},
{
"role": "ROLE_2",
"conditionExpression": "CONDITION_EXPRESSION_2",
},
]
}
},
"maxRequestDuration": "MAXIMUM_GRANT_DURATION",
"eligibleUsers": [
{
"principals": [
"REQUESTING_MEMBER_1",
"REQUESTING_MEMBER_2",
...
]
}
],
"approvalWorkflow": {
"manualApprovals": {
"requireApproverJustification": true,
"steps": [
{
"approvers": [
{
"principals": [
"APPROVING_MEMBER_1",
"APPROVING_MEMBER_2",
]
}
],
"approvalsNeeded": APPROVALS_NEEDED_1,
"approverEmailRecipients": [
"APPROVER_EMAIL_ADDRESSES_1",
"APPROVER_EMAIL_ADDRESSES_2",
]
},
{
"approvers": [
{
"principals": [
"APPROVING_MEMBER_3",
"APPROVING_MEMBER_4",
]
}
],
"approvalsNeeded": APPROVALS_NEEDED_2,
"approverEmailRecipients": [
"APPROVER_EMAIL_ADDRESSES_3",
"APPROVER_EMAIL_ADDRESSES_4",
]
}
]
}
},
"requesterJustificationConfig": {
"unstructured": {
}
},
"additionalNotificationTargets": {
"adminEmailRecipients": [
"ADMIN_EMAIL_ADDRESS_1",
"ADMIN_EMAIL_ADDRESS_2",
],
"requesterEmailRecipients": [
"REQUESTER_EMAIL_ADDRESS_1",
"REQUESTER_EMAIL_ADDRESS_2",
]
}
}
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/PROJECT_ID/locations/global/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.privilegedaccessmanager.v1beta.OperationMetadata",
"createTime": "2024-03-05T03:35:14.596739353Z",
"target": "projects/PROJECT_ID/locations/global/entitlements/ENTITLEMENT_ID",
"verb": "create",
"requestedCancellation": false,
"apiVersion": "v1beta"
},
"done": false
}
Para verificar el progreso de una operación de creació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
Terraform
Puedes usar Terraform para crear derechos. Para obtener más información, consulta google_privileged_access_manager_entitlement en la documentación de Terraform. Es posible que los derechos recién creados tarden unos minutos en propagarse y estar listos para usarse.
Config Connector
Puedes usar Kubernetes Config Connector para crear derechos. Para obtener más información, consulta PrivilegedAccessManagerEntitlement en la documentación de Config Connector. Es posible que los derechos recién creados tarden unos minutos en propagarse y estar listos para usarse.
¿Qué sigue?
- Consulta, actualiza y borra derechos
- Configura los parámetros de configuración de Privileged Access Manager
- Audita los eventos de derechos