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:

  • Los derechos se pueden crear a nivel de organización, carpeta o proyecto. Los roles concedidos por un derecho en cada nivel siguen la Trusted Cloud 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 añade un grupo como solicitante a un derecho, todas las cuentas individuales de ese grupo podrán solicitar la 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

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

Crear derechos con la Trusted Cloud consola

Para crear 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 al que quieras aplicar el derecho.

  3. Haz clic en la pestaña Derechos.

  4. Haz clic en Crear.

  5. Añada los siguientes detalles de los derechos:

    • Nombre del derecho.

    • 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.

    • Cuánto tiempo pueden durar las concesiones en comparación con el derecho. La duración máxima que puedes definir para un derecho es de 24 horas.

  6. Haz clic en Siguiente.

  7. Busca y añade hasta 20 grupos principales solicitantes válidos 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. Haz clic en Siguiente.

  10. Elige si quieres permitir que se concedan roles sin aprobación o busca y añade las entidades de seguridad válidas que puedan aprobar la solicitud. Los tipos de principales válidos son los siguientes:

    • Cuentas de Google

    • Grupos de Google

    • Dominios de Google Workspace

    • Identificadores de grupos de Workforce

    Si decides que haya aprobadores, también debes elegir si estos deben justificar la aprobación de la solicitud de concesión. Puedes añadir hasta 20 principales aprobadores por derecho. Puedes añadir más de 20 identidades incluyéndolas en un grupo y añadiendo el grupo al derecho.

  11. Haz clic en Siguiente.

  12. Opcional: Añade las direcciones de correo de las personas a las que se debe notificar cuando se pueda solicitar el derecho, cuando haya una concesión pendiente de aprobación y cuando se conceda acceso a un solicitante. Las identidades de Google asociadas al derecho, como los aprobadores y los solicitantes, 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 fuerza de trabajo.

  13. Haz clic en Crear derecho.

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

Crear derechos mediante programación

gcloud

El comando gcloud 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. Trusted Cloud Los IDs de proyecto son cadenas alfanuméricas, como my-project. Los IDs de carpetas y organizaciones son numéricos, como 123456789012.
  • 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.
  • RESOURCE_MANAGER_RESOURCE_TYPE: Organization, Folder o Project, según el ámbito.
  • ROLE: los roles que se asignarán cuando se conceda un derecho.
  • TIME_IN_SECONDS: duración máxima durante la cual se puede solicitar una concesión, expresada en segundos. El intervalo admitido es de entre 30 minutos (1800) y 24 horas (86400).
  • REQUESTING_MEMBER: entidades principales que pueden solicitar que se conceda el derecho. Se admiten todos los tipos de principal, excepto allUsers y allAuthenticatedUsers.

  • APPROVING_EMAIL: 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.
  • 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
  • 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 la subvenció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.
  • CONDITION_EXPRESSION: opcional. La expresión de condición que especifica cuándo puede usar la entidad 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/SCOPE
    roleBindings:
    - role: ROLE_1
      conditionExpression: CONDITION_EXPRESSION_1
    - role: ROLE_2
      conditionExpression: CONDITION_EXPRESSION_2
maxRequestDuration: TIME_IN_SECONDSs
eligibleUsers:
- principals:
  - REQUESTING_MEMBER_1
  - REQUESTING_MEMBER_2
approvalWorkflow:
  manualApprovals:
    requireApproverJustification: true
    steps:
    - approvalsNeeded: 1
      approverEmailRecipients:
      - APPROVING_EMAIL_1
      - APPROVING_EMAIL_2
      approvers:
      - principals:
        - APPROVING_MEMBER_1
        - APPROVING_MEMBER_2
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 pam entitlements create \
    ENTITLEMENT_ID \
    --entitlement-file=entitlement.yaml \
    --location=global \
    --RESOURCE_TYPE=RESOURCE_ID

Windows (PowerShell)

gcloud pam entitlements create `
    ENTITLEMENT_ID `
    --entitlement-file=entitlement.yaml `
    --location=global `
    --RESOURCE_TYPE=RESOURCE_ID

Windows (cmd.exe)

gcloud pam entitlements create ^
    ENTITLEMENT_ID ^
    --entitlement-file=entitlement.yaml ^
    --location=global ^
    --RESOURCE_TYPE=RESOURCE_ID

Deberías recibir una respuesta similar a la siguiente:

Create request issued for: [ENTITLEMENT_ID]
Waiting for operation [projects/my-project/locations/global/operations/OPERATION_ID] to complete...done.
Created entitlement [ENTITLEMENT_ID].
additionalNotificationTargets: {}
approvalWorkflow:
  manualApprovals:
    requireApproverJustification: true
    steps:
    - 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/projects/my-project
    resourceType: cloudresourcemanager.googleapis.com/Project
    roleBindings:
    - role: roles/storage.admin
requesterJustificationConfig:
  unstructured: {}
state: AVAILABLE
updateTime: '2024-04-09T02:39:40.066770306Z'
Los derechos recién creados pueden tardar unos minutos en propagarse y estar listos para usarse.

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.
  • 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.
  • RESOURCE_MANAGER_RESOURCE_TYPE: Organization, Folder o Project, según el ámbito.
  • ROLE: los roles que se asignarán cuando se conceda un derecho.
  • TIME_IN_SECONDS: duración máxima durante la cual se puede solicitar una concesión, expresada en segundos. El intervalo admitido es de entre 30 minutos (1800) y 24 horas (86400).
  • 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
  • APPROVING_EMAIL: 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 la subvenció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.
  • CONDITION_EXPRESSION: opcional. La expresión de condición que especifica cuándo puede usar la entidad 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/v1/SCOPE/locations/global/entitlements?entitlementId=ENTITLEMENT_ID&requestId=REQUEST_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": "TIME_IN_SECONDSs",
  "eligibleUsers": [
    {
      "principals": [
        "REQUESTING_MEMBER_1",
        "REQUESTING_MEMBER_2",
        ...
      ]
    }
  ],
  "approvalWorkflow": {
    "manualApprovals": {
      "requireApproverJustification": true,
      "steps": [
        {
          "approvers": [
            {
              "principals": [
                "APPROVING_MEMBER_1",
                "APPROVING_MEMBER_2",
                ...
              ]
            }
          ],
          "approvalsNeeded": 1,
          "approverEmailRecipients": [
            "APPROVING_EMAIL_1",
            "APPROVING_EMAIL_2",
            ...
          ]
        }
      ]
    }
  },
  "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/my-project/locations/global/operations/OPERATION_ID",
    "metadata": {
      "@type": "type.googleapis.com/google.cloud.privilegedaccessmanager.v1.OperationMetadata",
      "createTime": "2024-03-05T03:35:14.596739353Z",
      "target": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID",
      "verb": "create",
      "requestedCancellation": false,
      "apiVersion": "v1"
    },
    "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/v1/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/v1/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