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'incidents : 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. Ils fournissent ainsi un dépôt inviolable pour la conservation des preuves.
Partage de 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, tels que des listes d'adresses IP et de domaines malveillants, avec d'autres équipes ou organisations. Le partage de flux permet de collaborer pour se défendre contre les menaces et d'accélérer les temps de réponse.
Intégration d'un 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 dans 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 d'hameçonnage : utilisez les fonctionnalités SOAR de Google SecOps pour stocker les e-mails d'hameçonnage, les pièces jointes et d'autres artefacts dans Cloud Storage pendant que vous enquêtez sur une campagne d'hameçonnage. Le stockage des artefacts permet d'analyser et de conserver de manière centralisée les preuves en vue d'une éventuelle action en justice.
Avant de commencer
Avant de configurer l'intégration de 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 facultatifs d'attribution de rôle et d'accès du compte principal 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 Storage : 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
Pour générer un fichier de clé de compte de service au format JSON, procédez comme suit :
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 à Google SecOps d'emprunter l'identité de votre compte de service de manière sécurisée. Suivez les étapes ci-dessous pour configurer votre identité de charge de travail.
Configurer l'instance d'intégration
Pour déclencher le processus de découverte d'identité, 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 :
API Root (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 permet de s'assurer que vous accordez les autorisations au bon principal de backend.
Cliquez sur Test. Le test devrait échouer.
Cliquez sur le bouton close_small à côté de Test.
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 à courte durée de vie.
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 de 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 récupéré à partir du contenu du fichier JSON fourni dans le paramètre |
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 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 espace de travail 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'exécute pas sur les 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 absolu de l'objet téléchargé qui mène à un répertoire existant, par exemple |
Sorties de l'action
L'action "Télécharger un objet à partir d'un bucket" fournit les sorties suivantes :
| Type de sortie de l'action | Disponibilité |
|---|---|
| Pièce jointe au mur des cas | 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 à partir d'un bucket" :
{
"object_name": "123.txt"
"download_path": "/usr/bin/share/download.txt"
}
Messages de sortie
Sur un mur de cas, l'action "Télécharger un objet à partir d'un bucket" fournit les messages de sortie suivants :
| Message de sortie | Description du message |
|---|---|
|
L'action a réussi. |
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 la sortie du résultat du script lors de l'utilisation de l'action "Télécharger un objet depuis 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 des 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 forme de chaîne séparée par une virgule, par exemple |
Sorties de l'action
L'action "Obtenir la liste de contrôle d'accès d'un bucket" fournit les sorties suivantes :
| Type de résultat de l'action | Disponibilité |
|---|---|
| Pièce jointe au mur des cas | 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
Sur un mur de demandes, 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 |
|---|---|
|
L'action a réussi. |
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 sortie des résultats du script lorsque vous utilisez l'action "Obtenir la liste de contrôle des 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'exécute pas sur les entités.
Entrées de l'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é par défaut. |
Sorties d'action
L'action "Lister les objets du bucket" fournit les sorties suivantes :
| Type de sortie de l'action | Disponibilité |
|---|---|
| Pièce jointe au mur des cas | 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 |
|---|---|
|
L'action a réussi. |
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 du résultat 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 à partir de Cloud Storage.
Cette action ne s'exécute pas sur les entités.
Entrées d'action
L'action "Lister les 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 de l'action
L'action "Lister les buckets" fournit les résultats suivants :
| Type de résultat de l'action | Disponibilité |
|---|---|
| Pièce jointe au mur des cas | 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 "Lister les 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 des cas, l'action "Lister les buckets" fournit les messages de sortie suivants :
| Message de sortie | Description du message |
|---|---|
|
L'action a réussi. |
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 sortie du résultat 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'exécute pas sur les entités.
Entrées de l'action
Aucune.
Sorties de l'action
L'action fournit les sorties suivantes :
| Type de résultat de l'action | Disponibilité |
|---|---|
| Pièce jointe au mur des cas | 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 cas, l'action 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! |
L'action a réussi. |
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 du résultat du script lors de l'utilisation de l'action Ping :
| Nom du résultat du script | Valeur |
|---|---|
is_success |
True ou False |
Supprimer l'accès public à un bucket
Utilisez l'action "Supprimer l'accès public au bucket" pour supprimer l'accès public au bucket Cloud Storage.
Pour effectuer cette action, vous devez attribuer 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 du bucket" fournit les résultats suivants :
| Type de résultat de l'action | Disponibilité |
|---|---|
| Pièce jointe au mur des cas | 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
|
L'action a réussi. |
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 du résultat 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 de LCA sur un bucket" pour mettre à jour une entrée de LCA dans le bucket Cloud Storage spécifié.
Entrées d'action
L'action "Mettre à jour une entrée de LCA sur un 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é qui détient l'autorisation. Les valeurs possibles sont les suivantes :
Pour en savoir plus sur les entités, consultez Représentations de 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é |
|---|---|
| Pièce jointe au mur des cas | 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 cas, 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. |
L'action a réussi. |
|
É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 du résultat du script lors de l'utilisation de l'action "Mettre à jour une entrée de LCA sur un 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 absolu du fichier à importer, par exemple |
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 résultat de l'action | Disponibilité |
|---|---|
| Pièce jointe au mur des cas | 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 des cas, l'action "Importer un objet dans un bucket" fournit les messages de sortie suivants :
| Message de sortie | Description du message |
|---|---|
|
L'action a réussi. |
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 la sortie du résultat 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.