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:

  1. Crea una cuenta de servicio.
  2. Delega autoridad a todo el dominio a tu cuenta de servicio
  3. Habilita las APIs necesarias para tu proyecto.
  4. 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:

  1. En la consola de Google Cloud , ve a IAM y administración > Cuentas de servicio y selecciona tu proyecto.

    Ir a Cuentas de servicio

  2. Haga clic en Crear cuenta de servicio.

  3. 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

  1. En la Consola del administrador de Google de tu dominio, ve a Menú principal > Seguridad > Control de acceso y datos > Controles de API.
  2. En el panel Delegación de todo el dominio, selecciona Administrar la delegación de todo el dominio.
  3. Haz clic en Agregar nueva.
  4. En el campo ID de cliente, ingresa el ID de cliente que obtuviste en la sección Crea una cuenta de servicio.
  5. 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.orgunit
    
  6. Haz 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

  1. En la consola de Google Cloud , ve a APIs y servicios.

    Ir a API y servicios

  2. Haz clic en Habilitar APIs y servicios.

  3. Busca y habilita las siguientes APIs para tu proyecto:

    • API del SDK de Admin (admin.googleapis.com)
    • API de Cloud Identity (cloudidentity.googleapis.com)

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:

  1. En la consola de Google Cloud , ve a IAM y administración > Cuentas de servicio y selecciona la cuenta de servicio que creaste.

    Ir a Cuentas de servicio

  2. Ve a la pestaña Claves.

  3. Haga clic en Agregar clave.

  4. Selecciona Crear clave nueva.

  5. En el tipo de clave, selecciona JSON y haz clic en Crear. El archivo JSON se descargará en tu computadora.

  6. Copia todo el contenido de este archivo y pégalo en User's Service Account JSON durante 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:

  1. En la Consola del administrador de Google, ve a Cuenta > Roles de administrador.
  2. Haz clic en Crear rol nuevo.
  3. Proporciona un nombre para el nuevo rol personalizado y haz clic en Continuar.
  4. En la página Select Privileges, ve a la sección de privilegios de la API de Admin.
  5. En Privilegios de la API de Admin, selecciona los siguientes privilegios:
    • Organization Units
    • Users
    • Groups
  6. Haz clic en Continuar.
  7. 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:

  1. Para crear un usuario nuevo, ve a la página Directorio > Usuarios.
  2. Agrega un usuario nuevo asociado a la cuenta de servicio.
  3. Abre la configuración del usuario recién creado. Se abrirá la pestaña de la cuenta de usuario.
  4. Haz clic en Roles y privilegios de administrador.
  5. Haz clic en editar Editar.
  6. Selecciona el rol personalizado que creaste.
  7. 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.

  1. En Google SecOps, ve a Content Hub > Integraciones de respuesta.
  2. 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.
  3. Ingresa el correo electrónico que deseas que suplante la integración en el campo Delegated Email.
  4. Haz clic en Guardar > Probar. Se espera que la prueba falle.
  5. 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@... o soar-python@....

  6. 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.

  1. En la consola de Google Cloud , ve a IAM y administración > Cuentas de servicio.

    Ir a Cuentas de servicio

  2. Selecciona la cuenta de servicio de destino y ve a Permisos > Otorgar acceso.

  3. 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

Successfully connected to the Cloud Identity server with the provided connection parameters!

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

Successfully blocked the following URLs using Cloud Identity: ENTITY_IDENTIFIER

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

Successfully added a new policy in Cloud Identity.

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 Admin, System o Both.

El valor predeterminado es Both.

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 50. El valor máximo es 100.

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

Successfully listed policies based on the provided criteria in Cloud Identity.

No policies found based on the provided criteria in Cloud Identity.

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.