Configura un proveedor de identidad de terceros

Compatible con:

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

En esta página, se describe cómo usar un proveedor de identidad de terceros configurando la federación de identidades de personal. Para obtener información sobre el uso de Cloud Identity o Google Workspace, consulta Cómo configurar un Google Cloud proveedor de identidad.

La federación de identidades de personal de Google te permite otorgar a las cargas de trabajo locales o de múltiples nubes acceso a los recursos de Google Cloudsin tener que usar una clave de cuenta de servicio. Puedes usar la federación de identidades de personal con cualquier IdP que admita OpenID Connect (OIDC) o SAML 2.0, como Microsoft Entra ID, Active Directory Federation Services (AD FS), Okta y otros.

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

  • Clientes con requisitos de cumplimiento de FedRAMP alto (o superior)
  • Clientes que acceden a cualquier control a nivel de la empresa en Google Security Operations que Google Cloudhabilitó, incluso el control de acceso basado en roles (RBAC) de datos y funciones con Identity and Access Management (IAM).
  • Clientes que usan la administració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 el proveedor de servicios (SP) para los usuarios. Con esta función, los usuarios navegan directamente a Operaciones de seguridad de Google. Google Security Operations envía una solicitud a través de la Google Cloud administración de identidades y accesos (IAM) federación de identidades de personal al proveedor de identidad de terceros (IdP).

Después de que el IdP autentica la identidad del usuario, se lo devuelve a Google Security Operations con una aserción de autenticación.La federación de identidades de la fuerza laboral de Google Cloud actúa como intermediario en el flujo de autenticación.

Comunicación entre Google Security Operations, la federación de identidades de trabajadores de Google Cloud IAM y la IdP

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

En un nivel alto, la comunicación es la siguiente:

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

Los administradores de Google Security Operations crean grupos en su proveedor de identidad, configuran la aplicación de SAML para pasar la información de membresía del grupo en la aserción y, luego, asocian usuarios y grupos a los roles predefinidos de Google Security Operations en IAM o a los roles personalizados que crearon.

No se admite el acceso iniciado por el IdP (iniciar un acceso desde el panel de tu IdP). Comunícate con tu representante de Google Security Operations para solicitar esta función si tu organización la necesita.

En este documento, se describen los pasos de alto nivel para configurar la autenticación a través de un proveedor de identidad (IdP) externo con la Google Cloud federación de identidades de personal. Después de realizar los pasos que se indican en este documento, podrás acceder a Google Security Operations con tu IdP de terceros y administrar el acceso a Google Security Operations con el SSO basado en SAML mediante la federación de identidades de personal.

Antes de comenzar

En los siguientes pasos, se describe cómo realizar la configuración con los comandos gcloud. Si un paso se puede realizar en la consola de Google Cloud, se proporciona un vínculo a la documentación de IAM relacionada.

Planifica la implementación

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

Define el grupo de identidades de personal y el proveedor de personal

Como parte de este proceso, configurarás la federación de identidad del personal como intermediario en el flujo de autenticación. Google Cloud Para lograrlo, crea los siguientes recursos Google Cloud :

  • Grupo de personal: Un grupo de identidades del personal te permite otorgar acceso a Google Security Operations a tu personal (p.ej., empleados).
  • Proveedor de personal: Un proveedor de personal es un subrecurso del grupo de identidades de personal. Almacena detalles sobre un solo IdP.

La relación entre el grupo de identidad de personal, los proveedores de personal y una instancia de Google Security Operations, que se identifica con un solo subdominio de cliente, es la siguiente:

  • Un grupo de identidades del personal se define a nivel de la organización.
  • Cada instancia de Google Security Operations tiene un grupo de identidades de personal configurado y asociado con ella.
  • Un grupo de Workforce Identity puede tener varios proveedores de personal.
  • Cada proveedor de personal integra un IdP de terceros con el grupo de identidades de personal.
  • El grupo de identidades de personal que crees con estos pasos debe estar dedicado a Google SecOps. Aunque puedes administrar varios grupos de identidades de personal para otros fines, el grupo de identidades de personal creado para Google SecOps no se puede compartir.
  • Te recomendamos que crees el grupo de identidades de la fuerza laboral en la misma Google Cloud organización que contiene el proyecto vinculado a Google SecOps.

Te ayudará a ahorrar tiempo si defines previamente la información sobre el grupo de identidad de trabajadores y el proveedor de trabajadores. Usas esta información cuando configuras la aplicación de SAML del IdP y la federación de identidad de la fuerza laboral.

Elige los valores de los siguientes identificadores:

  • ID del grupo de trabajadores (WORKFORCE_POOL_ID): Selecciona un valor que indique el alcance o el propósito del grupo de identidades de trabajadores. El valor debe cumplir con los siguientes requisitos:
    • Debe ser único a nivel global.
    • Solo se pueden usar caracteres en minúsculas [a-z], dígitos [0-9] y guiones [-].
    • Debe comenzar con 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 trabajadores (WORKFORCE_POOL_DISPLAY_NAME): Define un nombre fácil de usar para el grupo de identidad de trabajadores.
  • Descripción del grupo de personal (WORKFORCE_POOL_DESCRIPTION): Define una descripción detallada del grupo de identidad del personal.
  • ID del proveedor de Workforce Identity (WORKFORCE_PROVIDER_ID): Elige un valor que indique el IdP que representa. El valor debe cumplir con los siguientes requisitos:
    • Solo se pueden usar caracteres en minúsculas [a-z], dígitos [0-9] y guiones [-].
    • Puede tener entre 4 y 32 caracteres.
  • Nombre visible del proveedor de Workforce (WORKFORCE_PROVIDER_DISPLAY_NAME): Define un nombre fácil de usar para el proveedor de Workforce. Debe tener menos de 32 caracteres.
  • Descripción del proveedor de personal (WORKFORCE_PROVIDER_DESCRIPTION): Define una descripción detallada del proveedor de personal.

Define los atributos y los grupos de usuarios en la AC

Antes de crear la aplicación de SAML en el IdP, identifica qué atributos y grupos de usuarios son necesarios para configurar el acceso a las funciones de Google Security Operations. Para obtener más información, consulta Cómo configurar el control de acceso a las funciones con IAM y Permisos de Operaciones de seguridad de Google en IAM.

Necesitarás esta información durante las siguientes fases de este proceso:

  • Cuando configuras la aplicación de SAML, creas los grupos definidos durante la planificación. Configuras la aplicación de SAML del IdP para que pase las membresías de grupo en la aserción.

  • Cuando creas el proveedor de Workforce Identity, asignas atributos y grupos de aserción a los atributosGoogle Cloud . Esta información se envía en el reclamo 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 del usuario y la información del grupo para configurar el acceso a las funciones de Google Security Operations.

    Google Security Operations proporciona varios roles predefinidos que permiten el acceso a funciones específicas. Puedes asignar los grupos definidos en la aplicación de SAML del IdP a estos roles predefinidos.

Asegúrate de crear un grupo de IdP para los administradores que configuren qué usuarios y grupos pueden acceder a las funciones relacionadas con SOAR. Durante el proceso de integración, proporcionarás este nombre de grupo para que los usuarios de este grupo puedan configurar el control de acceso a las funciones relacionadas con SOAR.

Configura el IdP

En esta sección, solo se describe la configuración específica necesaria en una aplicación de SAML del IdP para integrarla con la Google Cloud federación de identidades de personal y las Operaciones de seguridad de Google.

  1. Crea una nueva aplicación de SAML en tu IdP.

  2. Configura la aplicación con la siguiente URL de 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
    

    Reemplaza lo siguiente:

    • WORKFORCE_POOL_ID: Es el identificador que definiste para el grupo de identidad de personal.
    • WORKFORCE_PROVIDER_ID: Es el identificador que definiste para el proveedor de Workforce Identity.

      Consulta Planifica la implementación para obtener una descripción de estos valores.

  3. Configura la aplicación con el siguiente ID de entidad (también llamado ID de entidad de SP).

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

    Reemplaza lo siguiente:

    • WORKFORCE_POOL_ID: Es el identificador que definiste para el grupo de identidades de personal.
    • WORKFORCE_PROVIDER_ID: Es el identificador que definiste para el proveedor de Workforce Identity.
  4. Configura el identificador de nombre en tu IdP para asegurarte de que se muestre el campo NameID en la respuesta de SAML.

    Puedes establecer este valor en uno que admita las políticas de tu organización, como una dirección de correo electrónico 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 Cómo solucionar problemas relacionados con la federación de identidades de personal.

  5. De forma opcional, crea los atributos del grupo en la aplicación de SAML. Los definiste cuando planificaste la implementación de la 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 a tu Google Cloud directorio principal con Cloud Shell.

Configura la federación de Workforce Identity

En esta sección, solo se describen los pasos específicos necesarios para configurar la federación de identidad de la fuerza laboral con la aplicación de SAML del IdP que creaste en la sección anterior. Para obtener más información sobre cómo administrar grupos de identidad de trabajadores, consulta Administra proveedores de grupos de identidad de trabajadores.

  1. Abre la consola de Google Cloud como el usuario con los permisos necesarios en el proyecto vinculado a Google Security Operations. Identificaste o creaste este usuario antes. Consulta la sección Antes de comenzar.

  2. Inicia una sesión de Cloud Shell.

  3. Establece el Google Cloud proyecto que se factura y al que se le cobra la cuota de las operaciones realizadas con gcloud CLI. Usa el siguiente comando gcloud como ejemplo:

    gcloud config set billing/quota_project PROJECT_ID
    

    Reemplaza PROJECT_ID por el ID del proyecto vinculado a Google Security Operations que creaste en Cómo configurar un Google Cloud proyecto para Google Security Operations. Consulta Crea y administra proyectos para obtener una descripción de los campos que identifican un proyecto.

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

    Si encuentras un error, consulta Errores de cuota.

Crea y configura un grupo de Workforce Identity

Puedes configurar un grupo de identidades de personal para integrarlo con un proveedor de identidad (IdP) externo, con Google Workspace o con Cloud Identity.

  1. Crea un grupo de Workforce Identity.

    • Crea un grupo de Workforce Identity para un IdP de terceros:

      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"
      

      Reemplaza lo siguiente:

      • WORKFORCE_POOL_ID: Es el identificador que definiste para el grupo de identidad de personal.
      • ORGANIZATION_ID: El ID numérico de la organización.
      • WORKFORCE_POOL_DESCRIPTION: Especifica una descripción del grupo de identidades de personal.
      • WORKFORCE_POOL_DISPLAY_NAME: Especifica un nombre fácil de usar para el grupo de identidad de personal.

      Para realizar esta configuración con la consola de Google Cloud, consulta Crea un grupo.

      Si deseas usar Google Workspace o Cloud Identity para acceder a Google SecOps, agrega las 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 personal que no se puede usar para acceder aGoogle Cloud, pero debes usar estas marcas para abordar estas situaciones.

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

Crea un proveedor de Workforce Identity

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

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

  3. Crea un proveedor de grupos de identidades de Workforce Identity y especifica los detalles del IdP.

    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"
    

    Consulta Planifica la implementación para obtener más información sobre estos valores.

    Reemplaza lo siguiente:

    • WORKFORCE_PROVIDER_ID: Es el valor que definiste para el ID del proveedor de Workforce Identity.
    • WORKFORCE_POOL_ID: Es el valor que definiste para el ID del grupo de identidades de personal.
    • WORKFORCE_PROVIDER_DISPLAY_NAME: Un nombre fácil de usar para el proveedor de personal. Debe tener menos de 32 caracteres.
    • WORKFORCE_PROVIDER_DESCRIPTION: Una descripción del proveedor de personal.
    • PATH_TO_METADATA_XML: Es la ubicación del directorio de Cloud Shell del archivo en formato XML de metadatos de la aplicación que subiste con Cloud Shell, por ejemplo: /path/to/sso_metadata.xml.
    • ATTRIBUTE_MAPPINGS: Es la definición de cómo asignar atributos de aserción a atributosGoogle Cloud . Se usa Common Expression Language 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 realizas 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

      Obtén más información para aprovisionar y asignar usuarios para Google SecOps SOAR.

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

      Cuando configures la aplicación de SAML para pasar información de pertenencia a grupos en la aserción, establece el nombre del atributo de grupo en _group_, _idpGroup_ o _memberOf_.

      En el comando de ejemplo, puedes reemplazar assertion.attributes.groups por assertion.attributes.idpGroup o assertion.attributes.memberOf, que representa el nombre del atributo de grupo que configuraste en la aplicación de SAML del IdP y que contiene información de membresía de grupo 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, consulta Asignaciones de atributos.

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

Otorga un rol para habilitar el acceso a Google Security Operations

En los siguientes pasos, se describe cómo otorgar un rol específico con IAM para que los usuarios puedan acceder a Operaciones de seguridad de Google. Realiza la configuración con el proyecto Google Cloud vinculado a Google Security Operations que creaste antes.

En este ejemplo, se usa el comando gcloud. Para usar la consola de Google Cloud, consulta Otorga un solo rol.

  1. Otorga el rol de Visualizador de la API de Chronicle (roles/chronicle.viewer) a los usuarios o grupos que deban tener acceso a la aplicación de Operaciones de seguridad de Google.

    En el siguiente ejemplo, se otorga el rol de visor de la API de Chronicle a las identidades administradas con el grupo de identidades de personal y el proveedor de personal que creaste anteriormente.

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

    Reemplaza lo siguiente:

    Para otorgar el rol de Visualizador 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"
    

    Reemplaza GROUP_ID: un grupo en la reclamación google.groups asignada.

  2. Configura políticas de IAM adicionales para satisfacer los requisitos de tu organización.

  3. Obligatorio: Para completar la autenticación y habilitar el acceso de los usuarios a la plataforma de Google SecOps, debes configurar el acceso de los usuarios desde el lado de SOAR de Google SecOps. Para obtener más información, consulta Cómo asignar usuarios en la plataforma de Google SecOps.

Verifica o configura el control de acceso a las funciones de Google Security Operations

Si configuraste la federación de identidades del personal con atributos o grupos asignados a google.groups, esta información se pasa a Google Security Operations para que puedas configurar el control de acceso basado en roles (RBAC) en las funciones de Google Security Operations.

Si la instancia de Google Security Operations tiene una configuración de RBAC existente, verifica que la configuración original funcione como se espera.

Si no configuraste el control de acceso anteriormente, consulta Configura el control de acceso a funciones con IAM para obtener información sobre cómo controlar el acceso a las funciones.

Modifica la configuración de la federación de identidades de personal

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

En la sección Administración de claves de Cómo crear un proveedor de grupos de Workforce Identity de SAML, se describe cómo actualizar las claves de firma del IdP y, luego, actualizar la configuración del proveedor de Workforce Identity con el archivo XML de metadatos de la aplicación más reciente.

El siguiente es un ejemplo de comando gcloud que actualiza la configuración del proveedor de personal:

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"

Reemplaza lo siguiente:

  • WORKFORCE_PROVIDER_ID: Es el valor que definiste para el ID del proveedor de Workforce Identity.
  • WORKFORCE_POOL_ID: Es el valor que definiste para el ID del grupo de identidades de personal.
  • WORKFORCE_PROVIDER_DISPLAY_NAME: Un nombre fácil de usar para el proveedor de personal. El valor debe tener menos de 32 caracteres.
  • WORKFORCE_PROVIDER_DESCRIPTION: La descripción del proveedor de personal.
  • PATH_TO_METADATA_XML: Es la ubicación del archivo en formato XML de metadatos de la aplicación actualizada, por ejemplo: /path/to/sso_metadata_updated.xml.
  • ATTRIBUTE_MAPPINGS: La aserción asignada a los atributosGoogle Cloud . Por ejemplo:

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

Para garantizar que el RBAC de Google SecOps siga funcionando como se espera, asigna también el atributo google.groups a todos los grupos que se usan para definir roles en Google SecOps.

Soluciona problemas de configuración

Si encuentras errores durante este proceso, consulta Cómo solucionar problemas de la federación de identidades de personal para resolver los problemas habituales. En la siguiente sección, se proporciona información sobre los problemas comunes que se pueden encontrar cuando se realizan los pasos de este documento.

Si los problemas persisten, comunícate con tu representante de SecOps de Google y proporciona el archivo de registros de red de Chrome.

Se produce un error command not found cuando se crea un proveedor de grupos de identidades de personal.

Cuando creas un proveedor de grupos de identidades de personal y especificas los detalles del IdP, aparece 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

Verifica que PATH_TO_METADATA_XML sea la ubicación a la que subiste el archivo en formato XML de metadatos de la aplicación de SAML a tu directorio principal de Cloud Shell.

The caller does not have permission error

Cuando ejecutas el comando gcloud projects add-iam-policy-binding para otorgar 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

Verifica que tengas los permisos necesarios. Consulta Roles requeridos para obtener más información.

¿Qué sigue?

Después de completar los pasos de este documento, haz lo siguiente: