Collecter les journaux Azure API Management
Version de l'analyseur : 1.0
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.
- Dans le portail Azure, recherchez Event Hubs.
- Cliquez sur + Créer.
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é) Cliquez sur Examiner et créer.
Consultez l'aperçu, puis cliquez sur Créer.
Attendez la fin du déploiement (une à deux minutes).
Créer un hub d'événements
- Une fois l'espace de noms déployé, accédez à l'espace de noms Event Hub.
- Dans le volet de navigation de gauche, sélectionnez Event Hubs sous Entités.
- Cliquez sur + Event Hub.
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) 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.
Option A : Chaîne de connexion au niveau de l'espace de noms (recommandée)
- Accédez à l'espace de noms Event Hubs.
- Dans le panneau de navigation de gauche, sélectionnez Règles d'accès partagé sous Paramètres.
- Cliquez sur la règle par défaut RootManageSharedAccessKey.
- Copiez la chaîne de connexion (clé primaire).
- 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
- Accédez au hub d'événements (et non à l'espace de noms).
- Dans le panneau de navigation de gauche, sélectionnez Règles d'accès partagé sous Paramètres.
- Cliquez sur + Ajouter pour créer une règle.
- 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).
- Nom de la règle : saisissez un nom descriptif (par exemple,
- Cliquez sur Créer.
- Cliquez sur la règle que vous venez de créer.
- Copiez la chaîne de connexion (clé primaire).
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
- Dans le portail Azure, recherchez Services Gestion des API.
- Sélectionnez votre instance de service API Management.
- Dans le panneau de navigation de gauche, sélectionnez Paramètres de diagnostic sous Surveillance.
- Cliquez sur + Ajouter un paramètre de diagnostic.
- 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.
- Nom du paramètre de diagnostic : saisissez un nom descriptif (par exemple,
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
- Dans le portail Azure, recherchez Comptes de stockage.
- Cliquez sur + Créer.
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) Cliquez sur Examiner et créer.
Cliquez sur Créer.
Créer un conteneur Blob
- Accédez au compte de stockage que vous venez de créer.
- Dans le panneau de navigation de gauche, sélectionnez Conteneurs sous Stockage de données.
- Cliquez sur + Conteneur.
- Fournissez les informations de configuration suivantes :
- Nom : saisissez
checkpoints. - Niveau d'accès public : privé (aucun accès anonyme)
- Nom : saisissez
- Cliquez sur Créer.
Obtenir les identifiants du compte de stockage
- Dans le compte de stockage, sélectionnez Clés d'accès sous Sécurité et mise en réseau.
- Cliquez sur Afficher les clés.
- 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.
- Accédez au hub d'événements (et non à l'espace de noms).
- Dans le panneau de navigation de gauche, sélectionnez Groupes de consommateurs sous Entités.
- Cliquez sur + Groupe de consommateurs.
- Fournissez les informations de configuration suivantes :
- Nom : saisissez un nom descriptif (par exemple,
chronicle).
- Nom : saisissez un nom descriptif (par exemple,
Cliquez sur Créer.
Configurer un flux dans Google SecOps pour ingérer les journaux Azure API Management
- Accédez à Paramètres SIEM> Flux.
- Cliquez sur Add New Feed (Ajouter un flux).
- Sur la page suivante, cliquez sur Configurer un seul flux.
- Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple,
Azure API Management Logs). - Sélectionnez Microsoft Azure Event Hub comme type de source.
- Sélectionnez Gestion des API Azure comme Type de journal.
- Cliquez sur Suivant.
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.
- Assurez-vous d'avoir supprimé le paramètre
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.
- Utilisez la chaîne de connexion telle quelle (y compris
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
$Defaultpar défaut. - Si vous avez créé un groupe de consommateurs dédié, saisissez son nom (
chronicle, par exemple).
- Laissez ce champ vide pour utiliser le groupe de consommateurs
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
Cliquez sur Suivant.
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é : true → STATUS_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é : Succeeded → action |
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.