Google Chat
Questo documento fornisce indicazioni su come integrare Google Chat con Google SecOps.
Autorizzazioni per i prodotti
Crea un account di servizio
- Nella console Google Cloud , seleziona un progetto Google Cloud esistente o creane uno nuovo. Tieni presente che il progetto Google Cloud selezionato deve far parte dell'organizzazione in Google Cloud.
- Fai clic sul ☰ menu e seleziona la voce di menu API e servizi > Credenziali.
- Nella parte superiore della pagina, fai clic su + CREA CREDENZIALI > Service account.
- Inserisci il nome di un account di servizio da visualizzare nella console.
- (Facoltativo) Inserisci una descrizione del service account.
- Fai clic su CREA, poi su CONTINUA e infine su FINE per completare la creazione del account di servizio.
Crea le credenziali dell'account di servizio
- Dopo aver creato l'account di servizio, verrà visualizzato l'elenco delle credenziali che puoi utilizzare per il progetto Google Cloud . Nella sezione Service account, fai clic sul account di servizio appena creato. Il nome sarà: service-account-name@project-name-XXXXXX.iam.gserviceaccount.com.
- Fai clic su AGGIUNGI CHIAVE > Crea nuova chiave.
- Mantieni selezionato JSON e fai clic su CREA.
In questo modo viene avviato il download del file delle credenziali necessario per accedere all'API come account di servizio.
Configura un nuovo progetto Apps Script
- Vai a Google Apps Script.
- Crea un nuovo progetto Apps Script.
Per eseguire la funzionalità di integrazione, aggiungi il seguente codice al progetto appena creato:
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), }); }Apri il file delle credenziali del account di servizio scaricato dalla consoleGoogle Cloud .
Copia il valore private_key (quello che inizia con -----BEGIN PRIVATE KEY-----) e incollalo in SERVICE_ACCOUNT_PRIVATE_KEY nel progetto Apps Script.
Copia il valore client_email dal file delle credenziali e incollalo in SERVICE_ACCOUNT_EMAIL nel progetto Apps Script.
Collega il progetto Apps Script al progetto Google Cloud che hai creato.
Torna alla console Google Cloud e seleziona la voce di menu ☰ > IAM e amministrazione > Impostazioni.
Copia il numero di progetto definito in questa pagina.
Nel progetto Apps Script, seleziona la voce di menu Impostazioni progetto > Google Cloud Progetto e incolla il numero del progetto nella finestra di dialogo Inserisci qui il numero del progetto.
Fai clic su Imposta progetto.
Abilita l'API Google Chat
- Vai a ☰ > API e servizi e seleziona Libreria.
- Cerca API Google Chat e fai clic sull'unico risultato.
- Fai clic su ABILITA.
In questo modo, l'API viene abilitata per il tuo progetto.
Esegui il deployment di un bot
- Nella UI di Apps Script, vai a Esegui il deployment > Nuovo deployment.
- Seleziona Componente aggiuntivo per il nuovo tipo di deployment.
- Inserisci un nome e una descrizione per il deployment e fai clic su Salva.
- Al termine del salvataggio, fai clic su Ottieni ID accanto al deployment appena creato e copia il valore dell'ID deployment.
Configura il bot di Google Chat:
- Nella console Google Cloud , vai a ☰ > API e servizi > Dashboard.
- Nell'elenco delle API abilitate, seleziona API Google Chat.
- Fai clic su Gestisci per aprire la pagina dell'API Google Chat.
Nella pagina visualizzata, seleziona la scheda Configuration (Configurazione) e configura il bot:
- Nel campo Nome app, inserisci App di Chat di Google Security Operations.
- Nel campo URL avatar, inserisci https://developers.google.com/chat/images/chat-product-icon.png.
- Nel campo Descrizione, inserisci App di Chat Google SecOps che può essere utilizzata per inviare messaggi da Google SecOps a uno spazio di Google Chat.
- Nella sezione Funzionalità, seleziona L'app funziona in spazi con più utenti.
- Nella sezione Impostazioni di connessione, seleziona Progetto Apps Script e incolla l'ID deployment ottenuto dalla procedura Esegui il deployment di un bot.
- Nella sezione Autorizzazioni, seleziona Persone e gruppi specifici nel tuo dominio e specifica chi deve essere in grado di interagire con il bot.
- Fai clic su Salva. La configurazione dell'app è stata completata.
Poiché l'app Google Chat non può creare spazi (avviare conversazioni), l'app Google SecOps Chat deve essere aggiunta agli spazi a cui deve inviare messaggi.
Una volta configurata l'integrazione, l'azione "Elenca spazi" può essere utilizzata per recuperare gli spazi a cui l'app Google SecOps ha accesso (può inviare messaggi).
Se l'azione "Elenca spazi" non mostra spazi disponibili, significa che la tua app non potrà inviare messaggi in nessuno spazio. Torna alle istruzioni dettagliate riportate sopra e assicurati di aver seguito attentamente ogni passaggio.
Configura l'integrazione di Google Chat in Google SecOps
Per istruzioni dettagliate su come configurare un'integrazione in Google SecOps, consulta Configura le integrazioni.
Parametri di integrazione
Utilizza i seguenti parametri per configurare l'integrazione:
| Nome visualizzato del parametro | Tipo | Valore predefinito | Is Mandatory | Descrizione |
|---|---|---|---|---|
| URL di base dell'API | Stringa | https://chat.googleapis.com/ | Sì | URL di base dell'API utilizzato dall'integrazione per connettersi al servizio Google Chat. |
| Service account | Password | N/D | Sì | Contenuto del file JSON dell'account di servizio utilizzato dal chatbot per interagire con il servizio Google Chat. |
| Verifica SSL | Casella di controllo | Selezionata | Sì | Se abilitata, verifica che il certificato SSL per la connessione al servizio Google Chat sia valido. |
Azioni
Dindin
Descrizione
Testa la connettività a Google Chat con i parametri forniti nella pagina di configurazione dell'integrazione nella pagina Google SecOps Content Hub.
Esegui il
Questa azione non viene eseguita sulle entità e non ha parametri di input obbligatori.
Risultati dell'azione
Risultato script
| Nome del risultato dello script | Opzioni del valore | Esempio |
|---|---|---|
| is_success | Vero/Falso | is_success:False |
Bacheca casi
| Tipo di risultato | Valore/Descrizione | Tipo |
|---|---|---|
| Messaggio di output* | L'azione non deve non riuscire né interrompere l'esecuzione di un playbook: Se l'operazione va a buon fine: "Connessione al servizio Google Chat riuscita con i parametri di connessione forniti". L'azione dovrebbe non riuscire e interrompere l'esecuzione di un playbook: Se viene segnalato un errore critico, ad esempio credenziali errate o perdita di connettività: "Impossibile connettersi al servizio Google Chat. L'errore è {0}".format(exception.stacktrace)" |
Generale |
Elenca spazi
Descrizione
Elenca gli spazi a cui è stato aggiunto il bot di Google Chat attualmente configurato.
Parametri
| Nome visualizzato del parametro | Tipo | Valore predefinito | Is Mandatory | Descrizione |
|---|---|---|---|---|
| Chiave filtro | DDL | Selezionane uno Valori possibili:
|
No | Specifica la chiave da utilizzare per filtrare gli spazi di Google Chat. |
| Logica di filtro | DDL | Non specificato Valori possibili:
|
No | Specifica la logica di filtro da applicare. La logica di filtro funziona in base al valore fornito nel parametro "Filter Key". |
| Valore filtro | Stringa | N/D | No | Specifica il valore da utilizzare nel filtro. Se è selezionata l'opzione "Uguale", l'azione tenta di trovare la corrispondenza esatta tra i risultati. Se è selezionata l'opzione "Contiene", l'azione tenta di trovare i risultati che contengono la sottostringa specificata. Se non viene fornito alcun valore in questo parametro, il filtro non viene applicato. La logica di filtro funziona in base al valore fornito nel parametro "Filter Key". |
| Numero massimo di record da restituire | Numero intero | 50 | No | Specifica il numero di record da restituire. Se non viene fornito alcun valore, l'azione restituisce 50 record. |
| Includi le iscrizioni degli utenti | Casella di controllo | Deselezionata | No | Se abilitata, le informazioni sulle iscrizioni degli utenti vengono aggiunte alla tabella della bacheca delle segnalazioni e al risultato JSON dell'azione. |
Pubblica su
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
| Nome del risultato dello script | Opzioni del valore | Esempio |
|---|---|---|
| is_success | Vero/Falso | is_success:False |
Bacheca casi
| Tipo di risultato | Valore / Descrizione | Tipo |
|---|---|---|
| Messaggio di output* | L'azione non deve non riuscire né interrompere l'esecuzione di un playbook: Se i dati sono disponibili (is_success=true): "Sono stati trovati spazi aggiunti per i criteri forniti in Google Chat." Se i dati non sono disponibili (is_success=false): "Non sono stati trovati spazi per i criteri forniti in Google Chat" Se il parametro "Filter Value" non ha un valore (is_success=true): "Il filtro non è stato applicato perché il parametro "Valore filtro" ha un valore vuoto." L'azione dovrebbe non riuscire e interrompere l'esecuzione di un playbook: Se il parametro Filter Key è impostato su "Select One" e il parametro Filter Logic è impostato su "Equal" o "Contains": "Errore durante l'esecuzione dell'azione "Elenca spazi". Motivo: devi selezionare un campo dal parametro "Chiave filtro". Se viene fornito un valore non valido per il parametro Numero massimo di record da restituire: "Errore durante l'esecuzione dell'azione "Elenca spazi". Motivo: "È stato fornito un valore non valido per "Numero massimo di record da restituire". Deve essere fornito un numero positivo." Se viene segnalato un errore irreversibile, ad esempio credenziali errate, nessuna connessione al server o altro: "Errore durante l'esecuzione dell'azione "Elenca spazi". Reason: {0}''.format(error.Stacktrace) |
Generale |
| Tabella della bacheca casi | Nome tabella: Spazi disponibili in cui è stato aggiunto il bot Colonne tabella: {fields} Nota:se la casella di controllo "Includi iscrizioni degli utenti" è selezionata, viene aggiunta una colonna aggiuntiva con un nome visualizzato per i membri dello spazio. |
Generale |
Invia messaggio
Descrizione
Invia un messaggio a uno spazio di Google Chat a cui è stata aggiunta l'applicazione Google SecOps.
Parametri
| Nome visualizzato del parametro | Tipo | Valore predefinito | Is Mandatory | Descrizione |
|---|---|---|---|---|
| Nome dello spazio | Stringa | N/D | Sì | Specifica il nome dello spazio a cui inviare il messaggio. Esempio di nome dello spazio: AAAAdaTsel0 |
| Testo del messaggio | Stringa | N/D | Sì | Specifica il testo del messaggio da inviare. |
Pubblica su
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
| Nome del risultato dello script | Opzioni del valore | Esempio |
|---|---|---|
| is_success | Vero/Falso | is_success:False |
Bacheca casi
| Tipo di risultato | Valore / Descrizione | Tipo |
|---|---|---|
| Messaggio di output* | L'azione non deve non riuscire né interrompere l'esecuzione di un playbook: Se un messaggio viene inviato correttamente (is_success=true): "Il messaggio è stato inviato correttamente." L'azione dovrebbe non riuscire e interrompere l'esecuzione di un playbook: Se viene segnalato un errore critico, ad esempio l'assenza di connessione o credenziali errate: "Errore durante l'esecuzione dell'azione "Invia messaggio". Reason: {0}''.format(error.Stacktrace) |
Generale |
Invia messaggio avanzato
Descrizione
Invia un messaggio avanzato a uno spazio di Google Chat in base al payload JSON del messaggio fornito.
Parametri
| Nome visualizzato del parametro | Tipo | Valore predefinito | Is Mandatory | Descrizione |
|---|---|---|---|---|
| Nome dello spazio | Stringa | N/D | Sì | Specifica il nome dello spazio a cui inviare il messaggio. Esempio di nome dello spazio: AAAAdaTsel0 |
| Payload JSON del messaggio | Stringa | {"cards":[{"sections":[{"widgets":[{"image":{"imageUrl":"https://…"}},{"buttons":[{"textButton":{"text":"OPEN IN GOOGLE MAPS","onClick":{"openLink":{"url":"https://…"}}}}]}]}]}]} | Sì | Specifica il payload JSON da inviare con il messaggio. Per esempi di payload dei messaggi, consulta questo articolo. |
Pubblica su
Questa azione non viene eseguita sulle entità.
Risultati dell'azione
Risultato script
| Nome del risultato dello script | Opzioni del valore | Esempio |
|---|---|---|
| is_success | Vero/Falso | is_success:False |
Bacheca casi
| Tipo di risultato | Valore / Descrizione | Tipo |
|---|---|---|
| Messaggio di output* | L'azione non deve non riuscire né interrompere l'esecuzione di un playbook: Se un messaggio viene inviato correttamente (is_success=True): "Il messaggio è stato inviato correttamente." L'azione dovrebbe non riuscire e interrompere l'esecuzione di un playbook: Se il payload JSON fornito non è valido: "Errore durante l'esecuzione dell'azione "Invia messaggio avanzato". Motivo: il payload JSON del messaggio fornito non è valido. " Se viene segnalato un errore critico, ad esempio l'assenza di connessione o credenziali errate: "Errore durante l'esecuzione dell'azione "Invia messaggio avanzato". Reason: {0}''.format(error.Stacktrace) |
Generale |
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.