Integrare Atlassian Confluence Server con Google SecOps

Questo documento descrive come integrare Atlassian Confluence Server con Google Security Operations (Google SecOps).

Versione integrazione: 3.0

Prerequisiti

Per l'autenticazione a Confluence Server, scegli una delle seguenti opzioni:

  • Il nome utente e la password di un account dedicato.
  • Il token di accesso personale (PAT).

Se per l'integrazione vengono fornite entrambe le opzioni di autenticazione, il PAT ha la precedenza sul nome utente e sulla password.

L'autenticazione basata su nome utente e password richiede la creazione di un account dedicato che verrà utilizzato per l'integrazione.
L'autenticazione basata sul token di accesso richiede la configurazione delle autorizzazioni dell'account. Una volta creato, il nuovo PAT corrisponderà al livello di autorizzazione attuale dell'account.

Per creare un token:

  1. In Confluence, vai a Account > Impostazioni account > Token di accesso personale.
  2. Seleziona Crea token.
  3. Assegna un nome al token che stai creando.
  4. (Facoltativo) Per una maggiore sicurezza, puoi configurare il token in modo che scada automaticamente dopo un determinato numero di giorni.
  5. Fai clic su Crea.

Parametri di integrazione

L'integrazione richiede i seguenti parametri:

Nome parametro Tipo Valore predefinito È obbligatorio Descrizione
Radice API Stringa https://ip_address Vero Specifica la radice dell'API Confluence Server a cui connetterti.
Nome utente Stringa N/D Falso Specifica un nome utente da utilizzare per la connessione. L'integrazione supporta l'autenticazione con nome utente e password o con un token di accesso personale.
Password Password N/D Falso Specifica una password da utilizzare per la connessione. L'integrazione supporta l'autenticazione con nome utente e password o con un token di accesso personale.
Token di accesso personale Password N/D Falso Specifica un token da utilizzare per la connessione. L'integrazione supporta l'autenticazione con nome utente e password o con un token di accesso personale.
Verifica SSL Casella di controllo Casella di controllo selezionata Falso Se abilitato, il certificato configurato per la radice dell'API viene convalidato.

Per istruzioni su come configurare un'integrazione in Google SecOps, consulta Configurare le integrazioni.

Se necessario, potrai apportare modifiche in un secondo momento. Dopo aver configurato un'istanza di integrazione, puoi utilizzarla nei playbook. Per saperne di più su come configurare e supportare più istanze, consulta Supportare più istanze.

Azioni

Per ulteriori informazioni sulle azioni, vedi Rispondere alle azioni in attesa dalla tua scrivania e Eseguire un'azione manuale.

Dindin

Testa la connettività.

Parametri

N/D

Pubblica su

L'azione non è in esecuzione sulle entità.

Risultati dell'azione

Risultato dello script
Nome del risultato dello script Opzioni del valore Esempio
is_success Vero/Falso is_success:False

Se l'azione ha esito positivo (è presente un file JSON nella risposta e la risposta del server è 200), is_success deve essere impostato su True. Altrimenti, False.

Bacheca casi
Tipo di risultato Valore/Descrizione Tipo (entità/generale)
Messaggio di output* L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:
  • Se l'operazione va a buon fine:
    stampa "Connessione all'istanza di Atlassian Confluence Server riuscita con i parametri di connessione forniti".
  • Se vengono forniti sia il nome utente e la password sia il PAT:
    "Per l'integrazione vengono forniti sia il nome utente e la password sia il token di accesso personale. Per la connessione verrà utilizzato il token di accesso personale"

L'azione deve non riuscire e interrompere l'esecuzione di un playbook:
  • Se non vengono forniti sia (nome utente + password) sia il PAT:
    stampa "Failed to connect to Atlassian Confluence Server, expecting either username and password, or personal access token to connect with!" (Impossibile connettersi al server Atlassian Confluence. Sono necessari nome utente e password oppure un token di accesso personale per connettersi).
  • Se si verifica un errore critico, ad esempio credenziali errate o perdita di connettività:
    stampa "Failed to connect to the Atlassian Confluence Server instance! Error is {0}".format(exception.stacktrace)
Generale

Pagine di elenco

Elenca le pagine disponibili nell'istanza di Atlassian Confluence Server in base ai criteri forniti.

Parametri

Nome parametro Tipo Valore predefinito È obbligatorio Descrizione
Chiave di filtro DDL Seleziona un'opzione

Valori possibili per DDL;elenco a discesa:
  • Titolo
  • Nome dello spazio
  • Stato
Falso Specifica la chiave da utilizzare per filtrare le pagine.
Logica di filtro DDL Non specificato

Valori possibili del DDL:
  • Non specificato
  • Uguale
  • Contiene
Falso Specifica la logica di filtro da applicare. La logica di filtraggio funziona in base al valore fornito nel parametro Filter Key.
Valore filtro Stringa N/D Falso Specifica il valore da utilizzare nel filtro.
Se è selezionata l'opzione Equal, l'azione tenta di trovare la corrispondenza esatta tra i risultati.
Se viene selezionata l'opzione Contains, l'azione tenta di trovare risultati che contengono quella sottostringa.
Se non viene fornito alcun valore in questo parametro, il filtro non verrà applicato.
La logica di filtraggio funziona in base al valore fornito nel parametro Filter Key.
Numero massimo di record da restituire Int 50 Falso Specifica il numero di record da restituire.
Se non viene fornito alcun valore, l'azione restituisce 50 record.

Pubblica su

L'azione non è in esecuzione sulle entità.

Risultati dell'azione

Risultato dello script
Nome del risultato dello script Opzioni del valore Esempio
is_success Vero/Falso is_success:False

Se l'azione viene eseguita correttamente (non vengono restituiti errori, la risposta del server è 200 OK), is_success deve essere impostato su True.

Risultato JSON
{
   "results": [
       {
           "id": "PAGE_ID",
           "type": "page",
           "status": "current",
           "title": "Tell people what you think in a comment (step 8 of 9)",
           "space": {
               "id": 131073,
               "key": "ds",
               "name": "Demonstration Space",
               "type": "global",
               "_links": {
                   "webui": "/display/ds",
                   "self": "http://192.0.2.45:8090/rest/api/space/ds"
               },
               "_expandable": {
                   "metadata": "",
                   "icon": "",
                   "description": "",
                   "retentionPolicy": "",
                   "homepage": "/rest/api/content/PAGE_ID"
               }
           },
           "extensions": {
               "position": 7
           },
           "_links": {
               "webui": "/pages/viewpage.action?pageId=PAGE_ID",
               "edit": "/pages/resumedraft.action?draftId=DRAFT_ID",
               "tinyui": "/x/AYAB",
               "self": "http://192.0.2.45:8090/rest/api/content/PAGE_ID"
           },
           "_expandable": {
               "container": "/rest/api/space/ds",
               "metadata": "",
               "operations": "",
               "children": "/rest/api/content/PAGE_ID/child",
               "restrictions": "/rest/api/content/PAGE_ID/restriction/byOperation",
               "history": "/rest/api/content/PAGE_ID/history",
               "ancestors": "",
               "body": "",
               "version": "",
               "descendants": "/rest/api/content/PAGE_ID/descendant"
           }
       },
       ...
   ],
   "start": 0,
   "limit": 5,
   "size": 5,
   "_links": {
       "self": "http://192.0.2.45:8090/rest/api/content?expand=space",
       "next": "/rest/api/content?expand=space&limit=5&start=5",
       "base": "http://192.0.2.45:8090",
       "context": ""
   }
}
Bacheca casi
Tipo di risultato Valore/Descrizione Tipo (entità/generale)
Messaggio di output* L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:

  • Se i dati sono disponibili(is_success = true):
print "Successfully found pages for the provided criteria in Atlassian Confluence Server".

  • Se i dati non sono disponibili (is_success=false)
print "No pages were found for the provided criteria in Atlassian Confluence Server"

  • Se "Valore filtro" è vuoto (is_success=true):
Il filtro non è stato applicato perché il parametro "Valore filtro" ha un valore vuoto.

L'azione deve non riuscire e interrompere l'esecuzione di un playbook:

  • Se la chiave del filtro è "Seleziona uno" e la logica del filtro è "Uguale a" o "Contiene":
Errore durante l'esecuzione dell'azione "{action name}". Motivo: devi selezionare un campo dal parametro Filter Key.

  • Se viene fornito un valore non valido per il numero massimo di record da restituire:
Errore durante l'esecuzione dell'azione "{action name}". Motivo: "È stato fornito un valore non valido per "Numero massimo di record da restituire": <valore fornito>. Deve essere fornito un numero positivo".

  • Se si verifica un errore irreversibile, ad esempio credenziali errate, nessuna connessione al server o altro:
"Errore durante l'esecuzione dell'azione "{action name}". Motivo: {0}''.format(error.Stacktrace)

  • Se non vengono forniti sia nome utente e password che PAT:
print "Failed to connect to Atlassian Confluence Server, expecting either username and password, or personal access token to connect with!"
Generale
Tabella Bacheca casi Nome: Pagine Confluence disponibili
Colonne:
  • ID
  • Titolo
  • Spazio
  • Stato
  • Creato
Generale

Ottieni pagina per ID

Ottieni la pagina del server Atlassian Confluence per ID.

Parametri

Nome parametro Tipo Valore predefinito È obbligatorio Descrizione
ID pagina Stringa N/D Vero Specifica l'ID pagina da restituire.
Espandi CSV body.storage Falso Specifica il parametro expand per restituire informazioni aggiuntive sulla pagina. Il parametro accetta più valori come elenco separato da virgole.
Per impostazione predefinita, i contenuti della pagina vengono recuperati con body.storage.

Pubblica su

L'azione non è in esecuzione sulle entità.

Risultati dell'azione

Risultato dello script
Nome del risultato dello script Opzioni del valore Esempio
is_success Vero/Falso is_success:False

Se l'azione viene eseguita correttamente (la pagina viene restituita, la risposta del server è 200 OK), is_success deve essere impostato su True.

Risultato JSON
{
   "id": "PAGE_ID",
   "type": "page",
   "status": "current",
   "title": "title",
   "body": {
       "storage": {
           "value": "<p>test page</p><p>11</p><p>aa</p><p>aa</p><p>aa</p><p><br /></p><p><br /></p>",
           "representation": "storage",
           "_expandable": {
               "content": "/rest/api/content/PAGE_ID"
           }
       },
       "_expandable": {
           "editor": "",
           "view": "",
           "export_view": "",
           "styled_view": "",
           "anonymous_export_view": ""
       }
   },
   "extensions": {
       "position": "none"
   },
   "_links": {
       "webui": "/display/SIEM/111",
       "edit": "/pages/resumedraft.action?draftId=PAGE_ID&draftShareId=cf8b3a21-8e36-4a83-a696-51fcb4428d1c",
       "tinyui": "/x/TIAB",
       "collection": "/rest/api/content",
       "base": "http://192.0.2.45:8090",
       "context": "",
       "self": "http://192.0.2.45:8090/rest/api/content/PAGE_ID"
   },
   "_expandable": {
       "container": "/rest/api/space/SIEM",
       "metadata": "",
       "operations": "",
       "children": "/rest/api/content/PAGE_ID/child",
       "restrictions": "/rest/api/content/PAGE_ID/restriction/byOperation",
       "history": "/rest/api/content/PAGE_ID/history",
       "ancestors": "",
       "version": "",
       "descendants": "/rest/api/content/PAGE_ID/descendant",
       "space": "/rest/api/space/SIEM"
   }
}
Bacheca casi
Tipo di risultato Valore/Descrizione Tipo (entità/generale)
Messaggio di output* L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:

  • Se la pagina viene trovata (is_success = true):
print "Successfully fetched page information with id: <id>"

  • Se i dati non sono disponibili (is_success=false):
print "The following page id was not found in the Atlassian Confluence Server: <page id>"

The action should fail and stop a playbook execution:

  • Se si verifica un errore irreversibile, ad esempio credenziali errate, nessuna connessione al server o altro:
"Error executing action "<Action name>". Reason: {0}''.format(error.Stacktrace)

  • Se non vengono forniti sia il nome utente e la password sia il PAT:
print "Failed to connect to Atlassian Confluence Server, expecting either username and password, or personal access token to connect with!"
Generale

Recuperare le pagine secondarie

Recupera le pagine secondarie della pagina Atlassian Confluence Server.

Parametri

Nome parametro Tipo Valore predefinito È obbligatorio Descrizione
ID pagina Stringa N/D Vero Specifica l'ID pagina da restituire.
Numero massimo di record da restituire Int 10 Vero Specifica il limite di pagine secondarie da restituire.

Pubblica su

L'azione non è in esecuzione sulle entità.

Risultati dell'azione

Risultato dello script
Nome del risultato dello script Opzioni del valore Esempio
is_success Vero/Falso is_success:False

Se l'azione viene eseguita correttamente (la pagina viene restituita, la risposta del server è 200 OK), is_success deve essere impostato su True.

Risultato JSON
{
   "results": [
       {
           "id": "PAGE_ID",
           "type": "page",
           "status": "current",
           "title": "test child page!",
           "extensions": {
               "position": "none"
           },
           "_links": {
               "webui": "/pages/viewpage.action?pageId=PAGE_ID",
               "edit": "/pages/resumedraft.action?draftId=PAGE_ID&draftShareId=799fd068-5053-4889-9120-c1a3c970fdbd",
               "tinyui": "/x/T4AB",
               "self": "http://192.0.2.45:8090/rest/api/content/PAGE_ID"
           },
           "_expandable": {
               "container": "/rest/api/space/SIEM",
               "metadata": "",
               "operations": "",
               "children": "/rest/api/content/PAGE_ID/child",
               "restrictions": "/rest/api/content/PAGE_ID/restriction/byOperation",
               "history": "/rest/api/content/PAGE_ID/history",
               "ancestors": "",
               "body": "",
               "version": "",
               "descendants": "/rest/api/content/PAGE_ID/descendant",
               "space": "/rest/api/space/SIEM"
           }
       }
   ],
   "start": 0,
   "limit": 1,
   "size": 1,
   "_links": {
       "self": "http://192.0.2.45:8090/rest/api/content/PAGE_ID/child/page",
       "base": "http://192.0.2.45:8090",
       "context": ""
   }
}
Bacheca casi
Tipo di risultato Valore/Descrizione Tipo (entità/generale)
Messaggio di output* L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:

se i dati sono disponibili (is_success = true):
stampa "Successfully found child pages for the provided Atlassian Confluence Server page id: <page_id>".

Se i dati non sono disponibili (is_success=false)
stampa "No child pages were found for the provided Atlassian Confluence Server page id <page_id>"

L'azione deve non riuscire e interrompere l'esecuzione di un playbook:

  • Se viene fornito un valore non valido per il numero massimo di record da restituire:
Errore durante l'esecuzione dell'azione "{action name}". Motivo: "È stato fornito un valore non valido per "Numero massimo di record da restituire": <valore fornito>. Deve essere fornito un numero positivo".

  • Se si verifica un errore irreversibile, ad esempio credenziali errate, nessuna connessione al server o altro:
"Errore durante l'esecuzione dell'azione "{action name}". Motivo: {0}''.format(error.Stacktrace)
  • Se non vengono forniti sia il nome utente e la password sia il PAT:
print "Failed to connect to Atlassian Confluence Server, expecting either username and password, or personal access token to connect with!"
Generale

Recupera i commenti della pagina

Recupera i commenti per la pagina Atlassian Confluence Server.

Parametri

Nome parametro Tipo Valore predefinito È obbligatorio Descrizione
ID pagina Stringa N/D Vero Specifica l'ID pagina da restituire.
Espandi CSV body.storage Falso Specifica il parametro expand per restituire informazioni aggiuntive sulla pagina. Il parametro accetta più valori come elenco separato da virgole.
Per impostazione predefinita, i contenuti della pagina vengono recuperati con body.storage.
Numero massimo di record da restituire Int 10 Vero Specifica il limite di pagine secondarie da restituire.

Pubblica su

L'azione non è in esecuzione sulle entità.

Risultati dell'azione

Risultato dello script
Nome del risultato dello script Opzioni del valore Esempio
is_success Vero/Falso is_success:False

Se l'azione viene eseguita correttamente (vengono restituiti i commenti, la risposta del server è 200 OK), is_success deve essere impostato su True.

Risultato JSON
{
   "results": [
       {
           "id": "ID",
           "type": "comment",
           "status": "current",
           "title": "Re: 111",
           "body": {
               "storage": {
                   "value": "<p>comment1</p>",
                   "representation": "storage",
                   "_expandable": {
                       "content": "/rest/api/content/ID"
                   }
               },
               "_expandable": {
                   "editor": "",
                   "view": "",
                   "export_view": "",
                   "styled_view": "",
                   "anonymous_export_view": ""
               }
           },
           "extensions": {
               "location": "footer",
               "_expandable": {
                   "resolution": ""
               }
           },
           "_links": {
               "webui": "/display/SIEM/111?focusedCommentId=98387#comment-ID",
               "self": "http://203.0.113.1:8090/rest/api/content/ID"
           },
           "_expandable": {
               "container": "/rest/api/content/ID",
               "metadata": "",
               "operations": "",
               "children": "/rest/api/content/ID/child",
               "restrictions": "/rest/api/content/ID/restriction/byOperation",
               "history": "/rest/api/content/ID/history",
               "ancestors": "",
               "version": "",
               "descendants": "/rest/api/content/ID/descendant",
               "space": "/rest/api/space/SIEM"
           }
       },
       ...
   ],
   "start": 0,
   "limit": 10,
   "size": 2,
   "_links": {
       "self": "http://203.0.113.1:8090/rest/api/content/ID/child/comment?expand=body.storage",
       "base": "http://203.0.113.1:8090",
       "context": ""
   }
}
Bacheca casi
Tipo di risultato Valore/Descrizione Tipo (entità/generale)
Messaggio di output* L'azione non deve non riuscire né interrompere l'esecuzione di un playbook:

  • Se i dati sono disponibili(is_success = true):
print "Successfully fetched page comments for the provided Atlassian Confluence Server page id: <page_id>".

  • Se i dati non sono disponibili (is_success=false)
print "No page comments were found for the provided Atlassian Confluence Server page id <page_id>"

The action should fail and stop a playbook execution:

  • Se viene fornito un valore non valido per il numero massimo di record da restituire:
Errore durante l'esecuzione dell'azione "{action name}". Motivo: "È stato fornito un valore non valido per "Numero massimo di record da restituire": <valore fornito>. Deve essere fornito un numero positivo".

  • Se si verifica un errore irreversibile, ad esempio credenziali errate, nessuna connessione al server o altro:
"Errore durante l'esecuzione dell'azione "{action name}". Motivo: {0}''.format(error.Stacktrace)

  • Se non vengono forniti sia il nome utente e la password sia il PAT:
print "Failed to connect to Atlassian Confluence Server, expecting either username and password, or personal access token to connect with!"
Generale

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.