Integra Atlassian Confluence Server con Google SecOps

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

Prerequisiti

Per eseguire l'autenticazione su 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 su nome utente e 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 corrente dell'account.

Per creare un token, segui questi passaggi:

  1. In Confluence, vai ad Account > Account settings (Impostazioni account) > Personal access tokens (Token di accesso personali).
  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 del server Confluence 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 + 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 + 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 + 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 Configura le integrazioni.

Se necessario, puoi 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 Supporto di più istanze.

Azioni

Per saperne di più sulle azioni, consulta Rispondi alle azioni in attesa dalla scrivania di lavoro ed Esegui un'azione manuale nel tuo caso.

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 JSON nella risposta e la risposta del server è 200), is_success deve essere impostato su True. In caso contrario, 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:
  • If successful:
    print "Successfully connected to the Atlassian Confluence Server instance with the provided connection parameters!"
  • 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, che verrà utilizzato per la connessione"

L'azione dovrebbe non riuscire e interrompere l'esecuzione di un playbook:
  • If both (username+password) and PAT are not provided:
    print "Failed to connect to Atlassian Confluence Server, expecting either username and password, or personal access token to connect with!"
  • In caso di errore critico, ad esempio credenziali errate o perdita di connettività:
    print "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 Atlassian Confluence Server in base ai criteri forniti.

Parametri

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

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

Valori possibili per DDL:
  • Non specificato
  • Uguale
  • Contiene
Falso 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 Falso Specifica il valore da utilizzare nel filtro.
Se è selezionato Equal, l'azione tenta di trovare la corrispondenza esatta tra i risultati.
Se è selezionato Contains, l'azione tenta di trovare risultati che contengono la sottostringa.
Se non viene fornito alcun valore in questo parametro, il filtro non verrà applicato.
La logica di filtro 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 "Filter Value" è vuoto (is_success=true):
Il filtro non è stato applicato perché il parametro "Filter Value" ha un valore vuoto.

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

  • Se la chiave di filtro è "Seleziona uno" e la logica di filtro è "Uguale" 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 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".

  • In caso di errore irreversibile, ad esempio credenziali errate, nessuna connessione al server, altro:
"Errore durante l'esecuzione dell'azione "{action name}". Reason: {0}''.format(error.Stacktrace)

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

Recupera pagina per ID

Recupera la pagina di Atlassian Confluence Server in base all'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 sotto forma di 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>"

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

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

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

Recupera 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 avere esito negativo né interrompere l'esecuzione di un playbook:

Se i dati sono disponibili (is_success = true):
stampa "Pagine secondarie trovate per l'ID pagina Atlassian Confluence Server fornito: <page_id>".

Se i dati non sono disponibili (is_success=false)
stampa "Nessuna pagina secondaria trovata per l'ID pagina Atlassian Confluence Server fornito: <page_id>"

L'azione deve avere esito negativo e interrompere l'esecuzione di un playbook:

  • Se viene fornito un valore non valido per 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".

  • In caso di errore irreversibile, ad esempio credenziali errate, nessuna connessione al server, altro:
"Errore durante l'esecuzione dell'azione "{action name}". Reason: {0}''.format(error.Stacktrace)
  • Se non vengono forniti né nome utente + password né 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 sotto forma di 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>"

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

  • Se viene fornito un valore non valido per 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".

  • In caso di errore irreversibile, ad esempio credenziali errate, nessuna connessione al server, altro:
"Errore durante l'esecuzione dell'azione "{action name}". Reason: {0}''.format(error.Stacktrace)

  • Se non vengono forniti né nome utente + password né 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.