Intégrer Atlassian Confluence Server à Google SecOps
Ce document explique comment intégrer Atlassian Confluence Server à Google Security Operations (Google SecOps).
Prérequis
Pour vous authentifier auprès du serveur Confluence, choisissez l'une des options suivantes :
- Le nom d'utilisateur et le mot de passe d'un compte dédié.
- Le jeton d'accès personnel (PAT).
Si les deux options d'authentification sont fournies pour l'intégration, le jeton d'accès personnel est prioritaire sur le nom d'utilisateur et le mot de passe.
L'authentification basée sur un nom d'utilisateur et un mot de passe nécessite la création d'un compte dédié qui sera utilisé pour l'intégration.
L'authentification basée sur le jeton d'accès nécessite de configurer les autorisations du compte. Une fois créé, le nouveau jeton d'accès personnel correspondra au niveau d'autorisation actuel du compte.
Pour créer un jeton, procédez comme suit :
- Dans Confluence, accédez à Compte > Paramètres du compte > Jetons d'accès personnels.
- Sélectionnez Créer un jeton.
- Nommez le jeton que vous créez.
- (Facultatif) Pour plus de sécurité, vous pouvez configurer votre jeton pour qu'il expire automatiquement après un certain nombre de jours.
- Cliquez sur Créer.
Paramètres d'intégration
L'intégration nécessite les paramètres suivants :
| Nom du paramètre | Type | Valeur par défaut | Est obligatoire | Description |
|---|---|---|---|---|
| Racine de l'API | Chaîne | https://ip_address | Vrai | Spécifiez la racine de l'API du serveur Confluence auquel vous souhaitez vous connecter. |
| Nom d'utilisateur | Chaîne | N/A | Faux | Spécifiez un nom d'utilisateur à utiliser pour la connexion. L'intégration accepte l'authentification par nom d'utilisateur et mot de passe, ou par jeton d'accès personnel. |
| Mot de passe | Mot de passe | N/A | Faux | Spécifiez un mot de passe à utiliser pour la connexion. L'intégration accepte l'authentification par nom d'utilisateur et mot de passe, ou par jeton d'accès personnel. |
| Jeton d'accès personnel | Mot de passe | N/A | Faux | Spécifiez un jeton à utiliser pour la connexion. L'intégration accepte l'authentification par nom d'utilisateur et mot de passe, ou par jeton d'accès personnel. |
| Vérifier le protocole SSL | Case à cocher | Case cochée | Faux | Si cette option est activée, le certificat configuré pour la racine de l'API est validé. |
Pour savoir comment configurer une intégration dans Google SecOps, consultez Configurer des intégrations.
Vous pourrez apporter des modifications ultérieurement si nécessaire. Après avoir configuré une instance d'intégration, vous pouvez l'utiliser dans des playbooks. Pour en savoir plus sur la configuration et la prise en charge de plusieurs instances, consultez Prendre en charge plusieurs instances.
Actions
Pour en savoir plus sur les actions, consultez Répondre aux actions en attente depuis votre bureau et Exécuter une action manuelle dans votre demande.
Ping
Tester la connectivité
Paramètres
N/A
Exécution
L'action n'est pas en cours d'exécution sur les entités.
Résultats de l'action
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Si l'action réussit (un fichier JSON est présent dans la réponse et la réponse du serveur est 200), is_success doit être défini sur True. Sinon, False.
Mur des cas
| Type de résultat | Valeur/Description | Type (entité/général) |
|---|---|---|
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :
L'action doit échouer et arrêter l'exécution d'un playbook :
|
Général |
Répertorier les pages
Répertorie les pages disponibles dans l'instance Atlassian Confluence Server en fonction des critères fournis.
Paramètres
| Nom du paramètre | Type | Valeur par défaut | Est obligatoire | Description |
|---|---|---|---|---|
| Clé du filtre | LDD | Sélectionnez une option Valeurs possibles de la LDD :
|
Faux | Spécifiez la clé à utiliser pour filtrer les pages. |
| Logique de filtrage | LDD | Non spécifié Valeurs possibles pour le LDD :
|
Faux | Spécifiez la logique de filtre à appliquer. La logique de filtrage fonctionne en fonction de la valeur fournie dans le paramètre Filter Key. |
| Valeur du filtre | Chaîne | N/A | Faux | Spécifiez la valeur à utiliser dans le filtre. Si Equal est sélectionné, l'action tente de trouver la correspondance exacte parmi les résultats. Si Contains est sélectionné, l'action tente de trouver des résultats contenant cette sous-chaîne. Si aucune valeur n'est fournie pour ce paramètre, le filtre ne sera pas appliqué. La logique de filtrage fonctionne en fonction de la valeur fournie dans le paramètre Filter Key. |
| Nombre maximal d'enregistrements à renvoyer | Int | 50 | Faux | Spécifiez le nombre d'enregistrements à renvoyer. Si rien n'est fourni, l'action renvoie 50 enregistrements. |
Exécution
L'action n'est pas en cours d'exécution sur les entités.
Résultats de l'action
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Si l'action s'exécute correctement (aucune erreur n'est renvoyée, la réponse du serveur est 200 OK), is_success doit être défini sur True.
Résultat 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": ""
}
}
Mur des cas
| Type de résultat | Valeur/Description | Type (entité/général) |
|---|---|---|
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :
L'action doit échouer et arrêter l'exécution d'un playbook :
Filter Key.
|
Général |
| Tableau du mur des cas | Nom : Pages Confluence disponibles Colonnes :
|
Général |
Obtenir une page par ID
Obtenez une page Atlassian Confluence Server par ID.
Paramètres
| Nom du paramètre | Type | Valeur par défaut | Est obligatoire | Description |
|---|---|---|---|---|
| ID de page | Chaîne | N/A | Vrai | Spécifiez l'ID de la page à renvoyer. |
| Développer | CSV | body.storage |
Faux | Spécifiez le paramètre "expand" pour renvoyer des informations supplémentaires sur la page. Le paramètre accepte plusieurs valeurs sous forme de liste d'éléments séparés par une virgule. Par défaut, le contenu de la page est récupéré avec body.storage. |
Exécution
L'action n'est pas en cours d'exécution sur les entités.
Résultats de l'action
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Si l'action s'exécute correctement (la page est renvoyée, la réponse du serveur est 200 OK), is_success doit être défini sur True.
Résultat 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"
}
}
Mur des cas
| Type de résultat | Valeur/Description | Type (entité/général) |
|---|---|---|
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :
L'action doit échouer et arrêter l'exécution du playbook :
|
Général |
Obtenir les pages enfants
Obtenez les pages enfants de la page Atlassian Confluence Server.
Paramètres
| Nom du paramètre | Type | Valeur par défaut | Est obligatoire | Description |
|---|---|---|---|---|
| ID de page | Chaîne | N/A | Vrai | Spécifiez l'ID de la page à renvoyer. |
| Nombre maximal d'enregistrements à renvoyer | Int | 10 | Vrai | Spécifiez la limite de pages enfants à renvoyer. |
Exécution
L'action n'est pas en cours d'exécution sur les entités.
Résultats de l'action
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Si l'action s'exécute correctement (la page est renvoyée, la réponse du serveur est 200 OK), is_success doit être défini sur True.
Résultat 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": ""
}
}
Mur des cas
| Type de résultat | Valeur/Description | Type (entité/général) |
|---|---|---|
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook : Si des données sont disponibles (is_success = true) : print "Successfully found child pages for the provided Atlassian Confluence Server page id: <page_id>". Si aucune donnée n'est disponible (is_success=false) print "No child pages were found for the provided Atlassian Confluence Server page id <page_id>" L'action doit échouer et arrêter l'exécution d'un playbook :
|
Général |
Obtenir les commentaires d'une page
Obtenez les commentaires de la page Atlassian Confluence Server.
Paramètres
| Nom du paramètre | Type | Valeur par défaut | Est obligatoire | Description |
|---|---|---|---|---|
| ID de page | Chaîne | N/A | Vrai | Spécifiez l'ID de la page à renvoyer. |
| Développer | CSV | body.storage |
Faux | Spécifiez le paramètre "expand" pour renvoyer des informations supplémentaires sur la page. Le paramètre accepte plusieurs valeurs sous forme de liste d'éléments séparés par une virgule. Par défaut, le contenu de la page est récupéré avec body.storage. |
| Nombre maximal d'enregistrements à renvoyer | Int | 10 | Vrai | Spécifiez la limite de pages enfants à renvoyer. |
Exécution
L'action n'est pas en cours d'exécution sur les entités.
Résultats de l'action
Résultat du script
| Nom du résultat du script | Options de valeur | Exemple |
|---|---|---|
| is_success | Vrai/Faux | is_success:False |
Si l'action s'exécute correctement (les commentaires sont renvoyés, la réponse du serveur est 200 OK), is_success doit être défini sur True.
Résultat 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": ""
}
}
Mur des cas
| Type de résultat | Valeur/Description | Type (entité/général) |
|---|---|---|
| Message de sortie* | L'action ne doit pas échouer ni arrêter l'exécution d'un playbook :
L'action doit échouer et arrêter l'exécution d'un playbook :
|
Général |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.