Crear derechos en Privileged Access Manager

Puedes crear derechos para permitir la elevación temporal de privilegios para un conjunto de principales. Ten en cuenta lo siguiente al crear derechos:

  • Puedes crear derechos a nivel de organización, carpeta o proyecto. Los roles concedidos por un derecho en cada nivel siguen la Cloud de Confiance by S3NS jerarquía de recursos. Por ejemplo, los roles concedidos por un derecho a nivel de organización se heredan a nivel de carpeta y de proyecto.

  • Si el nivel Premium o Enterprise de Security Command Center está activado a nivel de organización, puede exigir más de un nivel de aprobación por derecho, lo que permite hasta dos niveles de aprobaciones secuenciales por derecho. Puedes exigir hasta cinco aprobaciones por nivel.

    Una vez que se haya recibido el número necesario de aprobaciones de primer nivel, se enviarán notificaciones por correo electrónico a los aprobadores de segundo nivel. Una vez que se haya recibido el número necesario de aprobaciones de segundo nivel, la concesión pasará al estado active. Si algún aprobador deniega la concesión, esta pasa al estado denied y no se envía a ningún otro aprobador.

    Esta función está disponible en versión preliminar.

  • Si las cuentas de servicio pueden aprobar concesiones para este recurso, puedes añadir cuentas de servicio e identidades de grupo de cargas de trabajo como aprobadores. Para saber cómo habilitar este ajuste, consulta Configurar los ajustes de Gestor de acceso privilegiado.

    Esta función está disponible en versión preliminar.

  • Si añade un grupo como solicitante a un derecho, todas las cuentas individuales de ese grupo podrán solicitar una concesión de ese derecho. Sin embargo, solo la cuenta individual que solicita la concesión puede recibir privilegios elevados.

  • Si añades un grupo como aprobador de un derecho, todas las cuentas individuales de ese grupo podrán aprobar o denegar una solicitud de concesión.

  • Se admiten los roles básicos (Administrador, Escritor y Lector), pero no los roles básicos antiguos (Propietario, Editor y Lector).

  • No incluyas roles de agente de servicio en los derechos.

    Algunos roles de agente de servicio contienen permisos muy potentes, y los permisos de estos roles pueden cambiar sin previo aviso. En su lugar, elige otro rol predefinido o crea un rol personalizado con los permisos que necesites.

Antes de empezar

Para obtener los permisos que necesitas para crear derechos, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en la organización, la carpeta o el proyecto para los que quieras crear derechos:

Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

Estos roles predefinidos contienen los permisos necesarios para crear derechos. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:

Permisos obligatorios

Para crear derechos, se necesitan los siguientes permisos:

  • Para crear derechos y concesiones para una organización, sigue estos pasos:
    • resourcemanager.organizations.get
    • resourcemanager.organizations.setIamPolicy
    • privilegedaccessmanager.entitlements.create
  • Para crear derechos y concesiones para una carpeta, sigue estos pasos:
    • resourcemanager.folders.get
    • resourcemanager.folders.setIamPolicy
    • privilegedaccessmanager.entitlements.create
  • Para crear derechos y concesiones para un proyecto, sigue estos pasos:
    • resourcemanager.projects.get
    • resourcemanager.projects.setIamPolicy
    • privilegedaccessmanager.entitlements.create

También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.

Crear derechos

Consola

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

    Ir a Privileged Access Manager

  2. Selecciona la organización, la carpeta o el proyecto al que quieras aplicar el derecho.

  3. Haz clic en la pestaña Derechos.

  4. Haz clic en Crear.

  5. En la sección Detalles del derecho, introduce los siguientes detalles:

    • Nombre del derecho. El nombre de un derecho puede tener entre 4 y 63 caracteres. Debe empezar por una letra minúscula y solo puede contener letras minúsculas, números y guiones.

    • Se pueden conceder hasta 30 roles en la organización, la carpeta o el proyecto.

      También puedes añadir condiciones de gestión de identidades y accesos a estos roles de la misma forma que añades condiciones para permitir las vinculaciones de roles de políticas. Sin embargo, en los derechos de Privileged Access Manager, el uso de condiciones que comprueban las etiquetas de un recurso está en vista previa.

    • Duración máxima de la concesión. La duración máxima que puedes definir para un derecho es de 7 días.

  6. Haz clic en Siguiente.

  7. En la sección Añadir solicitantes, indica hasta 20 entidades principales solicitantes válidas para el derecho.

    Se admiten todos los tipos principales, excepto allUsers y allAuthenticatedUsers. Puedes añadir más de 20 identidades incluyéndolas en un grupo y añadiendo el grupo al derecho.

  8. Elige si las entidades principales deben justificar la solicitud de concesión.

  9. Introduce las direcciones de correo adicionales de los usuarios que quieras que reciban una notificación cuando se pueda solicitar el derecho.

    Las identidades de Google asociadas al derecho, como los aprobadores y los solicitantes, reciben una notificación automáticamente. Sin embargo, si quieres notificar a más personas, puedes añadir sus direcciones de correo. Esto es especialmente útil si usas identidades de empleados en lugar de cuentas de Google.

  10. Haz clic en Siguiente.

  11. En la sección Añadir aprobadores, haga una de las siguientes acciones:

    • Para permitir que se concedan roles sin aprobación, selecciona Activar acceso sin aprobaciones.

    • Para obligar a que se aprueben los cambios, haz lo siguiente:

      1. Opcional: Para que los aprobadores tengan que justificar su aprobación de las solicitudes, selecciona Los aprobadores deben proporcionar una justificación.
      2. Introduce los detalles del aprobador de primer nivel:

        • Una lista de aprobadores del derecho

          Puedes añadir cualquiera de los siguientes tipos de principales como aprobadores:

          • Cuentas de Google

          • Grupos de Google

          • Dominios de Google Workspace

          • Identificadores de grupos de Workforce

          • Identificadores de grupos de cargas de trabajo

          • Cuentas de servicio

            Los identificadores de cuentas de servicio y de grupos de cargas de trabajo solo están disponibles si las cuentas de servicio pueden aprobar las concesiones de este recurso. Para obtener más información, consulta Configurar los ajustes de Gestor de acceso privilegiado.

        • Número de aprobaciones necesarias

          Si has añadido un grupo como aprobador, asegúrate de que el número de aprobaciones necesarias sea igual o inferior al número de principales del grupo. De lo contrario, las concesiones permanecerán indefinidamente en el estado approval awaited.

        • Direcciones de correo de los responsables de aprobación para las notificaciones

      3. Opcional: Añade los detalles del aprobador de segundo nivel:

        • Una lista de aprobadores del derecho

          Puedes añadir cualquiera de los siguientes tipos de principales como aprobadores:

          • Cuentas de Google

          • Grupos de Google

          • Dominios de Google Workspace

          • Identificadores de grupos de Workforce

          • Identificadores de grupos de cargas de trabajo

          • Cuentas de servicio

            Los identificadores de cuentas de servicio y de grupos de cargas de trabajo solo están disponibles si las cuentas de servicio pueden aprobar las concesiones de este recurso. Para obtener más información, consulta Configurar los ajustes de Gestor de acceso privilegiado.

        • Número de aprobaciones necesarias

          Si has añadido un grupo como aprobador, asegúrate de que el número de aprobaciones necesarias sea igual o inferior al número de principales del grupo. De lo contrario, las concesiones permanecerán indefinidamente en el estado approval awaited.

        • Direcciones de correo de los responsables de aprobación para las notificaciones

    Puedes añadir hasta 20 principales aprobadores (identidades o grupos) por aprobación. Si quieres añadir más de 20 aprobadores, puedes hacerlo añadiéndolos a un grupo y especificando el grupo como aprobador del derecho.

  12. Haz clic en Siguiente.

  13. Haz clic en Crear derecho.

Los derechos recién creados pueden tardar unos minutos en propagarse y estar listos para usarse.

gcloud

El comando gcloud alpha pam entitlements create crea un derecho a nivel de organización, carpeta o proyecto.

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

  • ENTITLEMENT_ID: ID del derecho que se va a crear. Un ID debe tener entre 4 y 63 caracteres, y usar los siguientes: [a-z0-9-]. El primer carácter debe ser una letra.
  • 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 de la organización, la carpeta o el proyecto para los que quieras gestionar los derechos. Cloud de ConfianceLos IDs de proyecto son cadenas alfanuméricas, como my-project. Los IDs de carpetas y organizaciones son numéricos, como 123456789012.
  • RESOURCE_MANAGER_RESOURCE_TYPE: Organization, Folder o Project, según el ámbito.
  • ROLE: los roles que se asignarán cuando se conceda un derecho.
  • MAXIMUM_GRANT_DURATION: duración máxima durante la que se puede solicitar una concesión, en segundos. El intervalo admitido es de entre 30 minutos (1800) y 168 horas (604800).
  • REQUESTING_MEMBER: entidades principales que pueden solicitar que se conceda el derecho. Se admiten todos los tipos de principal, excepto allUsers y allAuthenticatedUsers.

  • APPROVING_MEMBER: entidades principales que pueden aprobar la solicitud de derecho. Los tipos de principales válidos son los siguientes:

    • Usuario
    • Grupo
    • Dominio
    • Identificadores de grupos de Workforce
    • Identificadores de grupos de cargas de trabajo

      Esta opción solo está disponible si las cuentas de servicio pueden aprobar solicitudes de derechos para este recurso. Para obtener más información, consulta Configurar los ajustes de Gestor de acceso privilegiado.

    • Cuentas de servicio

      Esta opción solo está disponible si las cuentas de servicio pueden aprobar solicitudes de derechos para este recurso. Para obtener más información, consulta Configurar los ajustes de Gestor de acceso privilegiado.

  • APPROVALS_NEEDED: número de aprobadores necesarios para aprobar la solicitud de derecho.

    Si has añadido un grupo como aprobador, asegúrate de que el número de aprobaciones necesarias sea igual o inferior al número de principales del grupo. De lo contrario, las concesiones permanecerán indefinidamente en el estado approval awaited.

  • APPROVER_EMAIL_ADDRESSES: opcional. Direcciones de correo adicionales a las que se debe enviar una notificación cuando se haya solicitado una concesión. Las identidades de Google asociadas a los aprobadores de la concesión se notifican 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.
  • ADMIN_EMAIL_ADDRESS: opcional. Direcciones de correo adicionales a las que se debe enviar una notificación cuando se conceda acceso a un solicitante. Las identidades de Google asociadas a los aprobadores de la concesión se notifican 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.
  • REQUESTER_EMAIL_ADDRESS: opcional. Direcciones de correo adicionales a las que se debe notificar cuando se pueda solicitar este derecho. Las identidades de Google asociadas a los solicitantes de subvenciones se notifican 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.
  • CONDITION_EXPRESSION: opcional. La expresión de condición que especifica cuándo puede usar la entidad principal los permisos del rol. Esta condición solo se aplica cuando la concesión está activa.

Guarda el siguiente contenido 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 siguiente:

Los derechos recién creados pueden tardar unos minutos en propagarse y estar listos para usarse.
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 Privileged Access Manager crea un derecho a nivel de organización, carpeta o proyecto.

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 va a crear 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 que se va a crear. Un ID debe tener entre 4 y 63 caracteres, y usar los siguientes: [a-z0-9-]. El primer carácter debe ser una letra.
  • RESOURCE_MANAGER_RESOURCE_TYPE: Organization, Folder o Project, según el ámbito.
  • ROLE: los roles que se asignarán cuando se conceda un derecho.
  • MAXIMUM_GRANT_DURATION: duración máxima durante la que se puede solicitar una concesión, en segundos. El intervalo admitido es de entre 30 minutos (1800) y 168 horas (604800).
  • REQUESTING_MEMBER: Entidades principales que pueden solicitar que se conceda el derecho. Se admiten todos los tipos de principal, excepto allUsers y allAuthenticatedUsers.

  • APPROVING_MEMBER: entidades principales que pueden aprobar la solicitud de derecho. Los tipos de principales válidos son los siguientes:

    • Usuario
    • Grupo
    • Dominio
    • Identificadores de grupos de Workforce
    • Identificadores de grupos de cargas de trabajo

      Esta opción solo está disponible si las cuentas de servicio pueden aprobar solicitudes de derechos para este recurso. Para obtener más información, consulta Configurar los ajustes de Gestor de acceso privilegiado.

    • Cuentas de servicio

      Esta opción solo está disponible si las cuentas de servicio pueden aprobar solicitudes de derechos para este recurso. Para obtener más información, consulta Configurar los ajustes de Gestor de acceso privilegiado.

  • APPROVALS_NEEDED: número de aprobadores necesarios para aprobar la solicitud de derecho.

    Si has añadido un grupo como aprobador, asegúrate de que el número de aprobaciones necesarias sea igual o inferior al número de principales del grupo. De lo contrario, las concesiones permanecerán indefinidamente en el estado approval awaited.

  • APPROVER_EMAIL_ADDRESSES: opcional. Direcciones de correo adicionales a las que se debe enviar una notificación cuando se haya solicitado una concesión. Las identidades de Google asociadas a los aprobadores de la concesión se notifican 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.
  • ADMIN_EMAIL_ADDRESS: opcional. Direcciones de correo adicionales a las que se debe enviar una notificación cuando se conceda acceso a un solicitante. Las identidades de Google asociadas a los aprobadores de la concesión se notifican 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.
  • REQUESTER_EMAIL_ADDRESS: opcional. Direcciones de correo adicionales a las que se debe notificar cuando se pueda solicitar este derecho. Las identidades de Google asociadas a los solicitantes de subvenciones se notifican 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.
  • CONDITION_EXPRESSION: opcional. La expresión de condición que especifica cuándo puede usar la entidad principal los permisos del rol. Esta condición solo se aplica cuando la concesión está activa.

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, despliega una de estas opciones:

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


{
  "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 comprobar el progreso de una operación de creación, puedes enviar una solicitud GET al siguiente endpoint:

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

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

Los derechos recién creados pueden tardar unos minutos en propagarse y estar listos para usarse.
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. Los derechos recién creados pueden tardar 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. Los derechos recién creados pueden tardar unos minutos en propagarse y estar listos para usarse.

Siguientes pasos