Google Chat

Versión de la integración: 2.0

Permisos de producto

Crear una cuenta de servicio

  1. En la Google Cloud consola, selecciona un proyecto Google Cloud o crea uno. Ten en cuenta que el proyecto seleccionado Google Cloud debe formar parte de la organización Google Cloud.
  2. Haga clic en el ☰ Menú y seleccione el elemento de menú APIs y servicios > Credenciales.
  3. En la parte superior de la página, haz clic en + CREAR CREDENCIALES > Cuenta de servicio.
  4. Escribe el nombre de la cuenta de servicio, que será el que se muestre en la consola.
  5. Opcional: Escribe una descripción de la cuenta de servicio.
  6. Haz clic en CREAR, CONTINUAR y HECHO para terminar de crear la cuenta de servicio.

Crear credenciales de la cuenta de servicio

  1. Después de crear la cuenta de servicio, se te redirigirá a la lista de credenciales que puedes usar en el proyecto de Google Cloud . En la sección Cuentas de servicio, haz clic en la cuenta de servicio que acabas de crear. Se llamará: service-account-name@project-name-XXXXXX.iam.gserviceaccount.com.
  2. Haz clic en AÑADIR CLAVE > Crear clave.
  3. Mantén seleccionado JSON y haz clic en CREAR.

De esta forma, se iniciará la descarga del archivo de credenciales que necesitarás para acceder a la API como esta cuenta de servicio.

Configurar un proyecto de Apps Script

  1. Ve a Google Apps Script.
  2. Crea un proyecto de Apps Script.
  3. Para ejecutar la función de integración, añade el siguiente código al proyecto que acabas de crear:

    var SCOPE = 'https://www.googleapis.com/auth/chat.bot';
    // The values below are copied from the JSON file downloaded upon
    // service account creation.
    // For SERVICE_ACCOUNT_PRIVATE_KEY, remember to include the BEGIN and END lines of the private key
    var SERVICE_ACCOUNT_PRIVATE_KEY = '...';
    var SERVICE_ACCOUNT_EMAIL = 'service-account@project-id.iam.gserviceaccount.com';
    
    // Posts a message into the given space ID via the API, using
    // service account authentication.
    function postMessage(spaceId, message) {
      var service = OAuth2.createService('chat')
          .setTokenUrl('https://accounts.google.com/o/oauth2/token')
          .setPrivateKey(SERVICE_ACCOUNT_PRIVATE_KEY)
          .setClientId(SERVICE_ACCOUNT_EMAIL)
          .setPropertyStore(PropertiesService.getUserProperties())
          .setScope(SCOPE);
      if (!service.hasAccess()) {
        Logger.log('Authentication error: %s', service.getLastError());
        return;
      }
      var url = 'https://chat.googleapis.com/v1/' + spaceId + '/messages';
      UrlFetchApp.fetch(url, {
        method: 'post',
        headers: { 'Authorization': 'Bearer ' + service.getAccessToken() },
        contentType: 'application/json',
        payload: JSON.stringify(message),
      });
    }
    
  4. Abre el archivo de credenciales de la cuenta de servicio que has descargado de laGoogle Cloud consola.

  5. Copia el valor de private_key (el que empieza por -----BEGIN PRIVATE KEY-----) y pégalo en SERVICE_ACCOUNT_PRIVATE_KEY en el proyecto de Apps Script.

  6. Copia el valor de client_email del archivo de credenciales y pégalo en SERVICE_ACCOUNT_EMAIL en el proyecto de Apps Script.

  7. Vincula el proyecto de Apps Script al Google Cloud proyecto que has creado.

  8. Vuelve a la Google Cloud consola y selecciona el elemento de menú ☰ > Gestión de identidades y accesos y administración > Configuración.

  9. Copia el número de proyecto definido en esta página.

  10. En tu proyecto de Apps Script, selecciona Configuración del proyecto > Google Cloud Proyecto y pega el número del proyecto en el cuadro de diálogo Introducir número de proyecto.

  11. Haz clic en Definir proyecto.

Habilitar la API de Google Chat

  1. Ve a ☰ > APIs y servicios y selecciona Biblioteca.
  2. Busca API de Google Chat y haz clic en el único resultado.
  3. Haz clic en HABILITAR.

De esta forma, la API se habilitará en tu proyecto.

Desplegar un bot

  1. En la interfaz de usuario de Apps Script, ve a Implementar > Nueva implementación.
  2. Selecciona Add On (Añadir) para el nuevo tipo de implementación.
  3. Introduce un nombre y una descripción para la implementación y haz clic en Guardar.
  4. Cuando termine de guardar, haga clic en Obtener ID junto a la implementación que acaba de crear y copie el valor del ID de implementación.

Configura el bot de Google Chat:

  1. En la Google Cloud consola, ve a ☰ > APIs & Services > Dashboard (APIs y servicios > Panel de control).
  2. En la lista de APIs habilitadas, selecciona API de Google Chat.
  3. Haz clic en Gestionar para abrir la página de la API de Google Chat.
  4. En la página que se abre, selecciona la pestaña Configuración y configura tu bot:

    • En el campo Nombre de la aplicación, introduce Aplicación de chat de Google Security Operations.
    • En el campo URL del avatar, introduce https://developers.google.com/chat/images/chat-product-icon.png.
    • En el campo Descripción, introduce Aplicación de chat de Google SecOps que se puede usar para enviar mensajes de Google SecOps a espacios de Google Chat.
    • En la sección Funcionalidad, selecciona La aplicación funciona en espacios con varios usuarios.
    • En la sección Configuración de la conexión, selecciona Proyecto de Apps Script y pega el ID de implementación obtenido en el procedimiento Implementar un bot.
    • En la sección Permisos, selecciona Personas y grupos concretos de tu dominio y especifica quién debería poder interactuar con el bot.
    • Haz clic en Guardar. Se ha completado la configuración de la aplicación.

Como la aplicación Google Chat no puede crear espacios (iniciar conversaciones), la aplicación Google SecOps Chat debe añadirse a los espacios a los que debe enviar mensajes.

Una vez configurada la integración, se puede usar la acción "List Spaces" (Listar espacios) para obtener los espacios a los que tiene acceso la aplicación Google SecOps (puede enviar mensajes).

Si la acción "List Spaces" no muestra ningún espacio disponible, significa que tu aplicación no podrá enviar mensajes en ningún espacio. Vuelve a las instrucciones detalladas de arriba y asegúrate de haber seguido cada paso con atención.

Configurar la integración de Google Chat en Google SecOps

Para obtener instrucciones detalladas sobre cómo configurar una integración en Google SecOps, consulta Configurar integraciones.

Parámetros de integración

Usa los siguientes parámetros para configurar la integración:

Nombre visible del parámetro Tipo Valor predeterminado Es obligatorio Descripción
URL raíz de la API Cadena https://chat.googleapis.com/ URL raíz de la API que usa la integración para conectarse al servicio de Google Chat.
Cuenta de servicio Contraseña N/A Contenido del archivo JSON de la cuenta de servicio que usa el chatbot para trabajar con el servicio Google Chat.
Verificar SSL Casilla Marcada Si está habilitada, compruebe que el certificado SSL de la conexión al servicio Google Chat sea válido.

Acciones

Ping

Descripción

Prueba la conectividad con Google Chat con los parámetros proporcionados en la página de configuración de la integración de la pestaña Google Security Operations Marketplace.

Fecha de ejecución

Esta acción no se ejecuta en entidades ni tiene parámetros de entrada obligatorios.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Opciones de valor Ejemplo
is_success Verdadero/Falso is_success:False
Panel de casos
Tipo de resultado Valor/Descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de una guía:

Si se ha completado correctamente: "Successfully connected to the Google Chat service with the provided connection parameters!" ("Se ha conectado correctamente al servicio Google Chat con los parámetros de conexión proporcionados").

La acción debería fallar y detener la ejecución de la guía:

Si se informa de un error crítico, como credenciales incorrectas o pérdida de conectividad: "No se ha podido conectar al servicio Google Chat. Error: {0}".format(exception.stacktrace)"

General

Mostrar espacios

Descripción

Lista los espacios a los que se ha añadido el bot de Google Chat configurado.

Parámetros

Nombre visible del parámetro Tipo Valor predeterminado Es obligatorio Descripción
Teclas de filtro DDL

Selecciona una opción.

Valores posibles:

  • Nombre
  • Nombre visible
  • Tipo
No Especifica la clave que se debe usar para filtrar espacios de Google Chat.
Lógica de filtro DDL

Sin especificar

Valores posibles:

  • Sin especificar
  • Igual
  • Contiene
No Especifica la lógica de filtro que se debe aplicar. La lógica de filtrado funciona en función del valor proporcionado en el parámetro "Clave de filtro".
Valor de filtro Cadena N/A No

Especifica el valor que se debe usar en el filtro.

Si se selecciona "Igual", la acción intentará encontrar la coincidencia exacta entre los resultados.

Si se selecciona "Contiene", la acción intenta encontrar resultados que contengan la subcadena especificada.

Si no se proporciona nada en este parámetro, el filtro no se aplica. La lógica de filtrado funciona en función del valor proporcionado en el parámetro "Clave de filtro".

Número máximo de registros que se devolverán Entero 50 No

Especifica el número de registros que se deben devolver.

Si no se proporciona nada, la acción devuelve 50 registros.

Incluir las suscripciones de usuario Casilla Desmarcada No Si está habilitada, la información de las suscripciones de los usuarios se añade a la tabla de la pared de casos de la acción y al resultado en JSON.

Fecha de ejecución

Esta acción no se ejecuta en entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Opciones de valor Ejemplo
is_success Verdadero/Falso is_success:False
Panel de casos
Tipo de resultado Valor o descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de una guía:

Si hay datos disponibles (is_success=true): "Se han encontrado correctamente los espacios añadidos que cumplen los criterios proporcionados en Google Chat".

Si no hay datos disponibles (is_success=false): "No se han encontrado espacios que cumplan los criterios proporcionados en Google Chat"

Si el parámetro "Filter Value" no tiene ningún valor (is_success=true):

"No se ha aplicado el filtro porque el parámetro "Valor del filtro" tiene un valor vacío".

La acción debería fallar y detener la ejecución de la guía:

Si el parámetro Filter Key tiene el valor "Select One" y el parámetro Filter Logic tiene el valor "Equal" o "Contains":

"Error al ejecutar la acción "List Spaces". Motivo: debes seleccionar un campo del parámetro "Clave de filtro"."

Si se proporciona un valor no válido para el parámetro Número máximo de registros que se devolverán:

"Error al ejecutar la acción "List Spaces". Motivo: "Se ha proporcionado un valor no válido para "Número máximo de registros que se devolverán". Se debe proporcionar un número positivo".

Si se informa de un error grave, como credenciales incorrectas, no hay conexión con el servidor u otro error:

"Error al ejecutar la acción "List Spaces". Motivo: {0}''.format(error.Stacktrace)

General
Tabla del panel de casos

Nombre de la tabla: Bot de espacios disponibles añadido a Columnas de la tabla: {fields}

Nota: Si la casilla "Incluir miembros de usuario" está marcada, se añadirán columnas adicionales con el nombre visible de los miembros del espacio.

General

Enviar mensaje

Descripción

Enviar un mensaje a un espacio de Google Chat al que se haya añadido la aplicación Google SecOps.

Parámetros

Nombre visible del parámetro Tipo Valor predeterminado Es obligatorio Descripción
Nombre del espacio Cadena N/A

Especifica el nombre del espacio al que quieres enviar el mensaje.

Nombre de espacio de ejemplo: AAAAdaTsel0

Texto del mensaje Cadena N/A Especifica el texto del mensaje que quieres enviar.

Fecha de ejecución

Esta acción no se ejecuta en entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Opciones de valor Ejemplo
is_success Verdadero/Falso is_success:False
Panel de casos
Tipo de resultado Valor o descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de una guía:

Si un mensaje se envía correctamente (is_success=true): "Message was sent successfully" ("El mensaje se ha enviado correctamente").

La acción debería fallar y detener la ejecución de la guía:

Si se informa de un error crítico, como que no hay conexión o que las credenciales son incorrectas: "Error al ejecutar la acción "Enviar mensaje". Motivo: {0}''.format(error.Stacktrace)

General

Enviar mensaje avanzado

Descripción

Envía un mensaje avanzado a un espacio de Google Chat en función de la carga útil JSON del mensaje proporcionado.

Parámetros

Nombre visible del parámetro Tipo Valor predeterminado Es obligatorio Descripción
Nombre del espacio Cadena N/A

Especifica el nombre del espacio al que quieres enviar el mensaje.

Nombre de espacio de ejemplo: AAAAdaTsel0

Carga útil de JSON del mensaje Cadena {"cards":[{"sections":[{"widgets":[{"image":{"imageUrl":"https://..."}},{"buttons":[{"textButton":{"text":"OPEN IN GOOGLE MAPS","onClick":{"openLink":{"url":"https://..."}}}}]}]}]}]}

Especifica la carga útil de JSON que se enviará con el mensaje.

Para ver ejemplos de una carga útil de mensajes, consulta este artículo.

Fecha de ejecución

Esta acción no se ejecuta en entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Opciones de valor Ejemplo
is_success Verdadero/Falso is_success:False
Panel de casos
Tipo de resultado Valor o descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de una guía:

Si un mensaje se envía correctamente (is_success=True): "Message was sent successfully" (El mensaje se ha enviado correctamente).

La acción debería fallar y detener la ejecución de la guía:

Si la carga útil JSON proporcionada no es válida: "Error al ejecutar la acción "Enviar mensaje avanzado". Motivo: la carga útil JSON del mensaje proporcionado no es válida. "

Si se informa de un error crítico, como que no hay conexión o que las credenciales son incorrectas: "Error al ejecutar la acción "Enviar mensaje avanzado". Motivo: {0}''.format(error.Stacktrace)

General

¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.