Configurar un proveedor de identidades externo

Disponible en:

Puedes usar Cloud Identity, Google Workspace o un proveedor de identidades de terceros (como Okta o Azure AD) para gestionar usuarios, grupos y autenticación.

En esta página se describe cómo usar un proveedor de identidades externo configurando la federación de identidades de Workforce.

La federación de identidades de Workforce de Google te permite conceder a las cargas de trabajo on-premise o multinube acceso a los recursos Google Cloud sin tener que usar una clave de cuenta de servicio. Puedes usar la federación de identidades de trabajo con cualquier IdP que admita OpenID Connect (OIDC) o SAML 2.0, como Microsoft Entra ID, Active Directory Federation Services (AD FS) y Okta, entre otros.

Google Security Operations requiere el uso de la federación de identidades de la plantilla de Google como intermediario de SSO para lo siguiente:

  • Clientes con requisitos de cumplimiento de FedRAMP High (o superior).
  • Los clientes que accedan a cualquier control de nivel empresarial de Google Security Operations habilitado por Google Cloud, incluido el control de acceso basado en roles (RBAC) de datos y funciones mediante Gestión de Identidades y Accesos (IAM).
  • Clientes que usan la gestión de credenciales de autoservicio para el acceso programático a la API de Chronicle.

Google Security Operations admite el SSO de SAML iniciado por proveedores de servicios para los usuarios. Con esta función, los usuarios pueden ir directamente a Google Security Operations. Google Security Operations envía una solicitud a través de la Google Cloud gestión de identidades y accesos (IAM) federación de identidades de la fuerza de trabajo al proveedor de identidades (IdP) externo.

Una vez que el IdP autentica la identidad del usuario, se le devuelve a Google Security Operations con una aserción de autenticación. Google Cloud Workforce Identity Federation actúa como intermediario en el flujo de autenticación.

Comunicación entre Google Security Operations, Google Cloud IAM workforce identity
federation y el proveedor de identidades

Comunicación entre Google Security Operations, la federación de identidades para el trabajo de IAM y el IdP

A grandes rasgos, la comunicación es la siguiente:

  1. El usuario va a Google Security Operations.
  2. Google Security Operations busca información del IdP en el Google Cloud grupo de identidades de empleados.
  3. Se envía una solicitud al IdP.
  4. La aserción SAML se envía al Google Cloud grupo de identidades de Workforce.
  5. Si la autenticación se realiza correctamente, Google Security Operations solo recibe los atributos SAML definidos al configurar el proveedor de la plantilla en el grupo de identidades de la plantilla.

Los administradores de Google Security Operations crean grupos en su proveedor de identidades, configuran la aplicación SAML para que transfiera la información de pertenencia a grupos en la aserción y, a continuación, asocian usuarios y grupos a los roles predefinidos de gestión de identidades y accesos de Google Security Operations o a los roles personalizados que hayan creado.

No se admite el inicio de sesión iniciado por el proveedor de identidades (es decir, iniciar sesión desde el panel de control del proveedor de identidades). Ponte en contacto con tu representante de Operaciones de Seguridad de Google para solicitar esta función si tu organización la necesita.

En este documento se describen los pasos generales para configurar la autenticación a través de un proveedor de identidades (IdP) de terceros mediante Google Cloud federación de identidades de la fuerza de trabajo. Después de seguir los pasos que se indican en este documento, podrás acceder a Google Security Operations con tu proveedor de identidades externo y gestionar el acceso a Google Security Operations mediante el SSO de SAML con la federación de identidades de los empleados.

Antes de empezar

En los siguientes pasos se describe cómo realizar la configuración mediante comandos gcloud. Si un paso se puede realizar en la Google Cloud consola, se proporciona un enlace a la documentación de gestión de identidades y accesos relacionada.

Planificar la implementación

En la siguiente sección se describen las decisiones que debes tomar y la información que debes definir antes de seguir los pasos que se indican en este documento.

Definir el grupo de identidades y el proveedor de empleados

Como parte de este proceso, configurarás la federación de identidades de los empleados como intermediario en el flujo de autenticación. Google Cloud Para ello, debes crear los siguientes recursos: Google Cloud

  • Grupo de empleados: un grupo de identidades de empleados te permite conceder acceso a Google Security Operations a tus empleados.
  • Proveedor de Workforce: Un proveedor de Workforce es un subrecurso del grupo de identidades de Workforce. Almacena detalles sobre un solo IdP.

La relación entre el grupo de identidades para el trabajo, los proveedores de identidades para el trabajo y una instancia de Google Security Operations, identificada por un único subdominio de cliente, es la siguiente:

  • Los grupos de identidades de Workforce se definen a nivel de organización.
  • Cada instancia de Google Security Operations tiene un grupo de identidades de Workforce configurado y asociado.
  • Un grupo de identidades de Workforce puede tener varios proveedores de Workforce.
  • Cada proveedor de Workforce integra un IdP de terceros con el grupo de identidades de Workforce.

  • El grupo de identidades de la fuerza de trabajo que crees siguiendo estos pasos debe estar dedicado a Google SecOps. Aunque puedes gestionar varios grupos de identidades de empleados para otros fines, el grupo de identidades de empleados creado para Google SecOps no se puede compartir.

  • Te recomendamos que crees el grupo de identidades para el trabajo en la misma Google Cloud organización que contiene el proyecto vinculado a Google SecOps.

De esta forma, ahorrarás tiempo si predefines información sobre el grupo de identidades de empleados y el proveedor de empleados. Esta información se usa para configurar tanto la aplicación SAML del IdP como la federación de identidades de Workforce.

Elige los valores de los siguientes identificadores:

  • ID del grupo de Workforce (WORKFORCE_POOL_ID): selecciona un valor que indique el ámbito o el propósito del grupo de identidades de Workforce. El valor debe cumplir los siguientes requisitos:
    • Debe ser único a nivel global.
    • Solo se pueden usar caracteres en minúscula [a-z], dígitos [0-9] y guiones [-].
    • Debe empezar por un carácter en minúscula [a-z].
    • Debe terminar con un carácter en minúscula [a-z] o un dígito [0-9].
    • Puede tener entre 4 y 61 caracteres.
  • Nombre visible del grupo de Workforce (WORKFORCE_POOL_DISPLAY_NAME): define un nombre descriptivo para el grupo de identidades de Workforce.
  • Descripción del grupo de Workforce (WORKFORCE_POOL_DESCRIPTION): define una descripción detallada del grupo de identidades de Workforce.
  • ID de proveedor de la fuerza de trabajo (WORKFORCE_PROVIDER_ID): elige un valor que indique el IdP al que representa. El valor debe cumplir los siguientes requisitos:
    • Solo se pueden usar caracteres en minúscula [a-z], dígitos [0-9] y guiones [-].
    • Puede tener entre 4 y 32 caracteres.
  • Nombre visible del proveedor de personal (WORKFORCE_PROVIDER_DISPLAY_NAME): define un nombre fácil de usar para el proveedor de personal. Debe tener menos de 32 caracteres.
  • Descripción del proveedor de personal (WORKFORCE_PROVIDER_DESCRIPTION): define una descripción detallada del proveedor de personal.

Definir atributos y grupos de usuarios en el IdP

Antes de crear la aplicación SAML en el proveedor de identidades, identifica los atributos y grupos de usuario que se necesitan para configurar el acceso a las funciones de Google Security Operations. Para obtener más información, consulta los artículos Configurar el control de acceso a funciones con la gestión de identidades y accesos y Permisos de Google Security Operations en la gestión de identidades y accesos.

Necesitará esta información durante las siguientes fases del proceso:

  • Al configurar la aplicación SAML, crea los grupos definidos durante la planificación. Configura la aplicación SAML del proveedor de identidades para que transfiera las pertenencias a grupos en la aserción.

  • Cuando creas el proveedor de la plantilla, asignas atributos y grupos de aserciones a Google Cloud atributos. Esta información se envía en la reclamación de aserción como parte de la identidad de un usuario.

  • Cuando configuras el control de acceso basado en roles en Google Security Operations, usas los atributos de usuario y la información de grupo para configurar el acceso a las funciones de Google Security Operations.

    Google Security Operations ofrece varios roles predefinidos que permiten acceder a funciones específicas. Puedes asignar grupos definidos en la aplicación SAML del proveedor de identidades a estos roles predefinidos.

  • Crea un grupo de IdP para los administradores que configuren el acceso a las funciones relacionadas con SOAR. Especifica el nombre de este grupo durante el proceso de incorporación para autorizar a los miembros del grupo a configurar el acceso de usuarios y grupos a las funciones relacionadas con SOAR en Google SecOps.

Configurar el proveedor de identidades

En esta sección solo se describe la configuración específica necesaria en una aplicación SAML de un IdP para integrarse con la federación de identidades de Workforce y Google Security Operations. Google Cloud

  1. Crea una aplicación SAML en tu proveedor de identidades.

  2. Configura la aplicación con la siguiente URL del servicio de consumidor de aserciones (ACS), que también se conoce como URL de inicio de sesión único según el proveedor de servicios.

    https://auth.backstory.chronicle.security/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
    

    Haz los cambios siguientes:

    • WORKFORCE_POOL_ID: el identificador que has definido para el grupo de identidades de Workforce.
    • WORKFORCE_PROVIDER_ID: el identificador que has definido para el proveedor de la fuerza de trabajo.

      Para ver las descripciones de los valores, consulta Planificar la implementación.

  3. Configure la aplicación con el siguiente ID de entidad (también llamado "ID de entidad del proveedor de servicios").

    https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
    

    Haz los cambios siguientes:

    • WORKFORCE_POOL_ID: el identificador que has definido para el grupo de identidades de Workforce.
    • WORKFORCE_PROVIDER_ID: el identificador que has definido para el proveedor de la fuerza de trabajo.
  4. Configura el identificador de nombre en tu proveedor de identidades para asegurarte de que el campo NameID se devuelva en la respuesta SAML.

    Puede asignar un valor que cumpla las políticas de su organización, como una dirección de correo o un nombre de usuario. Consulta la documentación de tu IdP para obtener información sobre cómo configurar este valor. Para obtener más información sobre este requisito, consulta el artículo Solucionar problemas de federación de identidades de la plantilla.

  5. Opcionalmente, crea los atributos de grupo en la aplicación SAML. Los definiste al planificar la implementación del IdP.

  6. Descarga el archivo XML de metadatos de la aplicación. En la siguiente sección, subirás este archivo desde tu sistema local al Google Cloud directorio principal mediante Cloud Shell.

Configurar la federación de identidades para los trabajadores

En esta sección solo se describen los pasos específicos necesarios para configurar la federación de identidades de los empleados con la aplicación SAML del proveedor de identidades que has creado en la sección anterior. Para obtener más información sobre cómo gestionar grupos de identidades de empleados, consulta Gestionar proveedores de grupos de identidades de empleados.

  1. Abre la consola de Google Cloud como el usuario con los permisos necesarios en el proyecto vinculado a Google Security Operations. Has identificado o creado este usuario anteriormente. Consulta la sección Antes de empezar.

  2. Inicia una sesión de Cloud Shell.

  3. Define el proyecto Google Cloud al que se le facturará y se le cobrará la cuota por las operaciones realizadas con gcloud CLI. Usa el siguiente comando gcloud como ejemplo:

    gcloud config set billing/quota_project PROJECT_ID
    

    Sustituye PROJECT_ID por el ID del proyecto vinculado a Google Security Operations que has creado en Configurar un proyecto para Google Security Operations Google Cloud . Para ver una descripción de los campos que identifican un proyecto, consulta el artículo Crear y gestionar proyectos.

    Para obtener información sobre las cuotas, consulta los siguientes documentos:

    Si se produce un error, consulta el artículo Solucionar errores de cuota.

Crear y configurar un grupo de identidades de trabajadores

Puedes configurar un grupo de identidades de trabajo para integrarlo con un proveedor de identidades externo o con Google Workspace o Cloud Identity.

  1. Crea un grupo de identidades de Workforce.

    • Crea un grupo de identidades de Workforce para un proveedor de identidades externo:

      Usa el siguiente comando gcloud como ejemplo:

      gcloud iam workforce-pools create WORKFORCE_POOL_ID\
        --location="global" \
        --organization="ORGANIZATION_ID" \
        --description="WORKFORCE_POOL_DESCRIPTION" \
        --display-name="WORKFORCE_POOL_DISPLAY_NAME"
      

      Haz los cambios siguientes:

      • WORKFORCE_POOL_ID: el identificador que has definido para el grupo de identidades de Workforce.
      • ORGANIZATION_ID: ID numérico de la organización.
      • WORKFORCE_POOL_DESCRIPTION: especifica una descripción del grupo de identidades de Workforce.
      • WORKFORCE_POOL_DISPLAY_NAME: especifica un nombre descriptivo para el grupo de identidades de Workforce.

      Para llevar a cabo esta configuración con la consola Google Cloud , consulta Crear un grupo.

      Si quieres usar Google Workspace o Cloud Identity para iniciar sesión en Google SecOps, añade estas marcas:

      --allowed-services domain=backstory.chronicle.security y

      --disable-programmatic-signin al comando:

      gcloud iam workforce-pools create WORKFORCE_POOL_ID\
            --location="global" \
            --organization="ORGANIZATION_ID" \
            --description="WORKFORCE_POOL_DESCRIPTION" \
            --display-name="WORKFORCE_POOL_DISPLAY_NAME" \
            --allowed-services domain=backstory.chronicle.security \
            --disable-programmatic-signin
      

      Este comando crea un grupo de identidades de empleados que no admite iniciar sesión en Google Cloud. Para habilitar la función de inicio de sesión, debes usar las marcas adecuadas para cada situación.

  2. Si se te pide que habilites la API de Chronicle en la línea de comandos, escribe Yes.

Crear un proveedor de grupos de identidades de empleados

Un proveedor de grupos de identidades para el trabajo es una entidad que describe una relación entre tu organización de Google Cloud y tu IdP.

  1. Sube el archivo de metadatos de la aplicación SAML al directorio principal de Cloud Shell haciendo clic en Más >. Los archivos solo se pueden subir al directorio principal. Para ver más opciones para transferir archivos entre Cloud Shell y tu estación de trabajo local, consulta Subir y descargar archivos y carpetas de Cloud Shell.

  2. Anota la ruta del directorio en el que has subido el archivo XML de metadatos de la aplicación SAML en Cloud Shell. Necesitarás esta ruta en el siguiente paso.

  3. Crea un proveedor de grupos de identidades de empleados y especifica los detalles del proveedor de identidades.

    Usa el siguiente comando gcloud como ejemplo:

    gcloud iam workforce-pools providers create-saml WORKFORCE_PROVIDER_ID \
      --workforce-pool="WORKFORCE_POOL_ID" \
      --location="global" \
      --display-name="WORKFORCE_PROVIDER_DISPLAY_NAME" \
      --description="WORKFORCE_PROVIDER_DESCRIPTION" \
      --idp-metadata-path=PATH_TO_METADATA_XML \
      --attribute-mapping="ATTRIBUTE_MAPPINGS"
    

    Para ver las descripciones de los valores, consulta Planificar la implementación.

    Haz los cambios siguientes:

    • WORKFORCE_PROVIDER_ID: el valor que has definido para el ID del proveedor de mano de obra.
    • WORKFORCE_POOL_ID: el valor que has definido para el ID del grupo de identidades de Workforce.
    • WORKFORCE_PROVIDER_DISPLAY_NAME: nombre descriptivo del proveedor de mano de obra. Debe tener menos de 32 caracteres.
    • WORKFORCE_PROVIDER_DESCRIPTION: una descripción del proveedor de mano de obra.
    • PATH_TO_METADATA_XML: la ubicación del directorio de Cloud Shell del archivo XML de metadatos de la aplicación que has subido con Cloud Shell. Por ejemplo: /path/to/sso_metadata.xml.
    • ATTRIBUTE_MAPPINGS: definición de cómo asignar atributos de aserción a atributos deGoogle Cloud . Se usa el lenguaje de expresión común para interpretar estas asignaciones. Por ejemplo:

      google.subject=assertion.subject,google.display_name=assertion.attributes.name[0],google.groups=assertion.attributes.groups

      En el ejemplo anterior se asignan los siguientes atributos:

      • assertion.subject a google.subject. Este es un requisito mínimo.
      • assertion.attributes.name[0] a google.display_name.
      • assertion.attributes.groups al atributo google.groups.

      Si vas a realizar esta configuración para Google Security Operations, que incluye Google Security Operations SIEM y Google SecOps SOAR, también debes asignar los siguientes atributos que requiere Google SecOps SOAR:

      • attribute.first_name
      • attribute.last_name
      • attribute.user_email
      • google.groups

      Para obtener más información, consulta Aprovisionar y asignar usuarios a Google SecOps SOAR.

      De forma predeterminada, Google Security Operations lee la información de los grupos de los siguientes nombres de atributos de aserción que no distinguen entre mayúsculas y minúsculas: _assertion.attributes.groups_, _assertion.attributes.idpGroup_ y _assertion.attributes.memberOf_.

      Cuando configures la aplicación SAML para que transfiera la información de pertenencia a grupos en la aserción, asigna al nombre del atributo de grupo el valor _group_, _idpGroup_ o _memberOf_.

      En el comando de ejemplo, puedes sustituir assertion.attributes.groups por assertion.attributes.idpGroup o assertion.attributes.memberOf, que representa el nombre del atributo de grupo que has configurado en la aplicación SAML del proveedor de identidades y que contiene información sobre la pertenencia a grupos en la aserción.

      En el siguiente ejemplo se asignan varios grupos al atributo google.groups:

      google.groups="(has(assertion.attributes.idpGroup) ? assertion.attributes.idpGroup : []) + (has(assertion.attributes.groups) ? assertion.attributes.groups : []) + (has(assertion.attributes.memberof) ? assertion.attributes.memberof : [])"

      En el siguiente ejemplo se asigna el grupo http://schemas.xmlsoap.org/ws/2005/05/identity/claims/group, que contiene caracteres especiales, a google.groups:

      google.groups="assertion.attributes['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/group']"

      Para obtener más información sobre la asignación de atributos, consulte Asignación de atributos.

      Para realizar esta configuración mediante la consola, consulta Crear un proveedor de SAML. Google Cloud

Asignar un rol para habilitar el inicio de sesión en Google Security Operations

En los siguientes pasos se describe cómo asignar un rol específico mediante IAM para que los usuarios puedan iniciar sesión en Google Security Operations. Realiza la configuración con el proyecto enlazado a Google Security Operations que has creado antes. Google Cloud

  1. Asigna el rol Lector de la API de Chronicle (roles/chronicle.viewer) a los usuarios o grupos que deban tener acceso a la aplicación Google Security Operations.

    .
    • En el siguiente ejemplo, se asigna el rol Lector de la API Chronicle a las identidades gestionadas mediante el grupo de identidades de Workforce y el proveedor de Workforce que has creado anteriormente.

      gcloud projects add-iam-policy-binding PROJECT_ID \
        --role roles/chronicle.viewer \
        --member "principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/*"
      

      Haz los cambios siguientes:

    • Para asignar el rol Lector de la API de Chronicle a un grupo específico, ejecuta el siguiente comando:

      gcloud projects add-iam-policy-binding PROJECT_ID \
        --role roles/chronicle.viewer \
        --member "principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"
      

      Sustituye GROUP_ID por un grupo de la reclamación google.groups asignada.

  2. Configura políticas de gestión de identidades y accesos adicionales para cumplir los requisitos de tu organización.

  3. Obligatorio: para completar la autenticación y permitir que los usuarios accedan a la plataforma Google SecOps, debes configurar el acceso de los usuarios desde la parte de SOAR de Google SecOps. Para obtener más información, consulta el artículo Mapear usuarios en la plataforma Google SecOps.

Verificar o configurar el control de acceso a las funciones de Google Security Operations

Si has configurado Workforce Identity Federation con atributos o grupos asignados al atributo google.groups, esta información se envía a Google Security Operations para que puedas configurar el control de acceso basado en roles (RBAC) a las funciones de Google Security Operations.

Si la instancia de Google Security Operations tiene una configuración de control de acceso basado en roles, compruebe que la configuración original funciona correctamente.

Si no has configurado el control de acceso anteriormente, consulta el artículo Configurar el control de acceso a funciones con la gestión de identidades y accesos para obtener información sobre cómo controlar el acceso a las funciones.

Modificar la configuración de la federación de identidades para los trabajadores

Si necesitas actualizar el grupo de identidades de empleados o el proveedor de empleados, consulta Gestionar proveedores de grupos de identidades de empleados para obtener información sobre cómo actualizar la configuración.

En la sección Gestión de claves del artículo Crear un proveedor de grupos de trabajo SAML, se describe cómo actualizar las claves de firma del IdP y, a continuación, actualizar la configuración del proveedor de grupos de trabajo con el archivo XML de metadatos de la aplicación más reciente.

A continuación, se muestra un ejemplo de comando gcloud que actualiza la configuración del proveedor de mano de obra:

  gcloud iam workforce-pools providers update-saml WORKFORCE_PROVIDER_ID \
    --workforce-pool=WORKFORCE_POOL_ID \
    --location="global" \
    --display-name="WORKFORCE_PROVIDER_DISPLAY_NAME" \
    --description="WORKFORCE_PROVIDER_DESCRIPTION" \
    --idp-metadata-path=PATH_TO_METADATA_XML \
    --attribute-mapping="ATTRIBUTE_MAPPINGS"

Haz los cambios siguientes:

  • WORKFORCE_PROVIDER_ID: el valor que has definido para el ID del proveedor de mano de obra.
  • WORKFORCE_POOL_ID: el valor que has definido para el ID del grupo de identidades de Workforce.
  • WORKFORCE_PROVIDER_DISPLAY_NAME: nombre descriptivo del proveedor de mano de obra. El valor debe tener menos de 32 caracteres.
  • WORKFORCE_PROVIDER_DESCRIPTION: la descripción del proveedor de mano de obra.
  • PATH_TO_METADATA_XML: la ubicación del archivo XML de metadatos de la aplicación actualizado. Por ejemplo: /path/to/sso_metadata_updated.xml.
  • ATTRIBUTE_MAPPINGS: los atributos de aserción asignados a los atributos deGoogle Cloud . Por ejemplo:

    google.subject=assertion.subject,google.display_name=assertion.attributes.name[0],google.groups=assertion.attributes.memberOf

Para asegurarte de que el control de acceso basado en roles de Google SecOps siga funcionando correctamente, asigna el atributo google.groups a todos los grupos que se usen para definir roles en Google SecOps.

Solucionar problemas de configuración

Si se produce algún error durante este proceso, consulta el artículo Solucionar problemas de la federación de identidades de los empleados para resolver los problemas habituales. En la siguiente sección se proporciona información sobre los problemas habituales que se producen al seguir los pasos que se indican en este documento.

Si sigues teniendo problemas, ponte en contacto con tu representante de Google SecOps y proporciona tu archivo de registro de red de Chrome.

No se ha encontrado el comando

Al crear un proveedor de grupos de identidades de empleados y especificar los detalles del proveedor de identidades, se produce el siguiente error:

Error: bash: --attribute-mapping=google.subject=assertion.subject,
google.display_name=assertion.attributes.name[0],
google.groups=assertion.attributes.groups: command not found

Comprueba que PATH_TO_METADATA_XML sea la ubicación en la que has subido el archivo XML de metadatos de la aplicación SAML al directorio principal de Cloud Shell.

El método llamador no tiene permiso

Al ejecutar el comando gcloud projects add-iam-policy-binding para conceder roles a usuarios o grupos, aparece el siguiente error:

ERROR: (gcloud.organizations.add-iam-policy-binding) User [ ] does not have
permission to access organizations instance [538073083963:getIamPolicy]
(or it may not exist): The caller does not have permission

Comprueba que tienes los permisos necesarios. Para obtener más información, consulta Roles obligatorios.

Siguientes pasos

Después de completar los pasos que se indican en este documento, haz lo siguiente:

¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.