Google Cloud Storage

Ce document explique comment intégrer Cloud Storage au module SOAR de Google Security Operations.

Version de l'intégration : 9.0

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. Ils fournissent ainsi un dépôt inviolable pour la conservation des preuves.

  • Partage d'informations sur les menaces : votre équipe de sécurité peut utiliser Cloud Storage pour partager de manière sécurisée des flux d'informations 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é des activités et permet une récupération plus rapide en cas de modifications accidentelles ou malveillantes.

  • Stockage des artefacts de campagne de phishing : utilisez les fonctionnalités SOAR de Google SecOps pour stocker les e-mails de phishing, les pièces jointes et d'autres artefacts dans Cloud Storage lors de l'analyse d'une campagne de phishing. Le stockage des artefacts permet d'analyser et de conserver les preuves de manière centralisée en vue d'éventuelles actions en justice.

Avant de commencer

Pour utiliser l'intégration, vous avez besoin d'un compte de service Google Cloud . Vous pouvez utiliser un compte de service existant ou en créer un.

Créer un compte de service

  1. Pour savoir comment créer un compte de service, consultez Créer des comptes de service.

  2. Sous Autoriser ce compte de service à accéder au projet, accordez le rôle suivant à votre compte de service :

    • Storage Admin
  3. Si vous n'exécutez pas de charges de travail sur Google Cloud, vous devez créer une clé de compte de service au format JSON après avoir créé un compte de service. Si vous n'utilisez pas d'adresse e-mail Workload Identity Federation for GKE, vous devez fournir le contenu du fichier JSON téléchargé lors de la configuration des paramètres d'intégration.

    Pour des raisons de sécurité, nous vous recommandons d'utiliser les adresses e-mail de la fédération d'identité de charge de travail pour GKE plutôt que les clés JSON de compte de service. Pour en savoir plus sur les identités de charge de travail, consultez Identités pour les charges de travail.

Intégrer Cloud Storage à Google SecOps

L'intégration nécessite les paramètres suivants :

Paramètres Description
Service Account Optional

Contenu du fichier JSON de clé de compte de service.

Vous pouvez configurer ce paramètre ou le paramètre Workload Identity Email.

Pour configurer ce paramètre, indiquez le contenu complet du fichier JSON du compte de service que vous avez téléchargé lors de la création d'un compte de service.

Workload Identity Email Optional

Adresse e-mail du client de votre compte de service.

Vous pouvez configurer ce paramètre ou le paramètre Service Account.

Pour emprunter l'identité de comptes de service avec l'adresse e-mail Workload Identity Federation for GKE, accordez le rôle Service Account Token Creator à votre compte de service. Pour en savoir plus sur les identités de charge de travail et sur la façon de les utiliser, consultez Identités pour les charges de travail.

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 Service Account.

Quota Project ID Optional

ID de 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 Service Usage Consumer à votre compte de service.

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 Service Account.

Pour obtenir des instructions détaillées sur la configuration d'une intégration dans Google SecOps, consultez Configurer des intégrations.

Vous pourrez apporter des modifications ultérieurement si nécessaire. Une fois que vous avez 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 Prise en charge de plusieurs instances.

Actions

Pour les actions qui fonctionnent avec les listes de contrôle des accès (LCA), vous pouvez spécifier l'accès et appliquer des autorisations pour le bucket et l'objet individuel. Pour en savoir plus, consultez Listes de contrôle d'accès (LCA).

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 folderA/mydocument.pdf.

Download Path Obligatoire

Chemin d'accès absolu de l'objet téléchargé vers un répertoire existant, par exemple /tmp/downloads/.

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é
Pièce jointe au mur des cas Non disponible
Lien vers le mur des cas Non disponible
Table 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 des cas, l'action "Télécharger un objet à partir d'un bucket" fournit les messages de sortie suivants :

Message affiché Description du message

OBJECT_NAME successfully downloaded to DESTINATION_PATH.

Action wasn't able to download OBJECT_NAME. Reason: Bucket BUCKET_NAME not found.

Action wasn't able to download OBJECT_NAME. Reason: No such object.

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 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 la forme d'une chaîne de caractères séparée par des virgules, par exemple bucket1,bucket2,bucket3.

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é
Pièce jointe au mur des cas Non disponible
Lien vers le mur des cas Non disponible
Table 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 affiché Description du message

Successfully retrieved the access control list (ACL) for the Cloud Storage buckets BUCKET_NAMES

Action wasn't able to return the access control list(ACL) for the Cloud Storage buckets BUCKET_NAMES. Reason: Cannot get legacy ACL for a bucket that has uniform bucket-level access. Read more at https://cloud.google.com/storage/docs/uniform-bucket-level-access

Action wasn't able to return the access control list(ACL) for the Cloud Storage buckets BUCKET_NAMES.

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 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'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é
Pièce jointe au mur des cas Non disponible
Lien vers le mur des cas Non disponible
Table 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 object n'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 object est 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 affiché Description du message

Successfully returned objects of the BUCKET_NAME bucket in Google Cloud Storage.

Action wasn't able to return objects of the BUCKET_NAME bucket in Google Cloud Storage.

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é
Pièce jointe au mur des cas Non disponible
Lien vers le mur des cas Non disponible
Table 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 requêtes, l'action "List Buckets" (Lister les buckets) fournit les messages de sortie suivants :

Message affiché Description du message

Successfully listed available buckets in Google Cloud Storage.

Action wasn't able to list available buckets in Google Cloud Storage.

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

Aucun

Sorties d'action

L'action 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
Table 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 affiché 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é
Pièce jointe au mur des cas Non disponible
Lien vers le mur des cas Non disponible
Table 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 affiché 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 de 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 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 :

  • user-userId
  • user-emailAddress
  • group-groupId
  • group-emailAddress
  • allUsers
  • allAuthenticatedUsers

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 :

  • OWNER
  • READER
  • WRITER

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
Table 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 affiché Description du message

Action wasn't able to update the ACL entity: ENTITY to role: ROLE in bucket BUCKET_NAME. Reason: OWNERs are WRITERs.

Action wasn't able to update the ACL entity: ENTITY to role: ROLE in bucket BUCKET_NAME. Reason: OWNERs are WRITERs.

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.

Error executing action "Update an ACL entry on Bucket". Reason: Entity ENTITY does not exist in the ACL of bucket BUCKET_NAME.

Action wasn't able to update the ACL entity: ENTITY to role: ROLE in bucket BUCKET_NAME. The entity holding the permission can be user-userId, user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.

Error executing action "Update an ACL entry on 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 "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 /local/path/to/filename.

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é
Pièce jointe au mur des cas Non disponible
Lien vers le mur des cas Non disponible
Table 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 affiché Description du message

Successfully uploaded SOURCE_PATH to bucket: BUCKET_NAME.

Action wasn't able to upload SOURCE_PATH to Google Cloud Storage. Reason:No such file or directory: SOURCE_PATH.

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.