Configura un proveedor de identidad de terceros

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

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

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 Cloud, sin tener que usar una clave de cuenta de servicio. Puedes usar la federación de identidades de personal con cualquier proveedor de identidad (IdP) de terceros que admita OpenID Connect (OIDC), incluidos Microsoft Azure, Okta o SAML 2.0.

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

  • Clientes con requisitos de cumplimiento de FedRAMP High (o superior).
  • Clientes que acceden a cualquier control de nivel empresarial en Google Security Operations habilitado por Google Cloud, incluidos los datos y el control de acceso basado en funciones (RBAC) mediante Identity and Access Management (IAM)
  • Clientes que usan la administración de credenciales de autoservicio para el acceso programático a la API de Google Security Operations.

Google Security Operations admite el SSO de SAML iniciado por el proveedor de servicios (iniciado por SP) para los usuarios. Con esta función, los usuarios pueden navegar directamente a Google Security Operations. Google Security Operations envía una solicitud al proveedor de identidad (IdP) de terceros a través de la federación de identidades de personal de Google Cloud Identity and Access Management (IAM).

Después de que el IdP autentica la identidad del usuario, este vuelve a Google Security Operations con una aserción de autenticación. La federación de identidades de personal de Google Cloud actúa como un intermediario en el flujo de autenticación.

Comunicación entre Google Security Operations, la federación de identidades de personal de Google Cloud IAM y el 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 de IdP en el grupo de identidades de personal de Google Cloud.
  3. Se envía una solicitud al IdP.
  4. La aserción de SAML se envía al grupo de identidades de personal de Google Cloud.
  5. Si la autenticación se realiza de forma correcta, Google Security Operations recibe solo 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 información de membresía de grupo en la aserción y, luego, asocian usuarios y grupos a las funciones predefinidas de IAM de Google Security Operations en la IAM o a las funciones personalizadas que crearon.

No se admite el acceso iniciado por IdP (que inicia el acceso desde tu panel de IdP). Comunícate con tu representante de Google Security Operations para solicitarla 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) de terceros mediante la federación de identidades de personal de Google Cloud. Después de seguir los pasos que se indican en este documento, podrás acceder a Google Security Operations mediante tu IdP externo y administrar el acceso a Google Security Operations mediante el SSO de SAML a través de la federación de identidades de personal.

Antes de comenzar

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

Planifica la implementación

En la siguiente sección, se describen las decisiones que debes tomar y la información que defines 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 identidades de personal de Google Cloud como intermediario en el flujo de autenticación. Para lograrlo, crea los siguientes recursos de Google Cloud:

  • Grupo de trabajadores: Un grupo de identidades de personal te permite otorgarles acceso al personal (p.ej., los empleados) a Google Security Operations.
  • Proveedor de personal: Un proveedor de personal es un subrecurso del grupo de identidades de personal. Almacena detalles sobre un único IdP.

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

  • Un grupo de identidades de 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 a él.
  • Un grupo de identidades de personal puede tener varios proveedores de personal.
  • Cada proveedor de personal integra un IdP externo 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, no se puede compartir el grupo de identidades de personal creado para Google SecOps.
  • Te recomendamos que crees el grupo de identidades de personal en la misma organización de Google Cloud que contiene el proyecto vinculado a Google SecOps.

Te ayuda a ahorrar tiempo si predefines la información sobre el grupo de identidades de personal y el proveedor de personal. Usa esta información cuando configures la aplicación SAML de IdP y la federación de identidades de personal.

Selecciona los valores para los siguientes identificadores:

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

Antes de crear la aplicación de SAML en el IdP, identifica qué atributos y grupos de usuario se necesitan para configurar el acceso a las funciones en Google Security Operations. Para obtener más información, consulta Configura el control de acceso a las funciones con IAM y Permisos de Google Security Operations en IAM.

Necesitas esta información durante las siguientes fases de este proceso:

  • Cuando configures la aplicación SAML, debes crear los grupos definidos durante la planificación. Configura la aplicación SAML del IdP para pasar membresías de grupo en la aserción.

  • Cuando creas el proveedor de trabajadores, debes asignar atributos y grupos de aserción a los atributos de Google Cloud. Esta información se envía en un reclamo de aserción como parte de la identidad del usuario.

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

    Google Security Operations proporciona varias funciones predefinidas que permiten el acceso a funciones específicas. Puedes asignar grupos definidos en la aplicación de SAML del IdP a estas funciones predefinidas.

Asegúrate de crear un grupo de IdP para los administradores que configuran qué usuarios y grupos pueden acceder a las funciones relacionadas con SOAR. Durante el proceso de integración, proporcionarás el nombre de este grupo para que sus usuarios 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 que se necesita en una aplicación de SAML de IdP para integrar la federación de identidades de personal de Google Cloud y Google Security Operations.

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

  2. Configura la aplicación con la siguiente URL de Assertion Consumer Service (ACS), que también se conoce como una 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 identidades de personal.
    • WORKFORCE_PROVIDER_ID: Es el identificador que definiste para el proveedor de trabajadores.

      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 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 trabajadores.
  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 un valor que respalde 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 Soluciona problemas de la federación de identidades de personal.

  5. De forma opcional, crea los atributos de grupo en la aplicación de SAML. Lo definiste cuando planificaste 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 directorio principal de Google Cloud 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 identidades de personal con la aplicación SAML de IdP que creaste en la sección anterior. Para obtener más información sobre la administración de grupos de identidades de personal, 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 anteriormente. Consulta la sección Antes de comenzar.

  2. Inicia una sesión de Cloud Shell.

  3. Configura el proyecto de Google Cloud que se factura y cobra la cuota por 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 Configura un proyecto de Google Cloud 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 identidades de personal

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

  1. Crea un grupo de identidades de personal.

    • Crea un grupo de identidades de personal 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 identidades de personal.
      • ORGANIZATION_ID: Es 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 identidades de personal.

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

      Si el comando se ejecuta de forma correcta, continúa con el paso siguiente. Si el comando falla, considera si las siguientes situaciones se aplican a tu entorno:

      • Quieres usar Google Workspace o Cloud Identity para acceder a Google SecOps.
      • Verás el error “La federación de identidades de personal aún no está disponible para tu organización, comunícate con un representante de Google Cloud”.

      Si se aplican estas situaciones, 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
      

      Con este comando, se crea un grupo de trabajadores que no se puede usar para acceder a Google Cloud, pero debes usar estas marcas a fin de abordar estas situaciones.

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

Crea un proveedor de identidad de personal

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

  2. Toma nota de la ruta de acceso del directorio en la 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 personal 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 trabajadores.
    • WORKFORCE_POOL_ID: Es el valor que definiste para el ID del grupo de identidades de personal.
    • WORKFORCE_PROVIDER_DISPLAY_NAME: Es un nombre fácil de usar para el proveedor de trabajadores. Debe tener menos de 32 caracteres.
    • WORKFORCE_PROVIDER_DESCRIPTION: Es 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 mediante Cloud Shell, por ejemplo: /path/to/sso_metadata.xml.
    • ATTRIBUTE_MAPPINGS: Es la definición de cómo asignar atributos de aserción a atributos de Google Cloud. Common Expression Language se usa 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 se asigna a google.subject. Este es un requisito mínimo.
      • assertion.attributes.name[0] se asigna a google.display_name.
      • assertion.attributes.groups para el atributo google.groups

      Si realizas esta configuración para Google Security Operations, que incluye la SIEM de Google Security Operations y la SOAR de Google Security Operations, también debes asignar los siguientes atributos requeridos por la SOAR de Google Security Operations:

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

      Obtén más información sobre cómo aprovisionar y asignar usuarios para la SOAR de Google Security Operations.

      De forma predeterminada, Google Security Operations lee la 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 SAML para pasar información de membresía de grupo en la aserción, establece el nombre del atributo del 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 pertenencia al 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 a google.groups el grupo http://schemas.xmlsoap.org/ws/2005/05/identity/claims/group que contiene caracteres especiales:

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

      Para obtener más información sobre los atributos de asignación, 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 una función específica mediante IAM para que los usuarios puedan acceder a Google Security Operations. Realiza la configuración con el proyecto de 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 la función de visualizador de la API de Chronicle (roles/chronicle.viewer) a los usuarios o grupos que deben tener acceso a la aplicación de Google Security Operations.

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

    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: Es un grupo en la reclamación google.groups asignada.

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

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

Si configuraste la federación de identidades de personal con atributos o grupos asignados al atributo google.groups, esta información se pasa a Google Security Operations para que puedas configurar el control de acceso basado en funciones (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 con anterioridad, consulta Configura el control de acceso a las funciones con la IAM para obtener más 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 trabajadores, consulta Administra los 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 Crea un proveedor de grupos de trabajadores de SAML, se describe cómo actualizar las claves de firma del IdP y, luego, la configuración del proveedor de trabajadores con el archivo en formato XML de metadatos de la aplicación más reciente.

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

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 trabajadores.
  • WORKFORCE_POOL_ID: Es el valor que definiste para el ID del grupo de identidades de personal.
  • WORKFORCE_PROVIDER_DISPLAY_NAME: Es un nombre fácil de usar para el proveedor de trabajadores. El valor debe tener menos de 32 caracteres.
  • WORKFORCE_PROVIDER_DESCRIPTION: Es 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 actualizado, por ejemplo: /path/to/sso_metadata_updated.xml.
  • ATTRIBUTE_MAPPINGS: Son los atributos de aserción asignados a los atributos de Google Cloud. Por ejemplo:

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

Para asegurarte de 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 con la configuración

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

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

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

Cuando creas un proveedor de grupos de identidades de personal y especificas los detalles del IdP, recibes 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 en la que subiste el archivo en formato XML de metadatos de la aplicación de SAML al directorio principal de Cloud Shell.

The caller does not have permission error

Cuando ejecutes el comando gcloud projects add-iam-policy-binding para otorgar roles a usuarios o grupos, verás 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 si cuentas con los permisos necesarios. Consulta Roles obligatorios para obtener más información.

¿Qué sigue?

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