Collecter les journaux Azure API Management

Version de l'analyseur : 1.0

Compatible avec :

Ce document explique comment créer un flux Azure Event Hub pour ingérer les journaux Azure API Management dans Google Security Operations.

Azure API Management est une plate-forme de gestion hybride et multicloud pour les API dans tous les environnements. Il permet aux organisations de publier des API pour les développeurs externes, partenaires et internes afin d'exploiter le potentiel de leurs données et services. La gestion des API fournit des outils pour la découverte des API, les fonctionnalités de passerelle, les règles de sécurité, les données analytiques et l'engagement des développeurs. Les journaux de diagnostic capturent des informations détaillées sur les opérations de la passerelle API, y compris les requêtes, les réponses et les erreurs.

Avant de commencer

Assurez-vous de remplir les conditions préalables suivantes :

  • Une instance Google SecOps
  • Accès privilégié au portail Microsoft Azure avec les autorisations suivantes :
    • Créer des espaces de noms Event Hubs
    • Créer des hubs d'événements
    • Configurer les paramètres de diagnostic pour Azure API Management
    • Gérer les règles d'accès
  • Une instance de service Azure API Management existante

Créer un espace de noms Event Hubs

Un espace de noms Event Hubs est un conteneur de gestion pour un ou plusieurs hubs d'événements.

  1. Dans le portail Azure, recherchez Event Hubs.
  2. Cliquez sur + Créer.
  3. Fournissez les informations de configuration suivantes :

    Paramètre Valeur
    Abonnement Sélectionnez votre abonnement Azure.
    Groupe de ressources Sélectionner une base de données existante ou en créer une
    Nom de l'espace de noms Saisissez un nom unique (par exemple, secops-apim-eventhub).
    Emplacement Sélectionnez la région (par exemple, East US).
    Niveau de tarification Standard (recommandé pour la production)
    Unités de débit Commencer par 1, activer l'augmentation automatique (recommandé)
  4. Cliquez sur Examiner et créer.

  5. Consultez l'aperçu, puis cliquez sur Créer.

  6. Attendez la fin du déploiement (une à deux minutes).

Créer un hub d'événements

  1. Une fois l'espace de noms déployé, accédez à l'espace de noms Event Hub.
  2. Dans le volet de navigation de gauche, sélectionnez Event Hubs sous Entités.
  3. Cliquez sur + Event Hub.
  4. Fournissez les informations de configuration suivantes :

    Paramètre Valeur
    Nom Saisissez un nom unique (par exemple, apim-logs).
    Nombre de partitions 40 (recommandé pour une mise à l'échelle optimale de Google SecOps)
    Conservation des messages 7 jours (minimum recommandé)
    Capture Désactivé (non requis pour Google SecOps)
  5. Cliquez sur Créer.

Obtenir la chaîne de connexion Event Hub

Google SecOps nécessite une chaîne de connexion pour s'authentifier auprès de l'Event Hub.

  1. Accédez à l'espace de noms Event Hubs.
  2. Dans le panneau de navigation de gauche, sélectionnez Règles d'accès partagé sous Paramètres.
  3. Cliquez sur la règle par défaut RootManageSharedAccessKey.
  4. Copiez la chaîne de connexion (clé primaire).
  5. Enregistrez cette chaîne de connexion de manière sécurisée.
  • Exemple :

    Original: Endpoint=sb://secops-apim-eventhub.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=abc123==;EntityPath=apim-logs
    
    Remove EntityPath: Endpoint=sb://secops-apim-eventhub.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=abc123==
    

Option B : Chaîne de connexion au niveau d'Event Hub

  1. Accédez au hub d'événements (et non à l'espace de noms).
  2. Dans le panneau de navigation de gauche, sélectionnez Règles d'accès partagé sous Paramètres.
  3. Cliquez sur + Ajouter pour créer une règle.
  4. Fournissez les informations de configuration suivantes :
    • Nom de la règle : saisissez un nom descriptif (par exemple, chronicle-read).
    • Autorisations : sélectionnez Écouter uniquement (accès en lecture seule).
  5. Cliquez sur Créer.
  6. Cliquez sur la règle que vous venez de créer.
  7. Copiez la chaîne de connexion (clé primaire).
  8. Enregistrez cette chaîne de connexion de manière sécurisée.

Configurer la gestion des API Azure pour diffuser en continu vers Event Hub

  1. Dans le portail Azure, recherchez Services Gestion des API.
  2. Sélectionnez votre instance de service API Management.
  3. Dans le panneau de navigation de gauche, sélectionnez Paramètres de diagnostic sous Surveillance.
  4. Cliquez sur + Ajouter un paramètre de diagnostic.
  5. Fournissez les informations de configuration suivantes :
    • Nom du paramètre de diagnostic : saisissez un nom descriptif (par exemple, apim-to-secops).
    • Dans la section Journaux, sélectionnez les catégories suivantes :
      • GatewayLogs : journaux des requêtes et des réponses de la passerelle API
      • WebSocketConnectionLogs : journaux de connexion WebSocket (le cas échéant)
      • DeveloperPortalAuditLogs : journaux d'audit du portail des développeurs (le cas échéant)
      • GatewayLlmLogs : journaux de la passerelle d'IA générative (le cas échéant)
      • GatewayMCPLogs : journaux du serveur MCP (Model Context Protocol), le cas échéant
    • Dans la section Détails de la destination, cochez la case Diffuser vers un hub d'événements.
    • Abonnement : sélectionnez l'abonnement contenant votre espace de noms Event Hub.
    • Espace de noms Event Hub : sélectionnez l'espace de noms que vous avez créé précédemment (secops-apim-eventhub, par exemple).
    • Nom du hub d'événements : sélectionnez le hub d'événements que vous avez créé (par exemple, apim-logs).
    • Nom de la règle du hub d'événements : sélectionnez RootManageSharedAccessKey ou une règle personnalisée avec des autorisations d'envoi.
  6. Cliquez sur Enregistrer.

(Facultatif) Configurer Azure Blob Storage pour la création de points de contrôle

Google SecOps peut utiliser Azure Blob Storage pour stocker les points de contrôle Event Hub, qui permettent de suivre les événements qui ont été traités. Cela permet d'éviter l'ingestion de doublons si le flux est temporairement interrompu.

Créer un compte de stockage pour la création de points de contrôle

  1. Dans le portail Azure, recherchez Comptes de stockage.
  2. Cliquez sur + Créer.
  3. Fournissez les informations de configuration suivantes :

    Paramètre Valeur
    Abonnement Sélectionnez votre abonnement Azure.
    Groupe de ressources Utiliser le même groupe de ressources qu'Event Hub
    Nom du compte de stockage Saisissez un nom unique (par exemple, secopsapimcheckpoint).
    Région Même région que le hub d'événements
    Performances Standard
    Redondance LRS (stockage localement redondant)
  4. Cliquez sur Examiner et créer.

  5. Cliquez sur Créer.

Créer un conteneur Blob

  1. Accédez au compte de stockage que vous venez de créer.
  2. Dans le panneau de navigation de gauche, sélectionnez Conteneurs sous Stockage de données.
  3. Cliquez sur + Conteneur.
  4. Fournissez les informations de configuration suivantes :
    • Nom : saisissez checkpoints.
    • Niveau d'accès public : privé (aucun accès anonyme)
  5. Cliquez sur Créer.

Obtenir les identifiants du compte de stockage

  1. Dans le compte de stockage, sélectionnez Clés d'accès sous Sécurité et mise en réseau.
  2. Cliquez sur Afficher les clés.
  3. Copiez et enregistrez :
    • Nom du compte de stockage : nom de votre compte de stockage
    • Clé 1 : valeur de la clé d'accès

Vous fournirez ces valeurs lorsque vous créerez le flux Google SecOps.

(Facultatif) Créer un groupe de consommateurs dédié

Par défaut, Event Hub fournit un groupe de consommateurs nommé $Default. Pour les environnements de production, il est recommandé de créer un groupe de consommateurs dédié pour Google SecOps.

  1. Accédez au hub d'événements (et non à l'espace de noms).
  2. Dans le panneau de navigation de gauche, sélectionnez Groupes de consommateurs sous Entités.
  3. Cliquez sur + Groupe de consommateurs.
  4. Fournissez les informations de configuration suivantes :
    • Nom : saisissez un nom descriptif (par exemple, chronicle).
  5. Cliquez sur Créer.

Configurer un flux dans Google SecOps pour ingérer les journaux Azure API Management

  1. Accédez à Paramètres SIEM> Flux.
  2. Cliquez sur Add New Feed (Ajouter un flux).
  3. Sur la page suivante, cliquez sur Configurer un seul flux.
  4. Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple, Azure API Management Logs).
  5. Sélectionnez Microsoft Azure Event Hub comme type de source.
  6. Sélectionnez Gestion des API Azure comme Type de journal.
  7. Cliquez sur Suivant.
  8. Spécifiez les valeurs des paramètres d'entrée suivants :

    • Chaîne de connexion Event Hub : saisissez la chaîne de connexion Event Hub que vous avez capturée précédemment.

    • Si vous utilisez une chaîne de connexion au niveau de l'espace de noms :

      • Assurez-vous d'avoir supprimé le paramètre EntityPath.
      • Vous devez également indiquer le nom du hub d'événements dans le champ suivant.
    • Si vous utilisez une chaîne de connexion au niveau du hub d'événements :

      • Utilisez la chaîne de connexion telle quelle (y compris EntityPath).
      • Le champ Nom du hub d'événements peut être laissé vide.
    • Nom du hub d'événements : saisissez le nom du hub d'événements (par exemple, apim-logs).

      • Obligatoire si vous utilisez une chaîne de connexion au niveau de l'espace de noms.
      • Facultatif si vous utilisez une chaîne de connexion au niveau du hub d'événements.
    • Groupe de consommateurs (facultatif) : saisissez le nom du groupe de consommateurs.

      • Laissez ce champ vide pour utiliser le groupe de consommateurs $Default par défaut.
      • Si vous avez créé un groupe de consommateurs dédié, saisissez son nom (chronicle, par exemple).
    • Nom du conteneur Blob Storage (facultatif) : pour la création de points de contrôle, saisissez le nom du conteneur (par exemple, checkpoints).

    Si vous fournissez un stockage de blobs pour la création de points de contrôle :

    • Nom du compte de stockage Azure : saisissez le nom du compte de stockage à partir de la configuration du checkpointing.
    • Clé du compte de stockage Azure : saisissez la clé d'accès à partir de la configuration du point de contrôle.

    • Espace de noms de l'élément : espace de noms de l'élément

    • Libellés d'ingestion : libellé à appliquer aux événements de ce flux

  9. Cliquez sur Suivant.

  10. Vérifiez la configuration de votre nouveau flux sur l'écran Finaliser, puis cliquez sur Envoyer.

Pour en savoir plus sur les flux Google SecOps, consultez la documentation sur les flux Google SecOps.

Table de mappage UDM

Champ de journal Mappage UDM Logique
Level_label additional.fields Fusionné
Sku_label additional.fields Fusionné
apiId_label additional.fields Fusionné
apiRevision_label additional.fields Fusionné
apimSubscriptionId_label additional.fields Fusionné
backendMethod_label additional.fields Fusionné
backendProtocol_label additional.fields Fusionné
backendResponseCode_label additional.fields Fusionné
backendTime_label additional.fields Fusionné
cache_label additional.fields Fusionné
clientProtocol_label additional.fields Fusionné
durationMs_label additional.fields Fusionné
eventName_label additional.fields Fusionné
eventid_label additional.fields Fusionné
functionInvocationId_label additional.fields Fusionné
functionName_label additional.fields Fusionné
hostInstanceId_label additional.fields Fusionné
hostVersion_label additional.fields Fusionné
isRequestSuccess_label additional.fields Fusionné
operationId_label additional.fields Fusionné
productId_label additional.fields Fusionné
properties.message metadata.description Mappé directement
time metadata.event_timestamp Analysé en tant que ISO8601
has_principal metadata.event_type Mappé : trueSTATUS_UPDATE
operationName metadata.product_event_type Mappé directement
DeploymentVersion metadata.product_version Mappé directement
properties.method network.http.method Mappé directement
properties.responseCode network.http.response_code Mappé directement
properties.responseSize network.received_bytes Mappé directement
properties.requestSize network.sent_bytes Mappé directement
correlationId network.session_id Mappé directement
properties.clientTlsCipherSuite network.tls.cipher Mappé directement
properties.clientTlsVersion network.tls.version Mappé directement
callerIpAddress principal.asset.ip Fusionné
callerIpAddress principal.ip Fusionné
location principal.location.name Mappé directement
properties.url principal.url Mappé directement
properties.userId principal.user.userid Mappé directement
action security_result.action Fusionné
resultType security_result.action Mappé : Succeededaction
category security_result.category_details Fusionné
properties.category security_result.category_details Fusionné
level security_result.severity Mappé directement
resultType security_result.summary Mappé directement
properties.appName target.application Mappé directement
properties.processId target.process.pid Mappé directement
roleInstance_label target.resource.attribute.labels Fusionné
resourceId target.resource.product_object_id Mappé directement
properties.backendUrl target.url Mappé directement
N/A metadata.event_type Constante : GENERIC_EVENT
N/A metadata.product_name Constante : AZURE API MANAGEMENT
N/A metadata.vendor_name Constante : AZURE_API_MANAGEMENT
N/A network.tls.version_protocol Constante : HTTP

Journal des modifications

Afficher le journal des modifications pour ce parseur

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.