Integra Cloud Identity en Google SecOps
En este documento, se explica cómo integrar Cloud Identity con Google Security Operations.
Casos de uso
La integración de Cloud Identity usa las capacidades de Google SecOps para admitir los siguientes casos de uso:
- Administra los controles de acceso: Crea y actualiza las configuraciones de IAM directamente desde un manual de investigación.
- Definiciones de políticas de auditoría: Muestran información sobre las políticas disponibles para hacer un seguimiento de las mutaciones de acceso.
- Mantener los atributos de la lista de detectores: Agrega entidades e indicadores a listas de URLs de detectores específicos para la supervisión.
Antes de comenzar
Antes de configurar la integración de Cloud Identity en la plataforma de Google SecOps, verifica que hayas configurado tu entorno con los siguientes pasos:
- Crea una cuenta de servicio.
- Delega autoridad a todo el dominio a tu cuenta de servicio
- Habilita las APIs necesarias para tu proyecto.
- Elige y configura uno de los siguientes métodos de autenticación:
- Opción 1: Clave JSON: Este método se basa en un archivo de clave secreta estático y de larga duración. Usa este método solo si Workload Identity no está disponible en tu entorno.
- Opción 2: Workload Identity (recomendada): Este método usa tokens de acceso temporales de corta duración con la identidad temporal como cuenta de servicio, lo que elimina la necesidad de almacenar secretos.
Crea una cuenta de servicio
Para crear una cuenta de servicio para la integración, completa los siguientes pasos:
En la consola de Google Cloud , ve a IAM y administración > Cuentas de servicio y selecciona tu proyecto.
Haga clic en Crear cuenta de servicio.
Proporciona un nombre y una descripción, y haz clic en Listo para crear la cuenta.
Delega autoridad en todo el dominio a tu cuenta de servicio
- En la Consola del administrador de Google de tu dominio, ve a Menú principal > Seguridad > Control de acceso y datos > Controles de API.
- En el panel Delegación de todo el dominio, selecciona Administrar la delegación de todo el dominio.
- Haz clic en Agregar nueva.
- En el campo ID de cliente, ingresa el ID de cliente que obtuviste en la sección Crea una cuenta de servicio.
En el campo Permisos de OAuth, ingresa la siguiente lista de permisos separados por comas que requiere tu aplicación:
https://www.googleapis.com/auth/cloud-platform, https://www.googleapis.com/auth/cloud-identity.policies, https://www.googleapis.com/auth/admin.directory.orgunitHaz clic en Autorizar.
Ahora, la cuenta de servicio está autorizada para acceder a los datos de tu dominio con los permisos especificados.
Habilita las APIs obligatorias para tu proyecto
En la consola de Google Cloud , ve a APIs y servicios.
Haz clic en Habilitar APIs y servicios.
Busca y habilita las siguientes APIs para tu proyecto:
- API del SDK de Admin (
admin.googleapis.com) - API de Cloud Identity (
cloudidentity.googleapis.com)
- API del SDK de Admin (
Configura una clave JSON
Puedes autenticar la integración con un archivo de claves JSON estático o con la federación de identidades para cargas de trabajo. Para maximizar la seguridad de tu entorno, usa el método de Workload Identity. Usa el método de clave JSON solo si tu infraestructura no admite Workload Identity, ya que las claves estáticas requieren una rotación manual y aumentan los riesgos de exposición de credenciales.
Para generar el archivo de claves JSON necesario para autenticar la integración, completa los siguientes pasos:
En la consola de Google Cloud , ve a IAM y administración > Cuentas de servicio y selecciona la cuenta de servicio que creaste.
Ve a la pestaña Claves.
Haga clic en Agregar clave.
Selecciona Crear clave nueva.
En el tipo de clave, selecciona JSON y haz clic en Crear. El archivo JSON se descargará en tu computadora.
Copia todo el contenido de este archivo y pégalo en
User's Service Account JSONdurante la configuración de la integración.
Configura los permisos de Cloud Identity
Sigue el siguiente procedimiento para definir los privilegios administrativos que requiere la integración para administrar los recursos de la organización:
- En la Consola del administrador de Google, ve a Cuenta > Roles de administrador.
- Haz clic en Crear rol nuevo.
- Proporciona un nombre para el nuevo rol personalizado y haz clic en Continuar.
- En la página Select Privileges, ve a la sección de privilegios de la API de Admin.
- En Privilegios de la API de Admin, selecciona los siguientes privilegios:
Organization UnitsUsersGroups
- Haz clic en Continuar.
- Para crear un rol personalizado nuevo, haz clic en Crear rol.
Asigna el rol personalizado a un usuario
Sigue el siguiente procedimiento para asignar el rol a una cuenta de usuario y autorizar la integración para que realice acciones en tu nombre:
- Para crear un usuario nuevo, ve a la página Directorio > Usuarios.
- Agrega un usuario nuevo asociado a la cuenta de servicio.
- Abre la configuración del usuario recién creado. Se abrirá la pestaña de la cuenta de usuario.
- Haz clic en Roles y privilegios de administrador.
- Haz clic en editar Editar.
- Selecciona el rol personalizado que creaste.
- Para el rol seleccionado, cambia el botón de activación a Asignado.
Configura credenciales de Workload Identity
Elige este método o el método de clave JSON para autenticar la integración. Workload Identity es el enfoque recomendado y más seguro porque usa tokens de acceso temporales de corta duración a través de la identidad temporal como cuenta de servicio, lo que minimiza los riesgos de exposición de credenciales secretas de larga duración.
Identifica la identidad única de la instancia
Para usar Workload Identity, debes otorgar permiso a tu instancia de Google SecOps para suplantar tu cuenta de servicio. Este paso permite que la instancia acceda de forma segura a los recursos de Google Cloud.
- En Google SecOps, ve a Content Hub > Integraciones de respuesta.
- Selecciona la integración que estás configurando y, luego, ingresa el correo electrónico de tu cuenta de servicio en el campo
Workload Identity Email. - Ingresa el correo electrónico que deseas que suplante la integración en el campo
Delegated Email. - Haz clic en Guardar > Probar. Se espera que la prueba falle.
Haz clic en close_small a la derecha de Test y busca el mensaje de error del correo electrónico de identidad que comienza con
gke-init-python@...osoar-python@....Copia esta dirección de correo electrónico única.
Autoriza la identidad de la instancia en Google Cloud
Una vez que recuperes la identidad única de tu instancia de Google SecOps, debes autorizarla para que acceda a tus recursos de Google Cloud . Este paso habilita la identidad temporal como cuenta de servicio, lo que permite que la plataforma genere tokens de corta duración y actúe en tu nombre sin necesidad de claves estáticas.
En la consola de Google Cloud , ve a IAM y administración > Cuentas de servicio.
Selecciona la cuenta de servicio de destino y ve a Permisos > Otorgar acceso.
Pega la dirección de correo electrónico única en el campo Nuevos principales y asigna el rol de Creador de tokens de cuenta de servicio (
roles/iam.serviceAccountTokenCreator).
Parámetros de integración
La integración de Cloud Identity requiere los siguientes parámetros:
| Parámetro | Descripción |
|---|---|
Service Account JSON File Content |
Es opcional. Es el contenido del archivo JSON de la clave de la cuenta de servicio. Puedes configurar este parámetro o Workload Identity Email. Para usar este método, pega toda la cadena JSON del archivo de claves que descargaste durante la creación de la cuenta de servicio. |
Workload Identity Email |
Es opcional. Es la dirección de correo electrónico del cliente de tu cuenta de servicio. Puedes configurar este parámetro o Contenido del archivo JSON de la cuenta de servicio. Para usar este método para la suplantación de identidad de la cuenta de servicio, debes otorgar el rol de creador de tokens de cuenta de servicio a la identidad de tu instancia de Google SecOps en tu cuenta de servicio. |
Delegated Email |
Obligatorio. Es la dirección de correo electrónico que usa la integración para realizar acciones. Asegúrate de que esta cuenta tenga los permisos delegados adecuados en tu entorno para ejecutar las tareas de integración requeridas. |
Verify SSL |
Es opcional. Si se selecciona, la integración valida el certificado SSL cuando se conecta al servidor de Cloud Identity. Habilitada de forma predeterminada. |
Si quieres obtener instrucciones para configurar una integración en Google SecOps, consulta Configura integraciones.
Si es necesario, puedes hacer cambios más adelante. Después de configurar una instancia de integración, puedes usarla en los playbooks. Para obtener más información sobre cómo configurar y admitir varias instancias, consulta Compatibilidad con varias instancias.
Acciones
Para obtener más información sobre las acciones, consulta Cómo responder a las acciones pendientes de Tu escritorio y Cómo realizar una acción manual.
Ping
Usa la acción Ping para probar la conectividad a Cloud Identity.
Esta acción no se ejecuta en las entidades de Google SecOps.
Entradas de acción
No se requieren parámetros de entrada para esta acción.
Resultados de la acción
La acción Ping proporciona los siguientes resultados:
| Tipo de salida de la acción | Disponibilidad |
|---|---|
| Adjunto del muro de casos | No disponible |
| Vínculo al muro de casos | No disponible |
| Tabla del muro de casos | No disponible |
| Tabla de enriquecimiento | No disponible |
| Resultado de JSON | No disponible |
| Mensajes de salida | Disponible |
| Resultado de secuencia de comandos | Disponible |
Mensajes de salida
La acción Ping puede devolver los siguientes mensajes de salida:
| Mensaje de salida | Descripción del mensaje |
|---|---|
|
La acción se realizó correctamente. |
Failed to connect to the Cloud Identity server! Error is ERROR_REASON |
No se pudo realizar la acción. Verifica la conexión al servidor, los parámetros de entrada o las credenciales. |
Resultado de secuencia de comandos
En la siguiente tabla, se indica el valor del resultado de la secuencia de comandos cuando se usa la acción Ping:
| Nombre del resultado de la secuencia de comandos | Valor |
|---|---|
is_success |
true o false |
Agrega una entidad a la lista de URLs del detector
Usa la acción Add Entity To Detector URL List para agregar entidades a la lista de detección de políticas de Cloud Identity.
Esta acción se ejecuta en las siguientes entidades de Google SecOps:
- URL
- Dominio
Entradas de acción
La acción Add Entity To Detector URL List requiere los siguientes parámetros:
| Parámetro | Descripción |
|---|---|
Detector Policy ID |
Obligatorio. Es el identificador único de la política del detector que se actualizará. |
URL |
Es opcional. Es una lista de URLs separadas por comas que se agregarán a la lista del detector. |
Domain |
Es opcional. Es una lista de dominios separados por comas que se agregarán a la lista del detector. |
Resultados de la acción
La acción Add Entity To Detector URL List proporciona los siguientes resultados:
| Tipo de salida de la acción | Disponibilidad |
|---|---|
| Adjunto del muro de casos | No disponible |
| Vínculo al muro de casos | No disponible |
| Tabla del muro de casos | No disponible |
| Tabla de enriquecimiento | No disponible |
| Resultado de JSON | Disponible |
| Mensajes de salida | Disponible |
| Resultado de secuencia de comandos | Disponible |
Resultado de JSON
En el siguiente ejemplo, se muestra el resultado JSON que se recibe cuando se usa la acción Add Entity To Detector URL List:
{
"type": "ADMIN",
"customer": "customers/<CUSTOMER_ID>",
"policyQuery": {
"query": "entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('<ORG_UNIT_ID>'))",
"orgUnit": "orgUnits/<ORG_UNIT_ID>"
},
"setting": {
"type": "settings/detector.url_list",
"value": {
"displayName": "test_url_list_detector",
"description": "test_url_list_detector desc",
"urlList": {
"urls": [
"[http://example.com](http://example.com)",
"example.org",
"bad_entity.com"
]
}
}
}
}
Mensajes de salida
La acción Add Entity To Detector URL List puede devolver los siguientes mensajes de salida:
| Mensaje de salida | Descripción del mensaje |
|---|---|
|
La acción se realizó correctamente. |
Error executing action "Add Entity To Detector URL List". Reason: ERROR_REASON |
No se pudo realizar la acción. Verifica la conexión al servidor, los parámetros de entrada o las credenciales. |
Resultado de secuencia de comandos
En la siguiente tabla, se muestra el valor del resultado de la secuencia de comandos cuando se usa la acción Add Entity To Detector URL List:
| Nombre del resultado de la secuencia de comandos | Valor |
|---|---|
is_success |
true o false |
Crear política
Usa la acción Crear política para crear una nueva entrada de política en Cloud Identity.
Esta acción no se ejecuta en las entidades de Google SecOps.
Entradas de acción
La acción Create Policy requiere los siguientes parámetros:
| Parámetro | Descripción |
|---|---|
Policy Entry |
Obligatorio. Objeto JSON que representa la configuración de la entrada de política que se agregará. |
Ejemplos de parámetros de configuración de políticas
En los siguientes ejemplos de configuración, se muestra cómo estructurar el parámetro Policy Entry:
Ejemplo 1: Detector de listas de URLs
{
"type": "ADMIN",
"customer": "customers/<CUSTOMER_ID>",
"policyQuery": {
"orgUnit": "orgUnits/<ORG_UNIT_ID>",
"sortOrder": 1
},
"setting": {
"type": "settings/detector.url_list",
"value": {
"displayName": "BlockUrlDetector",
"description": "Blocked urls for security reasons",
"urlList": {
"urls": [
"www.medium.com",
"medium.com",
"wikipedia.org"
]
}
}
}
}
Ejemplo 2: Regla de DLP
{
"type": "ADMIN",
"customer": "customers/<CUSTOMER_ID>",
"policyQuery": {
"query": "entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('<ORG_UNIT_ID>'))",
"orgUnit": "orgUnits/<ORG_UNIT_ID>",
"sortOrder": 1
},
"setting": {
"type": "settings/rule.dlp",
"value": {
"display_name": "TestRule",
"description": "GoogleSecOps URL Blocklist Rule. Keeps state of blocked URLs. Manual modification is not advised",
"triggers": [
"google.workspace.chrome.url.v1.navigation"
],
"condition": {
"contentCondition": "url.matches_url_list('policies/<DETECTOR_POLICY_ID>')"
},
"action": {
"chromeAction": {
"blockContent": {
"actionParams": {
"customEndUserMessage": {
"unsafeHtmlMessageBody": "(EQ)🚫 BlockedAccess denied."
}
}
}
}
},
"state": "ACTIVE"
}
}
}
Resultados de la acción
La acción Create Policy proporciona los siguientes resultados:
| Tipo de salida de la acción | Disponibilidad |
|---|---|
| Adjunto del muro de casos | No disponible |
| Vínculo al muro de casos | No disponible |
| Tabla del muro de casos | No disponible |
| Tabla de enriquecimiento | No disponible |
| Resultado de JSON | Disponible |
| Mensajes de salida | Disponible |
| Resultado de secuencia de comandos | Disponible |
Resultado de JSON
En el siguiente ejemplo, se muestra el resultado JSON que se recibe cuando se usa la acción Create Policy:
{
"type": "ADMIN",
"customer": "customers/<CUSTOMER_ID>",
"policyQuery": {
"query": "entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('<ORG_UNIT_ID>'))",
"orgUnit": "orgUnits/<ORG_UNIT_ID>"
},
"setting": {
"type": "settings/rule.dlp",
"value": {
"display_name": "test_create_rule",
"triggers": [
"google.workspace.chrome.file.v1.download"
],
"state": "ACTIVE",
"action": {
"chromeAction": {
"warnUser": {}
}
}
}
}
}
Mensajes de salida
La acción Create Policy puede devolver los siguientes mensajes de salida:
| Mensaje de salida | Descripción del mensaje |
|---|---|
|
La acción se realizó correctamente. |
Error executing action "Create Policy". Reason: ERROR_REASON |
No se pudo realizar la acción. Verifica la conexión al servidor, los parámetros de entrada o las credenciales. |
Resultado de secuencia de comandos
En la siguiente tabla, se muestra el valor del resultado de la secuencia de comandos cuando se usa la acción Create Policy:
| Nombre del resultado de la secuencia de comandos | Valor |
|---|---|
is_success |
true o false |
Enumerar políticas
Usa la acción List Policies para recuperar una lista de las políticas existentes de Cloud Identity.
Esta acción no se ejecuta en las entidades de Google SecOps.
Entradas de acción
La acción List Policies requiere los siguientes parámetros:
| Parámetro | Descripción |
|---|---|
Organization Unit Name |
Obligatorio. Es el nombre de la unidad organizativa desde la que se enumerarán las políticas. |
Policy Type Filter |
Es opcional. Es el tipo de política que se usa para filtrar la lista. Los valores posibles son El valor predeterminado es |
Settings Type Filter |
Es opcional. Es el patrón de expresión regular que se usa para filtrar políticas según su tipo de configuración. Este filtro se aplica directamente a la solicitud a la API. |
Settings Display Name Filter |
Es opcional. Es una lista separada por comas de los nombres visibles que se usan para filtrar la configuración de la política. |
Max Results To Return |
Es opcional. Es la cantidad máxima de resultados que se devolverán para la ejecución de la acción. El valor predeterminado es |
Resultados de la acción
La acción List Policies proporciona los siguientes resultados:
| Tipo de salida de la acción | Disponibilidad |
|---|---|
| Adjunto del muro de casos | No disponible |
| Vínculo al muro de casos | No disponible |
| Tabla del muro de casos | No disponible |
| Tabla de enriquecimiento | No disponible |
| Resultado de JSON | Disponible |
| Mensajes de salida | Disponible |
| Resultado de secuencia de comandos | Disponible |
Resultado de JSON
En el siguiente ejemplo, se muestra el resultado en formato JSON que se recibe cuando se usa la acción List Policies:
[
{
"name": "policies/123",
"customer": "customers/123",
"type": "ADMIN",
"policy_query": {
"query": "entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('12345'))",
"orgUnit": "orgUnits/12345",
"sortOrder": 1
},
"setting": {
"type": "settings/rule.dlp",
"value": {
"display_name": "Test DLP Rule"
}
}
}
]
Mensajes de salida
La acción List Policies puede devolver los siguientes mensajes de salida:
| Mensaje de salida | Descripción del mensaje |
|---|---|
|
|
La acción se realizó correctamente. |
Error executing action "List Policies". Reason: ERROR_REASON |
No se pudo realizar la acción. Verifica la conexión al servidor, los parámetros de entrada o las credenciales. |
Resultado de secuencia de comandos
En la siguiente tabla, se indica el valor del resultado del script cuando se usa la acción List Policies:
| Nombre del resultado de la secuencia de comandos | Valor |
|---|---|
is_success |
true o false |
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.