Google Cloud Storage
Ce document explique comment intégrer Cloud Storage au module SOAR de Google Security Operations.
Cette intégration utilise un ou plusieurs composants Open Source. Vous pouvez télécharger une copie du code source de cette intégration à partir d'un bucket Cloud Storage.
Cas d'utilisation
Dans la plate-forme Google SecOps SOAR, l'intégration de Google Cloud Storage résout les cas d'utilisation suivants :
Stockage des preuves d'incident : les playbooks peuvent collecter et stocker automatiquement les preuves liées aux incidents, comme les journaux et les échantillons de logiciels malveillants, dans des buckets Cloud Storage pour fournir un dépôt inviolable pour la conservation des preuves.
Partage des renseignements sur les menaces : votre équipe de sécurité peut utiliser Cloud Storage pour partager de manière sécurisée des flux de renseignements sur les menaces, comme des listes d'adresses IP et de domaines malveillants, avec d'autres équipes ou organisations. Le partage de flux permet une défense collaborative contre les menaces et des temps de réponse plus rapides.
Intégration du bac à sable d'analyse des logiciels malveillants : les playbooks peuvent envoyer automatiquement les fichiers suspects d'un incident à un bac à sable d'analyse des logiciels malveillants basé sur le cloud. Vous pouvez stocker les résultats de l'analyse dans Cloud Storage pour les examiner et prendre d'autres mesures afin de fournir une analyse des logiciels malveillants efficace et évolutive.
Sauvegarde de la configuration de sécurité : utilisez les fonctionnalités SOAR de Google SecOps pour automatiser les sauvegardes régulières des configurations de sécurité critiques, telles que les règles de pare-feu et les signatures du système de détection des intrusions, dans Cloud Storage. L'automatisation des sauvegardes assure la continuité de l'activité et une récupération plus rapide en cas de modifications accidentelles ou malveillantes.
Stockage des artefacts de campagne de hameçonnage : utilisez les fonctionnalités SOAR de Google SecOps pour stocker les e-mails de hameçonnage, les pièces jointes et d'autres artefacts dans Cloud Storage lors de l'analyse d'une campagne de hameçonnage. Le stockage des artefacts permet une analyse et une conservation centralisées des preuves en vue d'une éventuelle action en justice.
Avant de commencer
Avant de configurer l'intégration Cloud Storage dans Google SecOps, effectuez les étapes préalables suivantes :
Créer un compte de service
Pour créer un compte de service, procédez comme suit :
Dans la console Google Cloud , accédez à Identifiants. Accéder à "Identifiants"
Dans le menu Créer des identifiants, sélectionnez Compte de service.
Saisissez un nom dans le champ Nom du compte de service, puis cliquez sur Créer et continuer.
Ignorez les écrans d'attribution de rôle et d'accès au principal (facultatifs) en cliquant sur Continuer > OK.
Attribuer des rôles à votre compte de service
Pour permettre à l'intégration d'accéder à vos buckets et objets de stockage et de les gérer, accordez les rôles nécessaires à votre compte de service :
Dans la console Google Cloud , accédez à IAM et administration > IAM.
Recherchez votre compte de service, puis cliquez sur Modifier > Modifier le compte principal.
Cliquez sur Ajouter un autre rôle, puis sélectionnez les éléments suivants :
Administrateur de l'espace de stockage : offre un contrôle complet sur les buckets et les objets.
Consommateur Service Usage : requis uniquement si vous utilisez un
Quota Project IDà des fins de facturation.
Cliquez sur Enregistrer.
Choisir et configurer une méthode d'authentification
Workload Identity est la méthode d'authentification recommandée, car elle utilise des jetons de courte durée plutôt que des secrets statiques.
Clé JSON : repose sur un fichier de clé secrète statique.
Workload Identity (recommandé) : utilise des jetons d'accès temporaires.
Configurer une clé JSON
Utilisez la procédure suivante pour générer un fichier de clé de compte de service au format JSON :
Sélectionnez votre compte de service dans la console Google Cloud , puis accédez à Clés.
Cliquez sur Ajouter une clé > Créer une clé.
Sélectionnez JSON, puis cliquez sur Créer. Le fichier de clé est téléchargé sur votre ordinateur.
Configurer les identifiants Workload Identity
Workload Identity permet aux équipes Google SecOps d'usurper l'identité de votre compte de service de manière sécurisée. Pour configurer votre identité de charge de travail, procédez comme suit.
Configurer l'instance d'intégration
Pour déclencher le processus de découverte des identités, vous devez d'abord configurer les paramètres de connexion de base dans Google SecOps :
Accédez à Plate-forme de contenu> Intégrations de réponses.
Recherchez et sélectionnez l'intégration Google Cloud Storage.
Configurez les paramètres obligatoires suivants :
Racine de l'API : saisissez l'URL de base (par exemple,
https://storage.googleapis.com).Adresse e-mail Workload Identity : saisissez l'adresse e-mail du compte de service que vous avez créé précédemment.
Vérifier SSL : assurez-vous que cette option est activée.
Laissez le champ Compte de service de l'utilisateur (JSON) vide.
Cliquez sur Enregistrer.
Identifier l'adresse e-mail unique de l'identité
Pour identifier l'adresse d'identité spécifique, vous devez déclencher un test de connexion, car Google SecOps utilise un principal interne spécifique pour communiquer avec vos ressources Google Cloud . Cette étape vous permet de vous assurer que vous accordez les autorisations au bon compte principal de backend.
Cliquez sur Test. Le test devrait échouer.
Cliquez sur le bouton close_small à côté de Tester.
Recherchez dans le message d'erreur une adresse e-mail commençant par
gke-init-python@...ousoar-python@.... Copiez cette adresse e-mail unique.
Accorder des autorisations d'emprunt d'identité
Pour établir une relation de confiance, vous devez accorder à l'identité unique l'autorisation d'agir au nom de votre compte de service. Cette dernière étape établit le pont sécurisé qui permet à l'intégration d'accéder à vos ressources à l'aide de jetons temporaires de courte durée.
Dans la console Google Cloud , accédez à IAM et administration > Comptes de service.
Sélectionnez le compte de service cible, puis accédez à Autorisations.
Cliquez sur Accorder l'accès.
Dans le champ Nouveaux comptes principaux, collez l'adresse e-mail d'identité unique que vous avez copiée depuis Google SecOps.
Dans le champ Attribuer des rôles, sélectionnez le rôle
Service Account Token Creator(roles/iam.serviceAccountTokenCreator).Cliquez sur Enregistrer.
Intégrer Cloud Storage à Google SecOps
L'intégration nécessite les paramètres suivants :
| Paramètres | Description |
|---|---|
Service Account |
Optional
Contenu complet du fichier de clé JSON du compte de service. |
Workload Identity Email |
Facultatif.
Adresse e-mail du client du compte de service utilisé pour l'emprunt d'identité Workload Identity. |
Project ID |
Optional ID du projet à utiliser pour l'intégration Cloud Storage. Si vous ne définissez aucune valeur pour ce paramètre, l'ID du projet est récupéré à partir du contenu du fichier JSON fourni dans le paramètre |
Quota Project ID |
Optional ID du projet Google Cloud que vous utilisez pour les API Google Cloud et la facturation. Ce paramètre nécessite que vous accordiez le rôle Si aucune valeur n'est fournie, l'ID du projet est extrait du contenu du fichier JSON fourni dans le paramètre |
Pour obtenir des instructions sur la configuration d'une intégration dans Google SecOps, consultez Configurer des intégrations.
Si nécessaire, vous pourrez apporter des modifications ultérieurement. Une fois que vous avez configuré une instance d'intégration, vous pouvez l'utiliser dans des playbooks. Pour savoir comment configurer et prendre en charge plusieurs instances, consultez Prise en charge de plusieurs instances.
Actions
Pour en savoir plus sur les actions, consultez Répondre aux actions en attente depuis Votre bureau et Effectuer une action manuelle.
Télécharger un objet à partir d'un bucket
Utilisez cette action pour télécharger un objet (fichier) spécifique à partir d'un bucket Cloud Storage.
Cette action ne s'applique pas aux entités.
Entrées d'action
L'action "Télécharger un objet à partir d'un bucket" nécessite les paramètres suivants :
| Paramètres | Description |
|---|---|
Bucket Name |
Obligatoire Nom du bucket Cloud Storage contenant l'objet à télécharger. |
Object Name |
Obligatoire Nom complet de l'objet à télécharger. Si l'objet se trouve dans un dossier du bucket, incluez le chemin d'accès au dossier, tel que |
Download Path |
Obligatoire Chemin d'accès absolu de l'objet téléchargé vers un répertoire existant, par exemple |
Sorties d'action
L'action "Télécharger un objet à partir d'un bucket" fournit les sorties suivantes :
| Type de sortie de l'action | Disponibilité |
|---|---|
| Fixation murale de l'étui | Non disponible |
| Lien vers le mur des cas | Non disponible |
| Tableau du mur des cas | Non disponible |
| Table d'enrichissement | Non disponible |
| Résultat JSON | Disponible |
| Messages de sortie | Disponible |
| Résultat du script | Disponible |
Résultat JSON
L'exemple suivant décrit le résultat JSON reçu lors de l'utilisation de l'action "Télécharger un objet depuis un bucket" :
{
"object_name": "123.txt"
"download_path": "/usr/bin/share/download.txt"
}
Messages de sortie
Sur un mur de dossiers, l'action "Télécharger un objet à partir d'un bucket" fournit les messages de sortie suivants :
| Message de sortie | Description du message |
|---|---|
|
Action effectuée. |
Error executing action "Download an Object From a Bucket".
Reason: ERROR_REASON |
Échec de l'action. Vérifiez la connexion au serveur, les paramètres d'entrée ou les identifiants. |
Résultat du script
Le tableau suivant décrit les valeurs de sortie des résultats du script lorsque vous utilisez l'action "Télécharger un objet à partir d'un bucket" :
| Nom du résultat du script | Valeur |
|---|---|
is_success |
True ou False |
Obtenir la liste de contrôle d'accès d'un bucket
Utilisez l'action "Obtenir la liste de contrôle d'accès d'un bucket" pour récupérer et afficher les LCA des buckets Cloud Storage spécifiés.
Cette action ne s'applique pas aux entités.
Entrées d'action
L'action Obtenir la liste de contrôle d'accès d'un bucket nécessite les paramètres suivants :
| Paramètres | Description |
|---|---|
Bucket Name |
Obligatoire Nom du bucket Cloud Storage pour lequel vous souhaitez récupérer la LCA. Pour récupérer les LCA de plusieurs buckets, saisissez les noms des buckets sous la forme d'une chaîne de caractères séparée par des virgules, par exemple |
Sorties d'action
L'action "Obtenir la liste de contrôle d'accès d'un bucket" fournit les sorties suivantes :
| Type de sortie de l'action | Disponibilité |
|---|---|
| Fixation murale de l'étui | Non disponible |
| Lien vers le mur des cas | Non disponible |
| Tableau du mur des cas | Non disponible |
| Table d'enrichissement | Non disponible |
| Résultat JSON | Non disponible |
| Messages de sortie | Disponible |
| Résultat du script | Disponible |
Résultat JSON
[
{"BucketName": "ziv",
"BucketACLs": [
{"Entity": "project-owners-ID",
"Role": "OWNER"}
]
}
]
Messages de sortie
Dans un mur de dossiers, l'action "Obtenir la liste de contrôle d'accès d'un bucket" fournit les messages de sortie suivants :
| Message de sortie | Description du message |
|---|---|
|
Action effectuée. |
Error executing action "Get a Bucket's Access Control List".
Reason:
ERROR_REASON |
Échec de l'action. Vérifiez la connexion au serveur, les paramètres d'entrée ou les identifiants. |
Résultat du script
Le tableau suivant décrit les valeurs de la sortie des résultats du script lorsque vous utilisez l'action "Obtenir la liste de contrôle d'accès d'un bucket" :
| Nom du résultat du script | Valeur |
|---|---|
is_success |
True ou False |
Lister les objets d'un bucket
Utilisez l'action "Lister les objets du bucket" pour lister les objets stockés dans le bucket Cloud Storage.
Cette action ne s'applique pas aux entités.
Entrées d'action
L'action "Lister les objets du bucket" nécessite les paramètres suivants :
| Paramètres | Description |
|---|---|
Bucket Name |
Obligatoire Nom du bucket à partir duquel récupérer les objets. |
Max Objects to Return |
Optional Nombre d'objets à renvoyer. Par défaut, l'action renvoie 50 objets pour chaque exécution d'action. |
Retrieves the Access Control List of an object |
Optional Si cette option est sélectionnée, l'action récupère la LCA de l'objet. (non sélectionnée par défaut). |
Sorties d'action
L'action "Lister les objets du bucket" fournit les sorties suivantes :
| Type de sortie de l'action | Disponibilité |
|---|---|
| Fixation murale de l'étui | Non disponible |
| Lien vers le mur des cas | Non disponible |
| Tableau du mur des cas | Non disponible |
| Table d'enrichissement | Non disponible |
| Résultat JSON | Disponible |
| Messages de sortie | Disponible |
| Résultat du script | Disponible |
Résultat JSON
Les exemples suivants décrivent les résultats JSON reçus lors de l'utilisation de l'action "Lister les objets du bucket" :
Si le paramètre
Retrieves the Access Control List of an objectn'est pas sélectionné :{ "Objects": [ { "ObjectName": "test.txt", "Bucket": "ContentType": "TimeCreated": " ", "TimeUpdated": " ", "Size": 18, "MD5": "7CjVfQ+Oz/C0pI08IKRdvQ==", "Owner": "", "CR32c": "RQEqxA==", "id": "siemplify-tip/test.txt/1604926667310271" } ] }Si le paramètre
Retrieves the Access Control List of an objectest sélectionné :{ "Objects": [ { "ObjectName": "test.txt", "Bucket": "BUCKET_NAME", "ContentType": "text/plain" "TimeCreated": " ", "TimeUpdated": " ", "Size": 18, "MD5": "7CjVfQ+Oz/C0pI08IKRdvQ==", "Owner": "", "CR32c": "RQEqxA==", "id": "BUCKET_NAME/test.txt/1604926667310271", "ObjectACL": [ { "entity": "user@example.com", "role": "OWNER" }] }, ] }
Messages de sortie
Sur un mur de cas, l'action "Lister les objets du bucket" fournit les messages de sortie suivants :
| Message de sortie | Description du message |
|---|---|
|
Action effectuée. |
Error executing action "List Bucket Objects". Reason:
ERROR_REASON |
Échec de l'action. Vérifiez la connexion au serveur, les paramètres d'entrée ou les identifiants. |
Résultat du script
Le tableau suivant décrit les valeurs de la sortie des résultats du script lorsque vous utilisez l'action "Lister les objets du bucket" :
| Nom du résultat du script | Valeur |
|---|---|
is_success |
True ou False |
Lister les buckets
Utilisez l'action "Lister les buckets" pour récupérer une liste de buckets depuis Cloud Storage.
Cette action ne s'applique pas aux entités.
Entrées d'action
L'action List Buckets nécessite les paramètres suivants :
| Paramètres | Description |
|---|---|
Max Results |
Optional Nombre maximal de buckets à renvoyer. Par défaut, l'action renvoie 50 buckets. |
Sorties d'action
L'action "Lister les buckets" fournit les sorties suivantes :
| Type de sortie de l'action | Disponibilité |
|---|---|
| Fixation murale de l'étui | Non disponible |
| Lien vers le mur des cas | Non disponible |
| Tableau du mur des cas | Non disponible |
| Table d'enrichissement | Non disponible |
| Résultat JSON | Disponible |
| Messages de sortie | Disponible |
| Résultat du script | Disponible |
Résultat JSON
L'exemple suivant décrit le résultat JSON reçu lors de l'utilisation de l'action List Buckets :
{
"Buckets": [
{
"CreationDate": "2020-11-09T12:57:03.981Z",
"ModificationDate": "2020-11-09T12:57:03.981Z",
"Name": "testexample",
"Owner": "testexample"
}]
}
Messages de sortie
Sur un mur de cas, l'action "List Buckets" (Lister les buckets) fournit les messages de sortie suivants :
| Message de sortie | Description du message |
|---|---|
|
Action effectuée. |
Error executing action "List Buckets". Reason:
ERROR_REASON |
Échec de l'action. Vérifiez la connexion au serveur, les paramètres d'entrée ou les identifiants. |
Résultat du script
Le tableau suivant décrit les valeurs de la sortie des résultats du script lorsque vous utilisez l'action "Lister les buckets" :
| Nom du résultat du script | Valeur |
|---|---|
is_success |
True ou False |
Ping
Utilisez l'action "Ping" pour tester la connectivité à Cloud Storage.
Cette action ne s'applique pas aux entités.
Entrées d'action
Aucune.
Sorties d'action
L'action fournit les sorties suivantes :
| Type de sortie de l'action | Disponibilité |
|---|---|
| Fixation murale de l'étui | Non disponible |
| Lien vers le mur des cas | Non disponible |
| Tableau du mur des cas | Non disponible |
| Table d'enrichissement | Non disponible |
| Résultat JSON | Non disponible |
| Messages de sortie | Disponible |
| Résultat du script | Disponible |
Messages de sortie
Sur un mur de demandes, l'action "Envoyer un ping" fournit les messages de sortie suivants :
| Message de sortie | Description du message |
|---|---|
Successfully connected to the Google Cloud Storage server with
the provided connection parameters! |
Action effectuée. |
Failed to connect to the Google Cloud Storage server! Error is
ERROR_REASON |
Échec de l'action. Vérifiez la connexion au serveur, les paramètres d'entrée ou les identifiants. |
Résultat du script
Le tableau suivant décrit les valeurs de la sortie des résultats du script lorsque vous utilisez l'action Ping :
| Nom du résultat du script | Valeur |
|---|---|
is_success |
True ou False |
Supprimer l'accès public au bucket
Utilisez l'action "Supprimer l'accès public au bucket" pour supprimer l'accès public au bucket Cloud Storage.
Cette action nécessite que vous accordiez le rôle Storage Admin au compte de service que vous utilisez dans l'intégration.
Cette action ne s'applique pas aux entités.
Entrées d'action
L'action "Supprimer l'accès public au bucket" nécessite les paramètres suivants :
| Paramètres | Description |
|---|---|
Resource Name |
Obligatoire Nom de ressource du bucket. |
Prevent Public Access From Bucket |
Obligatoire Si cette option est sélectionnée, l'action configure le bucket pour empêcher tout accès public. |
Sorties d'action
L'action "Supprimer l'accès public au bucket" fournit les sorties suivantes :
| Type de sortie de l'action | Disponibilité |
|---|---|
| Fixation murale de l'étui | Non disponible |
| Lien vers le mur des cas | Non disponible |
| Tableau du mur des cas | Non disponible |
| Table d'enrichissement | Non disponible |
| Résultat JSON | Non disponible |
| Messages de sortie | Disponible |
| Résultat du script | Disponible |
Messages de sortie
Sur un mur des cas, l'action "Supprimer l'accès public au bucket" fournit les messages de sortie suivants :
| Message de sortie | Description du message |
|---|---|
Successfully removed public access from bucket using Google
Cloud Storage: RESOURCE_NAME
|
Action effectuée. |
Error executing action "Remove Public Access From Bucket".
Reason: ERROR_REASON |
Échec de l'action. Vérifiez la connexion au serveur, les paramètres d'entrée ou les identifiants. |
Résultat du script
Le tableau suivant décrit les valeurs de sortie des résultats du script lorsque vous utilisez l'action "Supprimer l'accès public au bucket" :
| Nom du résultat du script | Valeur |
|---|---|
is_success |
True ou False |
Mettre à jour une entrée LCA sur un bucket
Utilisez l'action "Mettre à jour une entrée LCA sur le bucket" pour mettre à jour une entrée LCA dans le bucket Cloud Storage spécifié.
Entrées d'action
L'action "Mettre à jour une entrée de la LCA sur le bucket" nécessite les paramètres suivants :
| Paramètres | Description |
|---|---|
Bucket Name |
Obligatoire Nom du bucket dont vous souhaitez modifier la LCA. |
Entity |
Obligatoire Entité détenant l'autorisation. Les valeurs possibles sont les suivantes :
Pour en savoir plus sur les entités, consultez Représentations des ressources. |
Role |
Obligatoire Autorisation d'accès requise pour l'entité. Les valeurs possibles sont les suivantes :
|
Sorties d'action
L'action "Mettre à jour une entrée de LCA sur un bucket" fournit les sorties suivantes :
| Type de sortie de l'action | Disponibilité |
|---|---|
| Fixation murale de l'étui | Non disponible |
| Lien vers le mur des cas | Non disponible |
| Tableau du mur des cas | Non disponible |
| Table d'enrichissement | Non disponible |
| Résultat JSON | Non disponible |
| Messages de sortie | Disponible |
| Résultat du script | Disponible |
Messages de sortie
Sur un mur de requêtes, l'action "Mettre à jour une entrée de LCA sur un bucket" fournit les messages de sortie suivants :
| Message de sortie | Description du message |
|---|---|
|
Action effectuée. Le rôle existant ne correspond pas à la valeur du paramètre Role. Vérifiez la valeur du paramètre Role. |
Successfully updated ACL entity:
ENTITY to role:
ROLE in bucket
BUCKET_NAME. |
Action effectuée. |
|
Échec de l'action. Vérifiez la connexion au serveur, les paramètres d'entrée ou les identifiants. |
Résultat du script
Le tableau suivant décrit les valeurs de sortie des résultats du script lorsque vous utilisez l'action "Mettre à jour une entrée ACL sur le bucket" :
| Nom du résultat du script | Valeur |
|---|---|
is_success |
True ou False |
Importer un objet dans un bucket
Utilisez l'action "Importer un objet dans un bucket" pour importer un objet dans le bucket Cloud Storage.
Cette action ne s'applique pas aux entités.
Entrées d'action
L'action "Importer un objet dans un bucket" nécessite les paramètres suivants :
| Paramètres | Description |
|---|---|
Bucket Name |
Obligatoire Nom du bucket dans lequel importer un objet. |
Source File Path |
Obligatoire Chemin d'accès absolu au fichier à importer, tel que |
Object Name |
Obligatoire Nom de l'objet importé dans le bucket. |
Sorties d'action
L'action "Importer un objet dans un bucket" fournit les sorties suivantes :
| Type de sortie de l'action | Disponibilité |
|---|---|
| Fixation murale de l'étui | Non disponible |
| Lien vers le mur des cas | Non disponible |
| Tableau du mur des cas | Non disponible |
| Table d'enrichissement | Non disponible |
| Résultat JSON | Disponible |
| Messages de sortie | Disponible |
| Résultat du script | Disponible |
Résultat JSON
{
"object_id":"BUCKET_NAME/errorlog.txt/1610616919132517",
"Object_name":"errorlog.txt",
"md5_hash":"PTdL8D6pBwIKyMfIXR/H9A==",
"object_path":"/b/BUCKET_NAME/o/errorlog.txt"
}
Messages de sortie
Sur un mur de demandes, l'action "Importer un objet dans un bucket" fournit les messages de sortie suivants :
| Message de sortie | Description du message |
|---|---|
|
Action effectuée. |
Error executing action "Upload an Object To a Bucket". Reason:
ERROR_REASON |
Échec de l'action. Vérifiez la connexion au serveur, les paramètres d'entrée ou les identifiants. |
Résultat du script
Le tableau suivant décrit les valeurs de sortie des résultats du script lorsque vous utilisez l'action "Importer un objet dans un bucket" :
| Nom du résultat du script | Valeur |
|---|---|
is_success |
True ou False |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.