Google Chat
In diesem Dokument finden Sie eine Anleitung zum Einbinden von Google Chat in Google SecOps.
Produktberechtigungen
Dienstkonto erstellen
- Wählen Sie in der Google Cloud Console ein vorhandenes Google Cloud -Projekt aus oder erstellen Sie ein neues. Das ausgewählte Projekt in Google Cloud muss Teil der Organisation in Google Cloudsein.
- Klicken Sie auf das Menü ☰ und wählen Sie den Menüpunkt APIs und Dienste > Anmeldedaten aus.
- Klicken Sie oben auf der Seite auf + ANMELDEDATEN ERSTELLEN > Dienstkonto.
- Geben Sie einen Dienstkontonamen ein, der in der Console angezeigt werden soll.
- Optional: Geben Sie eine Beschreibung für das Dienstkonto ein.
- Klicken Sie auf ERSTELLEN, dann auf WEITER und schließlich auf FERTIG, um das Erstellen des Dienstkontos abzuschließen.
Anmeldedaten für ein Dienstkonto erstellen
- Nachdem Sie das Dienstkonto erstellt haben, werden Sie zur Liste der Anmeldedaten weitergeleitet, die Sie für das Projekt Google Cloud verwenden können. Klicken Sie im Abschnitt Dienstkonten auf das neu erstellte Dienstkonto. Der Name lautet: service-account-name@project-name-XXXXXX.iam.gserviceaccount.com.
- Klicken Sie auf SCHLÜSSEL HINZUFÜGEN > Neuen Schlüssel erstellen.
- Lassen Sie „JSON“ ausgewählt und klicken Sie auf ERSTELLEN.
Dadurch wird die Datei mit den Anmeldedaten heruntergeladen, die Sie für den Zugriff auf die API als dieses Dienstkonto benötigen.
Neues Apps Script-Projekt einrichten
- Rufen Sie Google Apps Script auf.
- Erstellen Sie ein neues Apps Script-Projekt.
Fügen Sie dem neu erstellten Projekt den folgenden Code hinzu, um die Integrationsfunktion auszuführen:
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), }); }Öffnen Sie die Datei mit den Anmeldedaten für das Dienstkonto, die Sie aus derGoogle Cloud Console heruntergeladen haben.
Kopieren Sie den Wert „private_key“ (der mit -----BEGIN PRIVATE KEY----- beginnt) und fügen Sie ihn in SERVICE_ACCOUNT_PRIVATE_KEY im Apps Script-Projekt ein.
Kopieren Sie den Wert „client_email“ aus der Datei mit den Anmeldedaten und fügen Sie ihn in die SERVICE_ACCOUNT_EMAIL im Apps Script-Projekt ein.
Verknüpfen Sie das Apps Script-Projekt mit dem von Ihnen erstellten Google Cloud -Projekt.
Kehren Sie zur Google Cloud Console zurück und wählen Sie den Menüpunkt ☰ > IAM und Verwaltung > Einstellungen aus.
Kopieren Sie die auf dieser Seite definierte Projektnummer.
Wählen Sie in Ihrem Apps Script-Projekt den Menüpunkt Projekteinstellungen > Google Cloud Projekt aus und fügen Sie die Projektnummer in das Dialogfeld „Projektnummer hier eingeben“ ein.
Klicken Sie auf Projekt festlegen.
Google Chat API aktivieren
- Gehen Sie zu ☰ > APIs und Dienste und wählen Sie Bibliothek aus.
- Suchen Sie nach Google Chat API und klicken Sie auf das einzige Ergebnis.
- Klicken Sie auf AKTIVIEREN.
Dadurch wird die API für Ihr Projekt aktiviert.
Bot bereitstellen
- Rufen Sie in der Apps Script-Benutzeroberfläche Bereitstellen > Neue Bereitstellung auf.
- Wählen Sie Add-on für den neuen Bereitstellungstyp aus.
- Geben Sie einen Namen und eine Beschreibung für die Bereitstellung ein und klicken Sie auf Speichern.
- Klicken Sie nach dem Speichern neben der gerade erstellten Bereitstellung auf ID abrufen und kopieren Sie den Wert der Bereitstellungs-ID.
Konfigurieren Sie den Google Chat-Bot:
- Rufen Sie in der Google Cloud Console ☰ > APIs & Dienste > Dashboard auf.
- Wählen Sie in der Liste der aktivierten APIs die Google Chat API aus.
- Klicken Sie auf Verwalten, um die Seite „Google Chat API“ zu öffnen.
Wählen Sie auf der geöffneten Seite den Tab Konfiguration aus und richten Sie die Bot-Konfiguration ein:
- Geben Sie im Feld App-Name „Google Security Operations Chat App“ ein.
- Geben Sie im Feld Avatar-URL Folgendes ein: https://developers.google.com/chat/images/chat-product-icon.png.
- Geben Sie im Feld Beschreibung „Google SecOps Chat-App“ ein, mit der Nachrichten von Google SecOps an Google Chat-Bereiche gesendet werden können.
- Wählen Sie im Bereich Funktionalität die Option Anwendung funktioniert in Bereichen mit mehreren Nutzern aus.
- Wählen Sie im Abschnitt Verbindungseinstellungen die Option Apps Script-Projekt aus und fügen Sie die Bereitstellungs-ID ein, die Sie im Rahmen des Verfahrens Bot bereitstellen erhalten haben.
- Wählen Sie im Bereich Berechtigungen die Option Bestimmte Personen und Gruppen in Ihrer Domain aus und geben Sie an, wer mit dem Bot interagieren darf.
- Klicken Sie auf Speichern. Die App-Konfiguration ist abgeschlossen.
Da die Google Chat-App keine Gruppenbereiche erstellen (Unterhaltungen initiieren) kann, muss die Google SecOps Chat-App den Gruppenbereichen hinzugefügt werden, an die sie Nachrichten senden soll.
Nachdem die Integration konfiguriert wurde, können Sie mit der Aktion „List Spaces“ die Bereiche abrufen, auf die die Google SecOps-Anwendung Zugriff hat (an die sie Nachrichten senden kann).
Wenn die Aktion „Gruppenbereiche auflisten“ keine verfügbaren Gruppenbereiche anzeigt, kann Ihre App in keinem Gruppenbereich Nachrichten senden. Gehen Sie zurück zur detaillierten Anleitung oben und prüfen Sie, ob Sie alle Schritte sorgfältig ausgeführt haben.
Google Chat-Integration in Google SecOps konfigurieren
Eine detaillierte Anleitung zum Konfigurieren einer Integration in Google SecOps finden Sie unter Integrationen konfigurieren.
Integrationsparameter
Verwenden Sie die folgenden Parameter, um die Integration zu konfigurieren:
| Anzeigename des Parameters | Typ | Standardwert | Ist obligatorisch | Beschreibung |
|---|---|---|---|---|
| API-Stamm-URL | String | https://chat.googleapis.com/ | Ja | Die Stamm-URL der API, die die Integration verwendet, um eine Verbindung zum Google Chat-Dienst herzustellen. |
| Dienstkonto | Passwort | – | Ja | Inhalt der JSON-Datei des Dienstkontos, die der Chatbot für die Zusammenarbeit mit dem Google Chat-Dienst verwendet. |
| SSL überprüfen | Kästchen | Aktiviert | Ja | Wenn diese Option aktiviert ist, prüfen Sie, ob das SSL-Zertifikat für die Verbindung zum Google Chat-Dienst gültig ist. |
Aktionen
Ping
Beschreibung
Testen Sie die Verbindung zu Google Chat mit den Parametern, die auf der Seite für die Integrationskonfiguration im Google SecOps Content Hub angegeben sind.
Ausführen am
Diese Aktion wird nicht für Entitäten ausgeführt und hat keine obligatorischen Eingabeparameter.
Aktionsergebnisse
Scriptergebnis
| Name des Skriptergebnisses | Wertoptionen | Beispiel |
|---|---|---|
| is_success | Wahr/falsch | is_success:False |
Fall-Repository
| Ergebnistyp | Wert/Beschreibung | Typ |
|---|---|---|
| Ausgabenachricht* | Die Aktion sollte die Ausführung eines Playbooks weder fehlschlagen lassen noch stoppen: Wenn die Verbindung erfolgreich hergestellt wurde: „Successfully connected to the Google Chat service with the provided connection parameters!“ (Verbindung zum Google Chat-Dienst mit den angegebenen Verbindungsparametern erfolgreich hergestellt!) Die Aktion sollte fehlschlagen und die Ausführung des Playbooks beenden: Wenn ein kritischer Fehler wie falsche Anmeldedaten oder ein Verbindungsabbruch gemeldet wird: „Failed to connect to the Google Chat service! Error is {0}".format(exception.stacktrace)" |
Allgemein |
Spaces auflisten
Beschreibung
Gruppenbereiche auflisten, denen der aktuell konfigurierte Google Chat-Bot hinzugefügt wurde.
Parameter
| Anzeigename des Parameters | Typ | Standardwert | Ist obligatorisch | Beschreibung |
|---|---|---|---|---|
| Filterschlüssel | DDL | Wählen Sie eine Option aus. Mögliche Werte:
|
Nein | Geben Sie den Schlüssel an, der zum Filtern von Google Chat-Bereichen verwendet werden soll. |
| Filterlogik | DDL | Nicht angegeben Mögliche Werte:
|
Nein | Geben Sie an, welche Filterlogik angewendet werden soll. Die Filterlogik basiert auf dem Wert, der im Parameter „Filterschlüssel“ angegeben ist. |
| Filterwert | String | – | Nein | Geben Sie an, welcher Wert im Filter verwendet werden soll. Wenn „Gleich“ ausgewählt ist, wird versucht, die genaue Übereinstimmung unter den Ergebnissen zu finden. Wenn „Enthält“ ausgewählt ist, wird versucht, Ergebnisse zu finden, die den angegebenen Teilstring enthalten. Wenn für diesen Parameter nichts angegeben ist, wird der Filter nicht angewendet. Die Filterlogik basiert auf dem Wert, der im Parameter „Filterschlüssel“ angegeben ist. |
| Maximale Anzahl zurückzugebender Datensätze | Ganzzahl | 50 | Nein | Geben Sie die Anzahl der zurückzugebenden Datensätze an. Wenn nichts angegeben ist, gibt die Aktion 50 Einträge zurück. |
| Nutzermitgliedschaften einbeziehen | Kästchen | Deaktiviert | Nein | Wenn diese Option aktiviert ist, werden Informationen zu Nutzermitgliedschaften der Tabelle „Case Wall“ und dem JSON-Ergebnis der Aktion hinzugefügt. |
Ausführen am
Diese Aktion wird nicht für Entitäten ausgeführt.
Aktionsergebnisse
Scriptergebnis
| Name des Skriptergebnisses | Wertoptionen | Beispiel |
|---|---|---|
| is_success | Wahr/falsch | is_success:False |
Fall-Repository
| Ergebnistyp | Wert / Beschreibung | Typ |
|---|---|---|
| Ausgabenachricht* | Die Aktion sollte die Ausführung eines Playbooks weder fehlschlagen lassen noch stoppen: Wenn Daten verfügbar sind (is_success=true): „In Google Chat wurden hinzugefügte Gruppenbereiche für die angegebenen Kriterien gefunden.“ Wenn keine Daten verfügbar sind (is_success=false): „In Google Chat wurden keine Gruppenbereiche gefunden, die den angegebenen Kriterien entsprechen.“ Wenn der Parameter „Filter Value“ keinen Wert hat (is_success=true): „Der Filter wurde nicht angewendet, weil der Parameter ‚Filterwert‘ einen leeren Wert hat.“ Die Aktion sollte fehlschlagen und die Ausführung des Playbooks beenden: Wenn der Parameter „Filterschlüssel“ auf „Einen auswählen“ und der Parameter „Filterlogik“ auf „Gleich“ oder „Enthält“ festgelegt ist: „Fehler beim Ausführen der Aktion ‚Bereiche auflisten‘. Grund: Sie müssen ein Feld aus dem Parameter „Filterschlüssel“ auswählen.“ Wenn ein ungültiger Wert für den Parameter „Max Records to Return“ angegeben wird: „Fehler beim Ausführen der Aktion ‚Bereiche auflisten‘. Grund: „Für ‚Max Records to Return‘ wurde ein ungültiger Wert angegeben. Es muss eine positive Zahl angegeben werden.“ Wenn ein schwerwiegender Fehler gemeldet wird, z. B. falsche Anmeldedaten, keine Verbindung zum Server oder ein anderer Fehler: „Fehler beim Ausführen der Aktion ‚Bereiche auflisten‘. Reason: {0}''.format(error.Stacktrace) |
Allgemein |
| Tabelle mit Fall-Repository | Tabellenname: Verfügbare Gruppenbereiche, denen der Bot hinzugefügt wurde Tabellenspalten: {fields} Hinweis:Wenn das Kästchen „Nutzermitgliedschaften einschließen“ angekreuzt ist, werden zusätzliche Spalten mit einem Anzeigenamen für die Mitglieder des Gruppenbereichs hinzugefügt. |
Allgemein |
Nachricht senden
Beschreibung
Senden Sie eine Nachricht an einen Google Chat-Bereich, dem die Google SecOps-Anwendung hinzugefügt wurde.
Parameter
| Anzeigename des Parameters | Typ | Standardwert | Ist obligatorisch | Beschreibung |
|---|---|---|---|---|
| Name des Gruppenbereichs | String | – | Ja | Geben Sie den Namen des Space an, an den die Nachricht gesendet werden soll. Beispiel für einen Gruppenbereichsnamen: AAAAdaTsel0 |
| Nachrichtentext | String | – | Ja | Geben Sie den Text der zu sendenden Nachricht an. |
Ausführen am
Diese Aktion wird nicht für Entitäten ausgeführt.
Aktionsergebnisse
Scriptergebnis
| Name des Skriptergebnisses | Wertoptionen | Beispiel |
|---|---|---|
| is_success | Wahr/falsch | is_success:False |
Fall-Repository
| Ergebnistyp | Wert / Beschreibung | Typ |
|---|---|---|
| Ausgabenachricht* | Die Aktion sollte die Ausführung eines Playbooks weder fehlschlagen lassen noch stoppen: Wenn eine Nachricht erfolgreich gesendet wurde (is_success=true): „Die Nachricht wurde erfolgreich gesendet.“ Die Aktion sollte fehlschlagen und die Ausführung des Playbooks beenden: Wenn ein kritischer Fehler wie „Keine Verbindung“ oder „Falsche Anmeldedaten“ gemeldet wird: „Fehler beim Ausführen der Aktion ‚Nachricht senden‘. Reason: {0}''.format(error.Stacktrace) |
Allgemein |
Erweiterte Nachricht senden
Beschreibung
Sendet eine erweiterte Nachricht an einen Google Chat-Bereich, basierend auf der angegebenen JSON-Nutzlast der Nachricht.
Parameter
| Anzeigename des Parameters | Typ | Standardwert | Ist obligatorisch | Beschreibung |
|---|---|---|---|---|
| Name des Gruppenbereichs | String | – | Ja | Geben Sie den Namen des Space an, an den die Nachricht gesendet werden soll. Beispiel für einen Gruppenbereichsnamen: AAAAdaTsel0 |
| JSON-Nutzlast der Nachricht | String | {"cards":[{"sections":[{"widgets":[{"image":{"imageUrl":"https://..."}},{"buttons":[{"textButton":{"text":"OPEN IN GOOGLE MAPS","onClick":{"openLink":{"url":"https://..."}}}}]}]}]}]} | Ja | Geben Sie die JSON-Nutzlast an, die mit der Nachricht gesendet werden soll. Beispiele für eine Nachrichtennutzlast finden Sie in diesem Artikel. |
Ausführen am
Diese Aktion wird nicht für Entitäten ausgeführt.
Aktionsergebnisse
Scriptergebnis
| Name des Skriptergebnisses | Wertoptionen | Beispiel |
|---|---|---|
| is_success | Wahr/falsch | is_success:False |
Fall-Repository
| Ergebnistyp | Wert / Beschreibung | Typ |
|---|---|---|
| Ausgabenachricht* | Die Aktion sollte die Ausführung eines Playbooks weder fehlschlagen lassen noch stoppen: Wenn eine Nachricht erfolgreich gesendet wurde (is_success=True): „Die Nachricht wurde erfolgreich gesendet.“ Die Aktion sollte fehlschlagen und die Ausführung des Playbooks beenden: Wenn die angegebene JSON-Nutzlast nicht gültig ist: „Fehler beim Ausführen der Aktion ‚Erweiterte Nachricht senden‘. Grund: Die bereitgestellte JSON-Nutzlast der Nachricht ist ungültig. " Wenn ein kritischer Fehler gemeldet wird, z. B. keine Verbindung oder falsche Anmeldedaten: „Fehler beim Ausführen der Aktion ‚Erweiterte Nachricht senden‘. Reason: {0}''.format(error.Stacktrace) |
Allgemein |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten