Utiliser des scripts d'ingestion déployés en tant que fonctions Cloud Run

Compatible avec:

Google Security Operations a fourni un ensemble de scripts d'ingestion, écrits en Python, destinés à être déployés en tant que fonctions Cloud Run. Ces scripts vous permettent d'ingérer des données à partir des sources de journaux suivantes, listées par nom et type de journal.

  • Armis Google Security Operations Integration
  • Aruba Central (ARUBA_CENTRAL)
  • Azure Event Hub (configurable log type)
  • Box (BOX)
  • Citrix Cloud audit logs (CITRIX_MONITOR)
  • Citrix session metadata (CITRIX_SESSION_METADATA)
  • Cloud Storage (configurable log type)
  • Duo Activity (DUO_ACTIVITY)
  • Duo Admin (DUO_ADMIN)
  • MISP (MISP_IOC)
  • OneLogin (ONELOGIN_SSO)
  • OneLogin user context (ONELOGIN_USER_CONTEXT)
  • Proofpoint (configurable log type)
  • Pub/Sub (configurable log type)
  • Slack audit logs (SLACK_AUDIT)
  • STIX/TAXII threat intelligence (STIX)
  • Tenable.io (TENABLE_IO)
  • Trend Micro Cloud App Security (configurable log type)
  • Trend Micro Vision One audit logs (TREND_MICRO_VISION_AUDIT)

Ces scripts se trouvent dans le dépôt GitHub de Google Security Operations.

Limite connue:lorsque ces scripts sont utilisés dans un environnement sans état, tel que les fonctions Cloud Run, il est possible qu'ils n'envoient pas tous les journaux à Google Security Operations, car ils ne disposent pas de la fonctionnalité de point de contrôle. Google Security Operations a testé les scripts avec l'environnement d'exécution Python 3.9.

Avant de commencer

Lisez les ressources suivantes, qui fournissent des informations contextuelles et générales qui vous permettent d'utiliser efficacement les scripts d'ingestion Google Security Operations.

Assemblage des fichiers pour un seul type de journal

Chaque sous-répertoire de GitHub Google Security Operations contient des fichiers qui insèrent des données pour un seul type de journal Google Security Operations. Le script se connecte à un seul appareil source, puis envoie des journaux bruts à Google Security Operations à l'aide de l'API Ingestion. Nous vous recommandons de déployer chaque type de journal en tant que fonction Cloud Run distincte. Accédez aux scripts dans le dépôt GitHub de Google Security Operations. Chaque sous-répertoire de GitHub contient les fichiers suivants, spécifiques au type de journal qu'il ingère.

  • main.py est le script d'ingestion spécifique au type de journal. Il se connecte à l'appareil source et ingère les données dans Google Security Operations.
  • .env.yml stocke la configuration requise par le script Python et est spécifique au déploiement. Vous modifiez ce fichier pour définir les paramètres de configuration requis par le script d'ingestion.
  • README.md fournit des informations sur les paramètres de configuration.
  • Requirements.txt définit les dépendances requises par le script d'ingestion. De plus, le dossier common contient des fonctions utilitaires sur lesquelles tous les scripts d'ingestion dépendent.

Pour assembler les fichiers qui insèrent des données pour un seul type de journal, procédez comme suit:

  1. Créez un répertoire de déploiement pour stocker les fichiers de la fonction Cloud Run. Il contiendra tous les fichiers nécessaires au déploiement.
  2. Copiez tous les fichiers du sous-répertoire GitHub du type de journal sélectionné (par exemple, le contexte utilisateur OneLogin) dans ce répertoire de déploiement.
  3. Copiez le dossier common et tout son contenu dans le répertoire de déploiement.
  4. Le contenu du répertoire se présente comme suit:

    one_login_user
    ├─common
    │  ├─__init__.py
    │  ├─auth.py
    │  ├─env_constants.py
    │  ├─ingest.py
    │  ├─status.py
    │  └─utils.py
    ├─env.yml
    ├─main.py
    └─requirements.txt
    

Configurer les scripts

  1. Lancez une session Cloud Shell.
  2. Connectez-vous à une VM Linux Google Cloud à l'aide de SSH. Consultez Se connecter à des VM Linux à l'aide des outils Google.
  3. Importez les scripts d'ingestion en cliquant sur Plus > Importer ou Télécharger pour déplacer vos fichiers ou dossiers vers ou depuis Cloud Shell.

    Vous ne pouvez importer et télécharger des fichiers et des dossiers qu'à partir de votre répertoire d'accueil. Pour plus d'options de transfert de fichiers entre Cloud Shell et votre poste de travail local, consultez [Importer et télécharger des fichiers et des dossiers depuis Cloud Shell](/shell/docs/uploading-and-downloading-files#upload_and_download_files_and_folders.

  4. Modifiez le fichier .env.yml de la fonction et renseignez les variables d'environnement requises. Le tableau suivant liste les variables d'environnement d'exécution communes à tous les scripts d'ingestion.

    Nom de la variable Description Obligatoire Par défaut Secret
    CHRONICLE_CUSTOMER_ID Numéro client Google Security Operations. Oui Aucun Non
    CHRONICLE_REGION Région Google Security Operations. Oui us
    Autres valeurs valides: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 et southamerica-east1.
    Non
    CHRONICLE_SERVICE_ACCOUNT Contenu du fichier JSON du compte de service Google Security Operations. Oui Aucun Oui
    CHRONICLE_NAMESPACE Espace de noms associé aux journaux Google Security Operations. Pour en savoir plus sur les espaces de noms Google Security Operations, consultez Utiliser les espaces de noms des composants. Non Aucun Non

  5. Chaque script nécessite des variables d'environnement spécifiques. Pour en savoir plus sur les variables d'environnement requises par chaque type de journal, consultez la section Paramètres de configuration par type de journal.

Les variables d'environnement marquées comme Secret = Yes doivent être configurées en tant que secrets dans Secret Manager. Pour en savoir plus sur le coût d'utilisation de Secret Manager, consultez la page Tarifs de Secret Manager.

Pour obtenir des instructions détaillées, consultez la page Créer et accéder aux secrets.

Une fois les secrets créés dans Secret Manager, utilisez le nom de la ressource secrète comme valeur pour les variables d'environnement. Par exemple : projects/{project_id}/secrets/{secret_id}/versions/{version_id}, où {project_id}, {secret_id} et {version_id} sont spécifiques à votre environnement.

Configurer un planificateur ou un déclencheur

Tous les scripts, à l'exception de Pub/Sub, sont implémentés pour collecter les données à intervalles réguliers à partir d'un appareil source. Vous devez configurer un déclencheur à l'aide de Cloud Scheduler pour extraire les données au fil du temps. Le script d'ingestion pour Pub/Sub surveille en permanence l'abonnement Pub/Sub. Pour en savoir plus, consultez les pages Exécuter des services selon un calendrier et Utiliser Pub/Sub pour déclencher une fonction Cloud Run.

Déployer la fonction Cloud Run

  1. Lancez une session Cloud Shell.
  2. Connectez-vous via SSH à une VM Linux Google Cloud. Consultez la section Se connecter à des VM Linux à l'aide des outils Google.
  3. Accédez au répertoire dans lequel vous avez copié les scripts d'ingestion.
  4. Exécutez la commande suivante pour déployer la fonction Cloud Run.

    gcloud functions deploy <FUNCTION NAME> --service-account <SERVICE_ACCOUNT_EMAIL> --entry-point main --trigger-http --runtime python39 --env-vars-file .env.yml

    Remplacez <FUNCTION_NAME> par le nom que vous définissez pour la fonction Cloud Run.

    Remplacez <SERVICE_ACCOUNT_EMAIL> par l'adresse e-mail du compte de service que vous souhaitez que votre fonction Cloud Run utilise.

    Si vous ne modifiez pas le répertoire vers l'emplacement des fichiers, veillez à utiliser l'option --source pour spécifier l'emplacement des scripts de déploiement.

    Le compte de service qui exécute votre fonction Cloud Run doit disposer des rôles Demandeur Cloud Functions (roles/cloudfunctions.invoker) et Accesseur de secrets Secret Manager (roles/secretmanager.secretAccessor).

Afficher les journaux d'exécution

Les scripts d'ingestion impriment les messages d'exécution dans stdout. Les fonctions Cloud Run fournissent un mécanisme permettant d'afficher les messages de journal. Pour en savoir plus, consultez les informations de Cloud Functions sur l'affichage des journaux d'exécution.

Paramètres de configuration par type de journal

Intégration d'Armis à Google Security Operations

Ce script collecte les données à l'aide d'appels d'API de la plate-forme Armis pour différents types d'événements, tels que les alertes, les activités, les appareils et les failles. Les données collectées sont ingérées dans Google Security Operations et analysées par les analyseurs correspondants.

Parcours du script

Voici le flux du script:

  1. Vérifiez les variables d'environnement.

  2. Déployez le script dans des fonctions Cloud Run.

  3. Collectez les données à l'aide du script d'ingestion.

  4. Ingérez les données collectées dans Google Security Operations.

  5. Analysez les données collectées à l'aide des analyseurs correspondants dans Google Security Operations.

Utiliser un script pour collecter et ingérer des données dans Google Security Operations

  1. Vérifiez les variables d'environnement.

    Variable Description Obligatoire Par défaut Secret
    CHRONICLE_CUSTOMER_ID Numéro client Google Security Operations. Oui - Non
    CHRONICLE_REGION Région Google Security Operations. Oui États-Unis Oui
    CHRONICLE_SERVICE_ACCOUNT Contenu du fichier JSON du compte de service Google Security Operations. Oui - Oui
    CHRONICLE_NAMESPACE Espace de noms associé aux journaux Google Security Operations. Non - Non
    POLL_INTERVAL Intervalle de fréquence à laquelle la fonction s'exécute pour obtenir des informations supplémentaires Intervalle de fréquence à laquelle la fonction s'exécute pour obtenir des données de journal supplémentaires (en minutes). Cette durée doit être identique à l'intervalle de la tâche Cloud Scheduler. Oui 10 Non
    ARMIS_SERVER_URL URL du serveur de la plate-forme Armis. Oui - Non
    ARMIS_API_SECRET_KEY Clé secrète requise pour l'authentification. Oui - Oui
    HTTPS_PROXY URL du serveur proxy. Non - Non
    CHRONICLE_DATA_TYPE Type de données Google Security Operations à transmettre à Google Security Operations. Oui - Non
  2. Configurez le répertoire.

    Créez un répertoire pour le déploiement des fonctions Cloud Run, puis ajoutez-y un répertoire common et le contenu du script d'ingestion (armis).

  3. Définissez les variables d'environnement d'exécution requises.

    Définissez les variables d'environnement requises dans le fichier .env.yml.

  4. Utilisez des secrets.

    Les variables d'environnement marquées comme secrètes doivent être configurées en tant que secrets dans Secret Manager. Pour en savoir plus sur la création de secrets, consultez la section Créer un secret.

    Après avoir créé les secrets dans Secret Manager, utilisez le nom de la ressource du secret comme valeur pour les variables d'environnement. Exemple :

    CHRONICLE_SERVICE_ACCOUNT: projects/{project_id}/secrets/{secret_id}/versions/{version_id}

  5. Configurez l'espace de noms.

    Définissez la variable d'environnement CHRONICLE_NAMESPACE pour configurer l'espace de noms. Les journaux Google Security Operations sont ingérés dans l'espace de noms.

  6. Déployez les fonctions Cloud Run.

    Exécutez la commande suivante à partir du répertoire créé précédemment pour déployer la fonction cloud. gcloud functions deploy <FUNCTION NAME> --gen2 --entry-point main --trigger-http --runtime python39 --env-vars-file .env.yml

  7. Spécifications par défaut des fonctions Cloud Run

    Variable Par défaut Description
    Mémoire 256 MB Aucun Aucun
    Dépassement du délai 60 secondes Aucun Aucun
    Région us-central1 Aucun Aucun
    Nombre minimal d'instances 0 Aucun Aucun
    Nombre maximal d'instances 100 Aucun Aucun

    Pour en savoir plus sur la configuration de ces variables, consultez Configurer des fonctions Cloud Run.

  8. Extrayez les données historiques.

    Pour extraire des données historiques et continuer à collecter des données en temps réel:

    1. Configurez la variable d'environnement POLL_INTERVAL en minutes pour lesquelles les données historiques doivent être extraites.
    2. Déclenchez la fonction à l'aide d'un planificateur ou manuellement en exécutant la commande dans Google Cloud CLI après avoir configuré les fonctions Cloud Run.

Aruba Central

Ce script extrait les journaux d'audit de la plate-forme Aruba Central et les ingère dans Google Security Operations avec le type de journal ARUBA_CENTRAL. Pour en savoir plus sur l'utilisation de la bibliothèque, consultez le SDK Python pycentral.

Définissez les variables d'environnement suivantes dans le fichier .env.yml.

Variable Description Par défaut Secret
CHRONICLE_CUSTOMER_ID Numéro client de l'instance Google Security Operations. Aucun Non
CHRONICLE_REGION Région de l'instance Google Security Operations. us
Autres valeurs valides: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 et southamerica-east1.
Non
CHRONICLE_SERVICE_ACCOUNT Chemin d'accès au secret dans Secret Manager qui stocke le fichier JSON du compte de service Google Security Operations. Aucun Oui
CHRONICLE_NAMESPACE Espace de noms associé aux journaux Google Security Operations. Pour en savoir plus sur les espaces de noms Google Security Operations, consultez Utiliser les espaces de noms des composants. Aucun Non
POLL_INTERVAL Intervalle de fréquence à laquelle la fonction s'exécute pour obtenir des données de journal supplémentaires (en minutes). Cette durée doit être identique à l'intervalle de la tâche Cloud Scheduler. 10 Non
ARUBA_CLIENT_ID ID client de la passerelle API Aruba Central. Aucun Non
ARUBA_CLIENT_SECRET_SECRET_PATH Code secret du client de la passerelle API Aruba Central. Aucun Oui
ARUBA_USERNAME Nom d'utilisateur de la plate-forme Aruba Central. Aucun Non
ARUBA_PASSWORD_SECRET_PATH Mot de passe de la plate-forme Aruba Central. Aucun Oui
ARUBA_BASE_URL URL de base de la passerelle API Aruba Central. Aucun Non
ARUBA_CUSTOMER_ID Numéro client de la plate-forme Aruba Central. Aucun Non

Azure Event Hub

Contrairement aux autres scripts d'ingestion, ce script utilise des fonctions Azure pour extraire des événements à partir d'Azure Event Hub. Une fonction Azure se déclenche chaque fois qu'un nouvel événement est ajouté à un bucket, et chaque événement est progressivement ingéré dans Google Security Operations.

Procédure de déploiement d'Azure Functions:

  1. Téléchargez le fichier de connecteur de données nommé Azure_eventhub_API_function_app.json à partir du dépôt.
  2. Connectez-vous au portail Microsoft Azure.
  3. Accédez à Microsoft Sentinel > Sélectionnez votre espace de travail dans la liste > Sélectionnez le connecteur de données dans la section de configuration, puis procédez comme suit :
  4. Cliquez sur le bouton Déployer sur Azure pour déployer votre fonction, puis suivez les étapes indiquées sur la même page.
  5. Sélectionnez l'abonnement, le groupe de ressources et l'emplacement de votre choix, puis indiquez les valeurs requises.
  6. Cliquez sur Examiner et créer.
  7. Cliquez sur Créer pour déployer.

Box

Ce script obtient des informations sur les événements qui se produisent dans Box et les ingère dans Google Security Operations avec le type de journal BOX. Les données fournissent des insights sur les opérations CRUD effectuées sur les objets de l'environnement Box. Pour en savoir plus sur les événements Box, consultez l'API Box Events.

Définissez les variables d'environnement suivantes dans le fichier .env.yml. Pour en savoir plus sur l'ID client Box, le code secret du client et l'ID d'objet, consultez la section Attribution d'identifiants client.

Nom de la variable Description Valeur par défaut Secret
CHRONICLE_CUSTOMER_ID Numéro client de l'instance Google Security Operations. Aucun Non
POLL_INTERVAL Intervalle de fréquence à laquelle la fonction s'exécute pour obtenir des données de journal supplémentaires (en minutes). Cette durée doit être identique à l'intervalle de la tâche Cloud Scheduler. 5 Non
CHRONICLE_REGION Région de l'instance Google Security Operations. us
Autres valeurs valides: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 et southamerica-east1.
Non
CHRONICLE_SERVICE_ACCOUNT Chemin d'accès au secret dans Secret Manager qui stocke le fichier JSON du compte de service Google Security Operations. Aucun Oui
BOX_CLIENT_ID ID client de la plate-forme Box, disponible dans la console de développement Box. Aucun Non
BOX_CLIENT_SECRET Chemin d'accès au secret dans Secret Manager qui stocke le secret client de la plate-forme Box utilisé pour l'authentification. Aucun Oui
BOX_SUBJECT_ID ID utilisateur ou ID d'entreprise Box Aucun Non
CHRONICLE_NAMESPACE Espace de noms associé aux journaux Google Security Operations. Pour en savoir plus sur les espaces de noms Google Security Operations, consultez Utiliser les espaces de noms des composants. Aucun Non

Journaux d'audit Citrix Cloud

Ce script collecte les journaux d'audit Citrix Cloud et les ingère dans Google Security Operations avec le type de journal CITRIX_MONITOR. Ces journaux permettent d'identifier les activités effectuées dans l'environnement Citrix Cloud en fournissant des informations sur ce qui a changé, qui l'a modifié, quand il a été modifié, etc. Pour en savoir plus, consultez l'API Citrix Cloud SystemLog.

Définissez les variables d'environnement suivantes dans le fichier .env.yml. Pour en savoir plus sur les ID client et les codes secrets Citrix, consultez Premiers pas avec les API Citrix.

Nom de la variable Description Valeur par défaut Secret
CHRONICLE_CUSTOMER_ID Numéro client de l'instance Google Security Operations. Aucun Non
CHRONICLE_REGION Région de l'instance Google Security Operations. us
Autres valeurs valides: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 et southamerica-east1.
Non
CHRONICLE_SERVICE_ACCOUNT Chemin d'accès au secret dans Secret Manager qui stocke le fichier JSON du compte de service Google Security Operations. Aucun Oui
CITRIX_CLIENT_ID ID client de l'API Citrix. Aucun Non
CITRIX_CLIENT_SECRET Chemin d'accès au secret dans Secret Manager qui stocke le secret client de l'API Citrix utilisé pour l'authentification. Aucun Oui
CITRIX_CUSTOMER_ID CustomerID Citrix Aucun Non
POLL_INTERVAL Intervalle de fréquence à laquelle des données de journal supplémentaires sont collectées (en minutes). Cette durée doit être identique à l'intervalle de la tâche Cloud Scheduler. 30 Non
URL_DOMAIN Point de terminaison Citrix Cloud Aucun Non
CHRONICLE_NAMESPACE Espace de noms associé aux journaux Google Security Operations. Pour en savoir plus sur les espaces de noms Google Security Operations, consultez Utiliser les espaces de noms des composants. Aucun Non

Métadonnées de session Citrix

Ce script collecte les métadonnées de session Citrix à partir des environnements Citrix et les ingère dans Google Security Operations avec le type de journal CITRIX_MONITOR. Les données incluent les identifiants de l'utilisateur, la durée de la session, l'heure de création de la session, l'heure de fin de la session et d'autres métadonnées associées à la session. Pour en savoir plus, consultez l'API Citrix Monitor Service.

Définissez les variables d'environnement suivantes dans le fichier .env.yml. Pour en savoir plus sur les ID client et les codes secrets Citrix, consultez Premiers pas avec les API Citrix.

Nom de la variable Description Valeur par défaut Secret
CHRONICLE_CUSTOMER_ID Numéro client de l'instance Google Security Operations. Aucun Non
CHRONICLE_REGION Région de l'instance Google Security Operations. us
Autres valeurs valides: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 et southamerica-east1.
Non
CHRONICLE_SERVICE_ACCOUNT Chemin d'accès au secret dans Secret Manager qui stocke le fichier JSON du compte de service Google Security Operations. Aucun Oui
URL_DOMAIN Domaine d'URL Citrix. Aucun Non
CITRIX_CLIENT_ID ID client Citrix Aucun Non
CITRIX_CLIENT_SECRET Chemin d'accès au secret dans Secret Manager qui stocke le secret client Citrix utilisé pour l'authentification. Aucun Oui
CITRIX_CUSTOMER_ID Numéro client Citrix. Aucun Non
POLL_INTERVAL Intervalle de fréquence à laquelle la fonction s'exécute pour obtenir des données de journal supplémentaires (en minutes). Cette durée doit être identique à l'intervalle de la tâche Cloud Scheduler. 30 Non
CHRONICLE_NAMESPACE Espace de noms associé aux journaux Google Security Operations. Pour en savoir plus sur les espaces de noms Google Security Operations, consultez Utiliser les espaces de noms des composants. Aucun Non

Cloud Storage

Ce script extrait les journaux système de Cloud Storage et les ingère dans Google Security Operations avec une valeur configurable pour le type de journal. Pour en savoir plus, consultez la bibliothèque cliente Google Cloud Python.

Définissez les variables d'environnement suivantes dans le fichier .env.yml. Google Cloud dispose de journaux liés à la sécurité, dont certains types ne peuvent pas être exportés directement vers Google Security Operations. Pour en savoir plus, consultez la section Analyse des journaux de sécurité.

Variable Description Par défaut Secret
CHRONICLE_CUSTOMER_ID Numéro client de l'instance Google Security Operations. Aucun Non
CHRONICLE_REGION Région de l'instance Google Security Operations. us
Autres valeurs valides: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 et southamerica-east1.
Non
CHRONICLE_SERVICE_ACCOUNT Chemin d'accès au secret dans Secret Manager qui stocke le fichier JSON du compte de service Google Security Operations. Aucun Oui
CHRONICLE_NAMESPACE Espace de noms associé aux journaux Google Security Operations. Pour en savoir plus sur les espaces de noms Google Security Operations, consultez Utiliser les espaces de noms des composants. Aucun Non
POLL_INTERVAL Intervalle de fréquence à laquelle la fonction s'exécute pour obtenir des données de journal supplémentaires (en minutes). Cette durée doit être identique à l'intervalle de la tâche Cloud Scheduler. 60 Non
GCS_BUCKET_NAME Nom du bucket Cloud Storage à partir duquel extraire les données. Aucun Non
GCP_SERVICE_ACCOUNT_SECRET_PATH Chemin d'accès au secret dans Secret Manager qui stocke le fichier JSON du compte de service Google Cloud. Aucun Oui
CHRONICLE_DATA_TYPE Type de journal à utiliser pour transmettre des données à l'instance Google Security Operations. Aucun Non

Activité Duo

Ce script extrait les journaux d'activité Duo à partir de Duo Admin et les ingère dans Google Security Operations avec le type de journal DUO_ACTIVITY. Pour en savoir plus, consultez la page API Duo Admin.

Définissez les variables d'environnement suivantes dans le fichier .env.yml.

Nom de la variable Description Valeur par défaut Secret
CHRONICLE_CUSTOMER_ID Numéro client de l'instance Google Security Operations. Aucun Non
CHRONICLE_REGION Région de l'instance Google Security Operations. us
Autres valeurs valides: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west12, me-central1, me-central2, me-west1 et northamerica-northeast2.
Non
CHRONICLE_SERVICE_ACCOUNT Chemin d'accès au secret dans Secret Manager qui stocke le fichier JSON du compte de service Google Security Operations. Aucun Oui
BACKSTORY_API_V1_URL Chemin d'URL de l'API Duo Security. Pour en savoir plus sur le téléchargement du fichier JSON contenant la clé d'intégration de l'API Duo Admin, consultez la documentation Duo Admin. Aucun Oui
DUO_SECRET_KEY Clé secrète DUO requise pour extraire les journaux de l'API DUO. Consultez la documentation Duo Admin pour savoir comment télécharger le fichier JSON contenant la clé d'intégration de l'API Duo Admin, la clé secrète de l'API Duo Admin et l'hôte de l'API Duo Admin.
Aucun Oui
DUO_INTEGRATION_KEY Clé d'intégration DUO requise pour extraire les journaux de l'API DUO. Consultez la documentation Duo Admin pour savoir comment télécharger le fichier JSON contenant la clé d'intégration de l'API Duo Admin, la clé secrète de l'API Duo Admin et l'hôte de l'API Duo Admin.
Aucun Oui
LOG_FETCH_DURATION Durée pendant laquelle les journaux sont récupérés. 1 Non
CHECKPOINT_FILE_PATH Chemin d'accès au fichier où est stocké le code temporel du point de contrôle du dernier journal ingéré. checkpoint.json Non
CHRONICLE_NAMESPACE Espace de noms associé aux journaux Google Security Operations. Pour en savoir plus sur les espaces de noms Google Security Operations, consultez Utiliser les espaces de noms des composants. Aucun Non

Duo Admin

Le script récupère les événements de Duo Admin liés aux opérations CRUD effectuées sur divers objets tels que le compte utilisateur et la sécurité. Les événements sont ingérés dans Google Security Operations avec le type de journal DUO_ADMIN. Pour en savoir plus, consultez la page API Duo Admin.

Définissez les variables d'environnement suivantes dans le fichier .env.yml.

Nom de la variable Description Valeur par défaut Secret
CHRONICLE_CUSTOMER_ID Numéro client de l'instance Google Security Operations. Aucun Non
CHRONICLE_REGION Région de l'instance Google Security Operations. us
Autres valeurs valides: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 et southamerica-east1.
Non
CHRONICLE_SERVICE_ACCOUNT Chemin d'accès au secret dans Secret Manager qui stocke le fichier JSON du compte de service Google Security Operations. Aucun Oui
POLL_INTERVAL Intervalle de fréquence à laquelle la fonction s'exécute pour obtenir des données de journal supplémentaires (en minutes). Cette durée doit être identique à l'intervalle de la tâche Cloud Scheduler. Aucun Non
DUO_API_DETAILS Chemin d'accès au secret dans Secret Manager qui stocke le fichier JSON du compte Duo. Il contient la clé d'intégration de l'API Duo Admin, la clé secrète de l'API Duo Admin et l'hôte de l'API Duo Admin. Par exemple :
{ "ikey": "abcd123", "skey": "def345", "api_host": "abc-123" }
Pour savoir comment télécharger le fichier JSON, consultez la documentation Duo Admin.
Aucun Oui
CHRONICLE_NAMESPACE Espace de noms associé aux journaux Google Security Operations. Pour en savoir plus sur les espaces de noms Google Security Operations, consultez Utiliser les espaces de noms des composants. Aucun Non

MISP

Ce script extrait des informations sur les relations de menaces à partir de MISP, une plate-forme de partage et de renseignement sur les menaces Open Source, et les ingère dans Google Security Operations avec le type de journal MISP_IOC. Pour en savoir plus, consultez l'API MISP Events.

Définissez les variables d'environnement suivantes dans le fichier .env.yml.

Variable Description Valeur par défaut Secret
CHRONICLE_CUSTOMER_ID Numéro client de l'instance Google Security Operations. Aucun Non
POLL_INTERVAL Intervalle de fréquence à laquelle la fonction s'exécute pour obtenir des données de journal supplémentaires (en minutes). Cette durée doit être identique à l'intervalle de la tâche Cloud Scheduler. 5 Non
CHRONICLE_REGION Région de l'instance Google Security Operations. us
Autres valeurs valides: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 et southamerica-east1.
Non
CHRONICLE_SERVICE_ACCOUNT Chemin d'accès au secret dans Secret Manager qui stocke le fichier JSON du compte de service Google Security Operations. Aucun Oui
ORG_NAME Nom de l'organisation pour filtrer les événements. Aucun Non
API_KEY Chemin d'accès au secret dans Secret Manager qui stocke la clé API pour l'authentification utilisée. Aucun Oui
TARGET_SERVER Adresse IP de l'instance MISP que vous avez créée. Aucun Non
CHRONICLE_NAMESPACE Espace de noms associé aux journaux Google Security Operations. Pour en savoir plus sur les espaces de noms Google Security Operations, consultez Utiliser des espaces de noms d'éléments. Aucun Non

Événements OneLogin

Ce script récupère les événements d'un environnement OneLogin et les ingère dans Google Security Operations avec le type de journal ONELOGIN_SSO. Ces événements fournissent des informations telles que les opérations effectuées sur les comptes utilisateur. Pour en savoir plus, consultez l'API OneLogin Events.

Définissez les variables d'environnement suivantes dans le fichier .env.yml. Pour en savoir plus sur les ID client et les codes secrets OneLogin, consultez Utiliser des identifiants d'API.

Nom de la variable Description Valeur par défaut Secret
CHRONICLE_CUSTOMER_ID Numéro client de l'instance Google Security Operations. Aucun Non
POLL_INTERVAL Intervalle de fréquence à laquelle la fonction s'exécute pour obtenir des données de journal supplémentaires (en minutes). Cette durée doit être identique à l'intervalle de la tâche Cloud Scheduler. 5 Non
CHRONICLE_REGION Région de l'instance Google Security Operations. us
Autres valeurs valides: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 et southamerica-east1.
Non
CHRONICLE_SERVICE_ACCOUNT Chemin d'accès au secret dans Secret Manager qui stocke le fichier JSON du compte de service Google Security Operations. Aucun Oui
CLIENT_ID ID client de la plate-forme OneLogin. Aucun Non
CLIENT_SECRET Chemin d'accès au secret dans Secret Manager qui stocke le secret client de la plate-forme OneLogin utilisé pour l'authentification. Aucun Oui
TOKEN_ENDPOINT URL permettant de demander un jeton d'accès. https://api.us.onelogin.com/auth/oauth2/v2/token Non
CHRONICLE_NAMESPACE Espace de noms associé aux journaux Google Security Operations. Pour en savoir plus sur les espaces de noms Google Security Operations, consultez Utiliser les espaces de noms des composants. Aucun Non

Contexte utilisateur OneLogin

Ce script récupère les données liées aux comptes utilisateur à partir d'un environnement OneLogin et les ingère dans Google Security Operations avec le type de journal ONELOGIN_USER_CONTEXT. Pour en savoir plus, consultez l' API OneLogin User.

Définissez les variables d'environnement suivantes dans le fichier .env.yml. Pour en savoir plus sur les ID client et les codes secrets OneLogin, consultez Utiliser des identifiants d'API.

Nom de la variable Description Valeur par défaut Secret
CHRONICLE_CUSTOMER_ID Numéro client de l'instance Google Security Operations. Aucun Non
POLL_INTERVAL Intervalle de fréquence à laquelle la fonction s'exécute pour obtenir des données de journal supplémentaires (en minutes). Cette durée doit être identique à l'intervalle de la tâche Cloud Scheduler. 30 Non
CHRONICLE_REGION Région de l'instance Google Security Operations. us
Autres valeurs valides: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 et southamerica-east1.
Non
CHRONICLE_SERVICE_ACCOUNT Chemin d'accès au secret dans Secret Manager qui stocke le fichier JSON du compte de service Google Security Operations. Aucun Oui
CLIENT_ID ID client de la plate-forme OneLogin. Aucun Non
CLIENT_SECRET Chemin d'accès au secret dans Secret Manager qui stocke le secret client de la plate-forme OneLogin utilisé pour l'authentification. Aucun Oui
TOKEN_ENDPOINT URL permettant de demander un jeton d'accès. https://api.us.onelogin.com/auth/oauth2/v2/token Non
CHRONICLE_NAMESPACE Espace de noms associé aux journaux Google Security Operations. Pour en savoir plus sur les espaces de noms Google Security Operations, consultez Utiliser les espaces de noms des composants. Aucun Non

Proofpoint

Ce script extrait les données sur les utilisateurs ciblés par des attaques d'une organisation donnée au cours d'une période donnée, puis les ingère dans Google Security Operations. Pour en savoir plus sur l'API utilisée, consultez la page API People.

Définissez les variables d'environnement suivantes dans le fichier .env.yml. Pour savoir comment obtenir le principal de service Proofpoint et le secret Proofpoint, consultez le guide de configuration de la fourniture d'identifiants TAP Proofpoint à Arctic Wolf.

Variable Description Par défaut Secret
CHRONICLE_CUSTOMER_ID Numéro client de l'instance Google Security Operations. Aucun Non
CHRONICLE_REGION Région de l'instance Google Security Operations. us
Autres valeurs valides: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 et southamerica-east1.
Non
CHRONICLE_SERVICE_ACCOUNT Chemin d'accès au secret dans Secret Manager qui stocke le fichier JSON du compte de service Google Security Operations. Aucun Oui
CHRONICLE_NAMESPACE Espace de noms associé aux journaux Google Security Operations. Pour en savoir plus sur les espaces de noms Google Security Operations, consultez Utiliser les espaces de noms des composants. Aucun Non
POLL_INTERVAL Intervalle de fréquence à laquelle la fonction s'exécute pour obtenir des données de journal supplémentaires (en minutes). Cette durée doit être identique à l'intervalle de la tâche Cloud Scheduler. 360 Non
CHRONICLE_DATA_TYPE Type de journal à utiliser pour transmettre des données à l'instance Google Security Operations. Aucun Non
PROOFPOINT_SERVER_URL URL de base de la passerelle API du serveur Proofpoint. Aucun Non
PROOFPOINT_SERVICE_PRINCIPLE Nom d'utilisateur de la plate-forme Proofpoint. Il s'agit généralement du principal de service. Aucun Non
PROOFPOINT_SECRET Chemin d'accès de Secret Manager avec la version, où le mot de passe de la plate-forme Proofpoint est stocké. Aucun Oui
PROOFPOINT_RETRIEVAL_RANGE Nombre indiquant à partir de combien de jours les données doivent être récupérées. Les valeurs acceptées sont 14, 30 et 90. Aucun Non

Pub/Sub

Ce script collecte les messages des abonnements Pub/Sub et ingère les données dans Google Security Operations. Il surveille en permanence la passerelle d'abonnement et ingère les messages plus récents lorsqu'ils apparaissent. Pour en savoir plus, consultez les documents suivants :

Ce script d'ingestion nécessite que vous définissiez des variables à la fois dans le fichier .env.yml et dans la tâche Cloud Scheduler.

  • Définissez les variables d'environnement suivantes dans le fichier .env.yml.

    Nom de la variable Description Valeur par défaut Secret
    CHRONICLE_CUSTOMER_ID Numéro client de l'instance Google Security Operations. Aucun Non
    CHRONICLE_REGION Région de l'instance Google Security Operations. us
    Autres valeurs valides: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 et southamerica-east1.
    Non
    CHRONICLE_SERVICE_ACCOUNT Chemin d'accès au secret dans Secret Manager qui stocke le fichier JSON du compte de service Google Security Operations. Aucun Oui
    CHRONICLE_NAMESPACE Espace de noms associé aux journaux Google Security Operations. Pour en savoir plus sur les espaces de noms Google Security Operations, consultez Utiliser les espaces de noms d'éléments. Aucun Non
  • Définissez les variables suivantes dans le champ Corps du message de Cloud Scheduler sous la forme d'une chaîne au format JSON. Pour en savoir plus sur le champ Body (Corps du message), consultez la section Créer un Cloud Scheduler.

    Nom de la variable Description Valeur par défaut Secret
    PROJECT_ID ID du projet Pub/Sub. Pour en savoir plus sur l'ID de projet, consultez la page Créer et gérer des projets. Aucun Non
    SUBSCRIPTION_ID ID d'abonnement Pub/Sub. Aucun Non
    CHRONICLE_DATA_TYPE Étiquette d'ingestion pour le type de journal fourni lors de l'envoi de données à Google Security Operations. Pour obtenir la liste des types de journaux compatibles, consultez la section Analyseurs par défaut compatibles. Aucun Non

    Voici un exemple de chaîne au format JSON pour le champ Message body (Corps du message).

    { "PROJECT_ID":"projectid-0000","SUBSCRIPTION_ID":"subscription-id","CHRONICLE_DATA_TYPE":"SQUID_PROXY"}
    

Journaux d'audit Slack

Ce script récupère les journaux d'audit d'une organisation Slack Enterprise Grid et les ingère dans Google Security Operations avec le type de journal SLACK_AUDIT. Pour en savoir plus, consultez l'API Slack Audit Logs.

Définissez les variables d'environnement suivantes dans le fichier .env.yml.

Nom de la variable Description Valeur par défaut Secret
CHRONICLE_CUSTOMER_ID Numéro client de l'instance Google Security Operations. Aucun Non
CHRONICLE_REGION Région de l'instance Google Security Operations. us
Autres valeurs valides: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 et southamerica-east1.
Non
CHRONICLE_SERVICE_ACCOUNT Chemin d'accès au secret dans Secret Manager qui stocke le fichier JSON du compte de service Google Security Operations. Aucun Oui
POLL_INTERVAL Intervalle de fréquence à laquelle la fonction s'exécute pour obtenir des données de journal supplémentaires (en minutes). Cette durée doit être identique à l'intervalle de la tâche Cloud Scheduler. 5 Non
SLACK_ADMIN_TOKEN Chemin d'accès au secret dans Secret Manager qui stocke le jeton d'authentification Slack.
Aucune
Oui
CHRONICLE_NAMESPACE Espace de noms associé aux journaux Google Security Operations. Pour en savoir plus sur les espaces de noms Google Security Operations, consultez Utiliser les espaces de noms des composants. Aucun Non

STIX/TAXII

Ce script extrait des indicateurs du serveur STIX/TAXII et les ingère dans Google Security Operations. Pour en savoir plus, consultez la documentation de l'API STIX/TAXII. Définissez les variables d'environnement suivantes dans le fichier .env.yml.

Nom de la variable Description Par défaut Secret
CHRONICLE_CUSTOMER_ID Numéro client de l'instance Google Security Operations. Aucun Non
CHRONICLE_REGION Région de l'instance Google Security Operations. us
Autres valeurs valides: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 et southamerica-east1.
Non
CHRONICLE_SERVICE_ACCOUNT Chemin d'accès au secret dans Secret Manager qui stocke le fichier JSON du compte de service Google Security Operations. Aucun Oui
POLL_INTERVAL Intervalle de fréquence (en minutes) à laquelle la fonction s'exécute. Cette durée doit être identique à celle de la tâche Cloud Scheduler. 60 Non
TAXII_VERSION Version STIX/TAXII à utiliser. Les options possibles sont 1.1, 2.0 et 2.1. Aucun Non
TAXII_DISCOVERY_URL URL de découverte du serveur TAXII. Aucun Non
TAXII_COLLECTION_NAMES Collections (CSV) à partir desquelles extraire les données. Laissez ce champ vide pour extraire des données de toutes les collections. Aucun Non
TAXII_USERNAME Nom d'utilisateur requis pour l'authentification, le cas échéant. Aucun Non
TAXII_PASSWORD_SECRET_PATH Mot de passe requis pour l'authentification, le cas échéant. Aucun Oui

Tenable.io

Ce script extrait les données sur les éléments et les failles de la plate-forme Tenable.io, puis les ingère dans Google Security Operations avec le type de journal TENABLE_IO. Pour en savoir plus sur la bibliothèque utilisée, consultez le SDK Python pyTenable.

Définissez les variables d'environnement suivantes dans le fichier .env.yml. Pour en savoir plus sur les données sur les ressources et les failles, consultez l'API Tenable.io: Exporter des ressources et Exporter des failles.

Variable Description Par défaut Secret
CHRONICLE_CUSTOMER_ID Numéro client de l'instance Google Security Operations. Aucun Non
CHRONICLE_REGION Région de l'instance Google Security Operations. us
Autres valeurs valides: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 et southamerica-east1.
Non
CHRONICLE_SERVICE_ACCOUNT Chemin d'accès au secret dans Secret Manager qui stocke le fichier JSON du compte de service Google Security Operations. Aucun Oui
CHRONICLE_NAMESPACE Espace de noms associé aux journaux Google Security Operations. Pour en savoir plus sur les espaces de noms Google Security Operations, consultez Utiliser les espaces de noms des composants. Aucun Non
POLL_INTERVAL Intervalle de fréquence à laquelle la fonction s'exécute pour obtenir des données de journal supplémentaires (en minutes). Cette durée doit être identique à l'intervalle de la tâche Cloud Scheduler. 360 Non
TENABLE_ACCESS_KEY Clé d'accès utilisée pour l'authentification. Aucun Non
TENABLE_SECRET_KEY_PATH Chemin d'accès au Secret Manager de Google avec la version, où le mot de passe du serveur Tenable est stocké. Aucun Oui
TENABLE_DATA_TYPE Type de données à insérer dans Google Security Operations. Valeurs possibles: ASSETS, VULNERABILITIES. ÉLÉMENTS, FAILLES Non
TENABLE_VULNERABILITY État des failles que vous souhaitez inclure dans l'exportation. Valeurs possibles : "OPEN", "REOPENED" et "FIXED". OUVERT, ROUVRI Non

Trend Micro Cloud App Security

Ce script extrait les journaux de sécurité de la plate-forme Trend Micro et les ingère dans Google Security Operations. Pour en savoir plus sur l'API utilisée, consultez l'API des journaux de sécurité. Définissez les variables d'environnement suivantes dans le fichier .env.yml.

Variable Description Par défaut Secret
CHRONICLE_CUSTOMER_ID Numéro client de l'instance Google Security Operations. Aucun Non
CHRONICLE_REGION Région de l'instance Google Security Operations. us
Autres valeurs valides: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 et southamerica-east1.
Non
CHRONICLE_SERVICE_ACCOUNT Chemin d'accès au secret dans Secret Manager qui stocke le fichier JSON du compte de service Google Security Operations. Aucun Oui
CHRONICLE_NAMESPACE Espace de noms associé aux journaux Google Security Operations. Pour en savoir plus sur les espaces de noms Google Security Operations, consultez Utiliser les espaces de noms des composants. Aucun Non
POLL_INTERVAL Intervalle de fréquence à laquelle la fonction s'exécute pour obtenir des données de journal supplémentaires (en minutes). Cette durée doit être identique à l'intervalle de la tâche Cloud Scheduler. 10 Non
CHRONICLE_DATA_TYPE Type de journal à utiliser pour transmettre des données à l'instance Google Security Operations. Aucun Non
TREND_MICRO_AUTHENTICATION_TOKEN Chemin d'accès au Gestionnaire de secrets Google avec la version, où le jeton d'authentification du serveur Trend Micro est stocké. Aucun Oui
TREND_MICRO_SERVICE_URL URL du service Cloud App Security. Aucun Non
TREND_MICRO_SERVICE Nom du service protégé dont vous souhaitez récupérer les journaux. Accepte les valeurs séparées par une virgule. Valeurs possibles: exchange, sharepoint, onedrive, dropbox, box, googledrive, gmail, teams, exchangeserver, salesforce_sandbox, salesforce_production, teams_chat. exchange, sharepoint, onedrive, dropbox, box, googledrive, gmail, teams, exchangeserver, salesforce_sandbox, salesforce_production, teams_chat Non
TREND_MICRO_EVENT Type de l'événement de sécurité dont vous souhaitez récupérer les journaux. Accepte les valeurs séparées par une virgule. Valeurs possibles: securityrisk, virtualanalyzer, ransomware, dlp. securityrisk, virtualanalyzer, ransomware, dlp Non

Trend Micro Vision One

Ce script récupère les journaux d'audit de Trend Micro Vision One et les ingère dans Google Security Operations avec le type de journal TREND_MICRO_VISION_AUDIT. Pour en savoir plus sur l'API utilisée, consultez l'API des journaux d'audit. Définissez les variables d'environnement suivantes dans le fichier .env.yml.

Variable Description Par défaut Secret
CHRONICLE_CUSTOMER_ID Numéro client de l'instance Google Security Operations. Aucun Non
CHRONICLE_REGION Région de l'instance Google Security Operations. us
Autres valeurs valides: asia-northeast1, asia-south1, asia-southeast1, australia-southeast1, europe, europe-west2, europe-west3, europe-west6, europe-west9, europe-west12, me-central1, me-central2, me-west1, northamerica-northeast2 et southamerica-east1.
Non
CHRONICLE_SERVICE_ACCOUNT Chemin d'accès au secret dans Secret Manager qui stocke le fichier JSON du compte de service Google Security Operations. Aucun Oui
CHRONICLE_NAMESPACE Espace de noms associé aux journaux Google Security Operations. Pour en savoir plus sur les espaces de noms Google Security Operations, consultez Utiliser les espaces de noms des composants. Aucun Non
POLL_INTERVAL Intervalle de fréquence à laquelle la fonction s'exécute pour obtenir des données de journal supplémentaires (en minutes). Cette durée doit être identique à l'intervalle de la tâche Cloud Scheduler. 10 Non
TREND_MICRO_AUTHENTICATION_TOKEN Chemin d'accès au Gestionnaire de secrets Google avec la version, où le jeton d'authentification du serveur Trend Micro est stocké. Aucun Oui
TREND_MICRO_DOMAIN Région Trend Micro Vision One dans laquelle se trouve le point de terminaison du service. Aucun Non