Collecter les journaux Microsoft Azure MDM (gestion des appareils mobiles) Intune
Ce document explique comment ingérer des journaux Microsoft Intune dans Google Security Operations à l'aide de l'API ou de Blob Storage. L'analyseur traite les journaux et les transforme en modèle de données unifié (UDM, Unified Data Model). Il extrait les champs, les mappe aux attributs UDM, gère différents types d'activités (création, suppression, correction, action) et enrichit les données avec un contexte supplémentaire, comme des informations sur l'appareil, des détails sur l'utilisateur et des résultats de sécurité. Il effectue également une logique spécifique pour les opérations "Reprovision CloudPCModel" et gère différents scénarios d'identité.
Avant de commencer
Assurez-vous de remplir les conditions suivantes :
- Instance Google SecOps
- Locataire Azure actif
- Accès privilégié à Azure
- Accès privilégié à Microsoft Intune
Configurer l'ingestion des journaux à l'aide d'Azure Storage
Cette section décrit le processus de configuration de l'ingestion des journaux à partir d'Azure Storage, ce qui vous permet de collecter et d'analyser efficacement les journaux de Microsoft Intune.
Configurer le compte de stockage Azure
- Dans la console Azure, recherchez "Comptes de stockage".
- Cliquez sur Créer.
- Spécifiez les valeurs des paramètres d'entrée suivants :
- Abonnement : sélectionnez l'abonnement.
- Groupe de ressources : sélectionnez le groupe de ressources.
- Région : sélectionnez la région.
- Performances : sélectionnez les performances souhaitées (le mode standard est recommandé).
- Redondance : sélectionnez la redondance choisie (GRS ou LRS recommandé).
- Nom du compte de stockage : saisissez un nom pour le nouveau compte de stockage.
- Cliquez sur Examiner et créer.
- Examinez l'aperçu du compte, puis cliquez sur Créer.
- Sur la page Présentation du compte de stockage, sélectionnez le sous-menu Clés d'accès dans Sécurité et mise en réseau.
- Cliquez sur Afficher à côté de key1 ou key2.
- Cliquez sur Copier dans le presse-papiers pour copier la clé.
- Enregistrez la clé dans un endroit sûr pour pouvoir la retrouver facilement.
- Sur la page Présentation du compte de stockage, sélectionnez le sous-menu Points de terminaison dans Paramètres.
- Cliquez sur Copier dans le presse-papiers pour copier l'URL du point de terminaison Blob service (par exemple,
https://<storageaccountname>.blob.core.windows.net
). - Enregistrez l'URL du point de terminaison dans un emplacement sécurisé pour pouvoir vous y référer ultérieurement.
Configurer l'exportation des journaux Microsoft Intune
- Connectez-vous à l'interface utilisateur Web Microsoft Intune.
- Accédez à Rapports> Paramètres de diagnostic.
- 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,
Intune logs to Google SecOps
). - Sélectionnez les paramètres de diagnostic pour
AuditLogs
,OperationalLogs
,DeviceComplianceOrg
etDevices
. - Cochez la case Archiver dans un compte de stockage comme destination.
- Spécifiez l'abonnement et le compte de stockage.
- Nom du paramètre de diagnostic : saisissez un nom descriptif (par exemple,
- Cliquez sur Enregistrer.
Configurer des flux
Il existe deux points d'entrée différents pour configurer les flux dans la plate-forme Google SecOps :
- Paramètres SIEM> Flux
- Plate-forme de contenu > Packs de contenu
Configurer des flux à partir de Paramètres SIEM > Flux
Pour configurer un flux, procédez comme suit :
- 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 Storage Audit Logs
). - Sélectionnez Microsoft Azure Blob Storage comme Type de source.
- Sélectionnez "Audit Azure Storage" comme type de journal.
- Cliquez sur Suivant.
Spécifiez les valeurs des paramètres d'entrée suivants :
URI Azure : URL du point de terminaison du blob.
ENDPOINT_URL/BLOB_NAME
Remplacez les éléments suivants :
ENDPOINT_URL
: URL du point de terminaison du blob. (https://<storageaccountname>.blob.core.windows.net
)BLOB_NAME
: nom du blob. (par exemple,<logname>-logs
)
L'URI est : sélectionnez URI_TYPE en fonction de la configuration du flux de journaux (fichier unique, répertoire ou répertoire incluant des sous-répertoires).
Options de suppression de la source : sélectionnez l'option de suppression de votre choix.
- Clé partagée : clé d'accès à Azure Blob Storage.
Cliquez sur Suivant.
Vérifiez la configuration de votre nouveau flux sur l'écran Finaliser, puis cliquez sur Envoyer.
Configurer des flux depuis le Hub de contenu
Indiquez les valeurs des champs suivants :
L'URI est : sélectionnez URI_TYPE en fonction de la configuration du flux de journaux (fichier unique, répertoire ou répertoire incluant des sous-répertoires).
- Options de suppression de la source : sélectionnez l'option de suppression de votre choix.
Clé partagée : clé d'accès à Azure Blob Storage.
Options avancées
- Nom du flux : valeur préremplie qui identifie le flux.
- Type de source : méthode utilisée pour collecter les journaux dans Google SecOps.
- Espace de noms de l'élément : espace de noms associé au flux.
- Libellés d'ingestion : libellés appliqués à tous les événements de ce flux.
Configurer l'ingestion des journaux à l'aide de l'API
Cette section décrit les étapes initiales de configuration d'une application dans Azure Active Directory pour permettre l'ingestion de journaux basée sur les API.
Configurer une application sur Azure AD
- Connectez-vous au portail Azure.
- Facultatif : Si vous avez accès à plusieurs locataires, utilisez Annuaires + abonnements dans le menu supérieur pour passer au bon locataire.
- Recherchez et sélectionnez Azure Active Directory.
- Accédez à Gérer > Inscriptions d'applications > Nouvelle inscription.
- Fournissez les informations de configuration suivantes :
- Saisissez un nom à afficher pour l'application.
- Indiquez qui peut accéder à l'application.
- Facultatif : Ne saisissez rien pour URI de redirection.
- Cliquez sur S'inscrire.
- Copiez et enregistrez l'ID (client) de l'application et l'ID (locataire) du répertoire depuis l'écran Vue d'ensemble.
Configurer le code secret du client
- Dans Inscriptions d'applications, sélectionnez votre nouvelle application.
- Accédez à Gérer > Certificats et codes secrets > Codes secrets du client > Nouveau code secret du client.
- Attribuez un nom à votre code secret du client.
- Ajoutez une période d'expiration de deux ans pour le secret ou spécifiez une période personnalisée.
- Cliquez sur Ajouter.
- Copiez et enregistrez la valeur secrète.
Configurer les autorisations de l'application
- Dans "Inscriptions d'applications", sélectionnez votre nouvelle application.
- Accédez à Gérer > Autorisations des API > Ajouter une autorisation.
- Sélectionnez Microsoft Graph.
- Ajoutez les autorisations Application suivantes :
- DeviceManagementApps.Read.All
- DeviceManagementConfiguration.Read.All
- DeviceManagementManagedDevices.Read.All
- DeviceManagementRBAC.Read.All
- DeviceManagementServiceConfig.Read.All
- AuditLog.Read.All
- Device.Read.All
- Cliquez sur Ajouter des autorisations.
Configurer un flux dans Google SecOps pour ingérer les journaux Microsoft Intune
- Accédez à Paramètres SIEM> Flux.
- Cliquez sur Add New (Ajouter nouveau).
- Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple, Journaux Microsoft Intune).
- Sélectionnez API tierce comme type de source.
- Sélectionnez Microsoft Intune comme type de journal.
- Cliquez sur Suivant.
- Spécifiez les valeurs des paramètres d'entrée suivants :
- ID client OAuth : saisissez l'ID d'application copié précédemment.
- Code secret du client OAuth : saisissez la valeur secrète créée précédemment.
- ID de locataire : saisissez l'ID d'annuaire copié précédemment.
- Espace de noms de l'élément : [espace de noms de l'élément] (/chronicle/docs/investigation/asset-namespaces).
- Libellés d'ingestion : libellé appliqué aux événements de ce flux.
- Cliquez sur Suivant.
- Vérifiez la configuration du flux sur l'écran Finaliser, puis cliquez sur Envoyer.
Table de mappage UDM
Champ de journal | Mappage UDM | Logique |
---|---|---|
AADTenantId |
event.idm.read_only_udm.additional.fields.value.string_value |
La valeur de properties.AADTenantId du journal brut est mappée sur ce champ UDM. Un libellé avec la clé "AADTenantId" est créé. |
activityDateTime |
event.idm.read_only_udm.metadata.event_timestamp |
Le champ activityDateTime est analysé pour extraire l'année, le mois, le jour, l'heure, la minute, la seconde et le fuseau horaire. Ces champs extraits sont utilisés pour construire le event_timestamp . |
activityType |
event.idm.read_only_udm.metadata.product_event_type |
Directement mappé sur l'UDM. |
actor.applicationDisplayName |
event.idm.read_only_udm.principal.application |
Directement mappé sur l'UDM. |
actor.userId |
event.idm.read_only_udm.principal.user.product_object_id |
Directement mappé sur l'UDM. |
actor.userPrincipalName |
event.idm.read_only_udm.principal.user.userid |
Directement mappé sur l'UDM. |
category |
event.idm.read_only_udm.additional.fields.value.string_value |
La valeur de category du journal brut est mappée sur ce champ UDM. Un libellé avec la clé "category" est créé. |
event.idm.read_only_udm.metadata.event_type |
Dérivé par l'analyseur en fonction de activityOperationType et d'autres champs. Les valeurs possibles sont USER_RESOURCE_UPDATE_CONTENT , USER_RESOURCE_DELETION , USER_RESOURCE_CREATION , USER_UNCATEGORIZED , STATUS_UPDATE et GENERIC_EVENT . Codé en dur sur "AZURE_MDM_INTUNE". Codé en dur sur "AZURE MDM INTUNE". Codé en dur sur "Microsoft". Dérivé. La valeur est définie sur "Device ID:" (ID de l'appareil) concaténée avec la valeur de properties.DeviceId . La valeur de properties.SerialNumber du journal brut est mappée sur ce champ UDM. La valeur de properties.DeviceName du journal brut est mappée sur ce champ UDM. Dérivé par l'analyseur en fonction de plusieurs champs, y compris DeviceManagementAPIName , software1_name , software2.name , software3.name et software4.name . Vous pouvez créer plusieurs entrées de logiciel. La valeur de properties.DeviceName du journal brut est mappée sur ce champ UDM. Dérivé par l'analyseur en fonction du champ properties.OS . Les valeurs possibles sont "WINDOWS", "LINUX" et "MAC". La valeur de properties.OSVersion du journal brut est mappée sur ce champ UDM. La valeur du champ displayName dans le tableau modifiedProperties du tableau resources est mappée à ce champ UDM. La valeur du champ newValue dans le tableau modifiedProperties du tableau resources est mappée à ce champ UDM. La valeur properties.UserEmail , user_identity ou ident.UPN.0.Identity du journal brut est mappée à ce champ UDM. La valeur de properties.UserName du journal brut est mappée sur ce champ UDM. La clé peut être OS_loc ou OSDescription . La valeur de properties.OS_loc ou properties.OSDescription du journal brut est mappée sur ce champ UDM. Dérivé par l'analyseur en fonction de plusieurs champs, y compris resources.0.displayName et activityType . Dérivé par l'analyseur en fonction des champs activityResult et event_type . Les valeurs possibles sont ACTIVE , PENDING_DECOMISSION , DECOMISSIONED et DEPLOYMENT_STATUS_UNSPECIFIED . Codé en dur sur "MICROSOFT_AZURE". La valeur de resources.0.resourceId du journal brut est mappée sur ce champ UDM. La valeur de resources.0.type du journal brut est mappée sur ce champ UDM. Dérivé par l'analyseur en fonction de plusieurs champs, y compris resources.0.type et activityType . Les valeurs possibles sont DEVICE , ACCESS_POLICY et TASK . La valeur de upn_identity du journal brut est mappée sur ce champ UDM. La valeur de user_identity ou user_id du journal brut est mappée sur ce champ UDM. |
|
properties.BatchId |
event.idm.read_only_udm.metadata.product_log_id |
Directement mappé sur l'UDM. |
resources.0.resourceId |
event.idm.read_only_udm.target.resource.id |
Directement mappé sur l'UDM. |
resources.0.type |
event.idm.read_only_udm.target.resource.name |
Directement mappé sur l'UDM. |
tenantId |
event.idm.read_only_udm.additional.fields.value.string_value |
La valeur de tenantId du journal brut est mappée sur ce champ UDM. Un libellé avec la clé "tenantId" est créé. |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.