Configura un proveedor de identidad de terceros
Puedes usar Cloud Identity, Google Workspace o una identidad de terceros (como Okta o Azure AD) para administrar los usuarios, los grupos y la autenticación.
En esta página, se describe cómo usar un proveedor de identidad de terceros mediante la configuración 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 proveedor de identidad de Google Cloud.
La federación de identidades de personal de Google otorgar a las cargas de trabajo locales o de múltiples nubes acceso a 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) como 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 accedan a controles de nivel empresarial en Google Security Operations habilitados por Google Cloud incluidos el control de acceso basado en roles (RBAC) para 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 pueden navegar directamente a Google Security Operations. Google Security Operations emite una solicitud a través de Google Cloud Identity and Access Management (IAM) federación de identidades de personal al proveedor de identidad (IdP) de terceros.
Después de que el IdP autentica la identidad del usuario, el usuario vuelve Google Security Operations con una aserción de autenticación Identidad del personal de Google Cloud y federación actúa como intermediaria en el flujo de autenticación.
Comunicación entre Google Security Operations y la identidad de los trabajadores de IAM la federación y el IdP
En un nivel alto, la comunicación es la siguiente:
- El usuario navega a Google Security Operations.
- Google Security Operations busca información de IdP en el grupo de identidades de personal de Google Cloud.
- Se envía una solicitud a la AC.
- La aserción de SAML se envía al grupo de identidades de personal de Google Cloud.
- 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 información de pertenencia a grupos en la aserción y, luego, asociar usuarios y grupos a roles predefinidos de Google Security Operations en IAM o personalizados que creó.
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 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 identidad (IdP) externo con 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 con el SSO de SAML a través de la federación de identidades de personal.
Antes de comenzar
- Asegúrate de estar familiarizado con Cloud Shell, el comando
gcloud
y la consola de Google Cloud. - Realiza los pasos que se indican en Configura un proyecto de Google Cloud para Google Security Operations para configurar un proyecto que se vincule a Google Security Operations.
- Familiarízate con la federación de identidades de personal de Google Cloud.
- Asegúrate de tener los permisos para realizar los pasos de este documento. Para obtener información sobre los permisos necesarios para cada fase del proceso de integración, consulta Roles obligatorios.
En los siguientes pasos, se describe cómo realizar la configuración con los 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 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 identidades de la fuerza laboral 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 a tu personal (p.ej., los empleados) a Google Security Operations.
- Proveedor de trabajadores: 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 identidades de personal, los proveedores de personal y Google Security Operations identificada con un único subdominio de cliente, es la siguiente:
- Un grupo de identidad 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 a él.
- 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, No se puede compartir el grupo de identidades de personal creado para Google SecOps.
- Recomendamos que crees el grupo de identidades de personal en el mismo 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 los 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.
Selecciona los valores para 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 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 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 un área descripción 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 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 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 usuarios son necesarios para configurar el acceso a las funciones de Google Security Operations. Para obtener más información, consulta Configura el control de acceso a las funciones con la IAM. y permisos de Google Security Operations en IAM.
Necesitarás 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. 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 trabajadores, debes asignar atributos y grupos de aserción a Atributos de Google 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 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 necesaria en una aplicación SAML de IdP para integrarse en la federación de identidades de personal de Google Cloud y Google Security Operations.
Crea una nueva aplicación de SAML en tu IdP.
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.
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 Workforce Identity.
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 la configuración de 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.
De forma opcional, crea los atributos de grupo en la aplicación de SAML. Lo definiste cuando planificaste la implementación del IdP.
Descarga el archivo en formato 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 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 la administración de grupos de identidades de personal, consulta Administra los proveedores de grupos de identidad de personal
Abre la consola de Google Cloud como el usuario con los permisos necesarios en Proyecto vinculado a Google Security Operations. Identificaste o creaste este usuario antes. Consulta la sección Antes de comenzar.
Inicia una sesión de Cloud Shell.
Configura el proyecto de Google Cloud cuya cuota se factura y se cobra 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 Workforce Identity
Puedes configurar un grupo de identidades de personal para integrarlo a un de identidad (IdP) o con Google Workspace o Cloud Identity.
Crea un grupo de identidades de personal.
Crea un grupo de Workforce Identity para un proveedor de identidad 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
: 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 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 trabajadores que no se puede usar para acceder. Google Cloud, pero debes usar estas marcas para abordar estas situaciones.
Si en la línea de comandos se te solicita que habilites la API de Chronicle, escribe
Yes
.
Crea un proveedor de Workforce Identity
Sube el archivo de metadatos de la aplicación de SAML al directorio principal de Cloud Shell haciendo clic en >. Los archivos solo pueden se subirá al directorio principal. Para obtener 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.
MásToma 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.
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 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
: 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 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 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
agoogle.subject
. Este es un requisito mínimo.assertion.attributes.name[0]
agoogle.display_name
.assertion.attributes.groups
para el atributogoogle.groups
Si realizas esta configuración para Google Security Operations, que incluye Google Security Operations SIEM y Google Security Operations SOAR, también debes asignar los siguientes atributos que requiere Google Security Operations 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 Security Operations SOAR.
De forma predeterminada, Google Security Operations lee la información del grupo de la siguiente manera: Nombres de atributos de aserciones que no distinguen mayúsculas de minúsculas:
_assertion.attributes.groups_
,_assertion.attributes.idpGroup_
y_assertion.attributes.memberOf_
.Durante la configuración de 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
porassertion.attributes.idpGroup
oassertion.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 del 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 grupohttp://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 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 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.
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 identidad del 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:
PROJECT_ID
: Con el ID del proyecto vinculado a Google Security Operations que configuraste 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.WORKFORCE_POOL_ID
: Es el valor que definiste para el ID del grupo de identidades de personal.
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óngoogle.groups
asignada.Configura políticas de IAM adicionales para satisfacer 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 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
: 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 actualizada, por ejemplo:/path/to/sso_metadata_updated.xml
.ATTRIBUTE_MAPPINGS
: Los atributos de la aserción asignada 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 garantizar que la 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 Google SecOps y proporciona tu 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, 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
Comprueba que PATH_TO_METADATA_XML
sea la ubicación donde subiste el
Archivo 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 que tengas los permisos necesarios. Consulta Roles obligatorios para obtener más información.
¿Qué sigue?
Después de completar los pasos de este documento, sigue estos pasos:
Sigue los pasos para vincular una instancia de Google Security Operations a los servicios de Google Cloud.
Si aún no configuraste el registro de auditoría, continúa con el proceso para habilitar el registro de auditoría de Google Security Operations.
Si quieres configurar Google Security Operations, sigue los pasos adicionales en Aprovisiona, autentica y asigna usuarios en Google Security Operations.
Para configurar el acceso a las funciones, sigue los pasos adicionales que se indican en Cómo configurar el control de acceso a las funciones con IAM y Permisos de Operaciones de seguridad de Google en IAM.