Collecter les journaux de données contextuelles organisationnelles Microsoft Entra ID (anciennement Azure Active Directory)
Version de l'analyseur : 12.0
Ce document explique comment collecter les données contextuelles de l'organisation Microsoft Entra ID (anciennement Azure Active Directory) en configurant un flux Google Security Operations à l'aide de l'API tierce.
Le contexte organisationnel Microsoft Entra ID fournit des informations d'annuaire telles que les utilisateurs, les groupes et les appareils de votre locataire Microsoft Entra ID. Il ne s'agit pas de données d'événement ou de journal, mais d'un instantané périodique de l'état de l'annuaire qui enrichit d'autres types de journaux dans Google SecOps avec un contexte d'identité.
Avant de commencer
Assurez-vous de remplir les conditions suivantes :
- Une instance Google SecOps
- Accès privilégié au portail Microsoft Azure
- L'un des rôles suivants pour accorder l'autorisation d'administrateur :
- Administrateur général : peut accorder le consentement pour n'importe quelle autorisation, pour n'importe quelle API.
- Administrateur de rôle privilégié : peut accorder l'autorisation pour n'importe quelle autorisation, pour n'importe quelle API.
Configurer la liste d'autorisation d'adresses IP
Vous devez ajouter les plages d'adresses IP Google SecOps dans vos paramètres réseau Microsoft Azure ou vos règles d'accès conditionnel avant de créer votre flux. Cela est important lorsque la source de données applique des restrictions basées sur l'adresse IP. Si le flux renvoie une erreur 403, vérifiez que l'ajout à la liste d'autorisation y est activé. Pour restreindre l'accès à une plage plus étroite, envoyez une demande d'assistance.
Pour en savoir plus, consultez Liste d'autorisation d'adresses IP.
Obtenir les plages d'adresses IP Google SecOps
- Accédez à Paramètres > Gestion des données > Flux. Si vous utilisez une plate-forme SIEM uniquement, accédez à Paramètres > Flux.
- Cliquez sur Ajouter un flux d'actualités.
- Notez les plages d'adresses IP affichées dans l'interface de création de flux.
- Vous pouvez également récupérer les plages d'adresses IP de manière programmatique à l'aide de l'API Feed Management.
Configurer l'accès conditionnel pour les identités de charge de travail (si nécessaire)
Si votre organisation utilise des règles d'accès conditionnel qui limitent l'accès en fonction de l'emplacement, procédez comme suit :
- Dans le centre d'administration Microsoft Entra, accédez à Protection > Accès conditionnel > Emplacements nommés.
- Cliquez sur + Nouvel établissement.
- Fournissez les informations de configuration suivantes :
- Nom : saisissez
Google SecOps IP Ranges. - Marquer comme emplacement de confiance : facultatif, en fonction de votre stratégie de sécurité.
- Plages d'adresses IP : ajoutez chaque plage d'adresses IP Google SecOps au format CIDR.
- Nom : saisissez
- Cliquez sur Créer.
- Accédez à Accès conditionnel > Stratégies.
- Pour toutes les règles qui s'appliquent aux identités de charge de travail, configurez une exclusion pour l'emplacement nommé
Google SecOps IP Rangesou le principal de service spécifique.
Configurer l'enregistrement d'application Microsoft Entra
Créer un enregistrement d'application
- Connectez-vous au centre d'administration Microsoft Entra ou au portail Azure.
- Accédez à Identity > Applications > Inscription d'applications.
- Cliquez sur Nouvelle inscription.
- Fournissez les informations de configuration suivantes :
- Nom : saisissez un nom descriptif (par exemple,
Google SecOps Entra ID Context Integration). - Supported account types (Types de comptes compatibles) : sélectionnez Accounts in this organizational directory only (Single tenant) (Comptes dans cet annuaire organisationnel uniquement (Locataire unique)).
- URI de redirection : laissez ce champ vide (non requis pour l'authentification du principal de service).
- Nom : saisissez un nom descriptif (par exemple,
- Cliquez sur S'inscrire.
- Après l'enregistrement, copiez et enregistrez les valeurs suivantes :
- ID d'application (client)
- ID de l'annuaire (locataire)
Configurer les autorisations de l'API
Le flux lit l'annuaire des utilisateurs via le point de terminaison Microsoft Graph List users, avec le responsable de chaque utilisateur développé. Accordez à l'application les autorisations correspondant aux options de flux que vous activez.
- Dans l'enregistrement de l'application, accédez à API permissions (Autorisations des API).
- Cliquez sur Ajouter une autorisation.
- Sélectionnez Microsoft Graph> Autorisations de l'application.
- Recherchez et sélectionnez les autorisations suivantes :
- User.Read.All : obligatoire. Lit les profils utilisateur et la relation de gestion que le flux ingère.
- Group.Read.All : uniquement si vous définissez Retrieve groups (Récupérer les groupes) sur True dans le flux. Lit les groupes renvoyés pour l'appartenance de chaque utilisateur.
- Device.Read.All : uniquement si vous définissez Récupérer les appareils sur True dans le flux. Lit les appareils associés à chaque utilisateur.
- Cliquez sur Ajouter des autorisations.
- Cliquez sur Accorder le consentement administrateur pour votre organisation.
Vérifiez que la colonne État indique Accordé pour votre organisation pour toutes les autorisations.
Autorisation Type Si nécessaire User.Read.All Application Toujours Group.Read.All Application Récupérer les groupes est défini sur True. Device.Read.All Application Récupérer les appareils est défini sur True.
Créer un code secret du client
- Dans l'enregistrement de l'application, accédez à Certificats et secrets.
- Cliquez sur Nouveau code secret du client.
Fournissez les informations de configuration suivantes :
- Description : saisissez un nom descriptif (par exemple,
Google SecOps Feed). - Expire : sélectionnez une période d'expiration.
- Description : saisissez un nom descriptif (par exemple,
Cliquez sur Ajouter.
Copiez immédiatement la valeur du code secret du client.
Configurer un flux dans Google SecOps pour ingérer les données de contexte organisationnel Microsoft Entra ID
Pour configurer le flux, procédez comme suit :
- Accédez à Paramètres > Gestion des données > Flux. Si vous utilisez une plate-forme SIEM uniquement, accédez à Paramètres > Flux.
- Cliquez sur Ajouter un flux d'actualités.
- 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 AD Organizational Context). - Sélectionnez API tierce comme type de source.
- Sélectionnez Contexte organisationnel Azure AD 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 (client) de l'enregistrement de l'application.
- Code secret du client OAuth : saisissez la valeur du code secret du client que vous avez copiée précédemment.
- ID de locataire : saisissez l'ID d'annuaire (locataire) de l'enregistrement de l'application au format UUID (par exemple,
0fc279f9-fe30-41be-97d3-abe1d7681418). - Récupérer les appareils : indiquez si vous souhaitez récupérer les informations sur les appareils dans le contexte de l'utilisateur. Définissez cette option sur True pour inclure les données de l'appareil.
- Récupérer les groupes : indiquez si vous souhaitez récupérer les informations d'appartenance à un groupe dans le contexte de l'utilisateur. Définissez cette option sur True pour inclure les données du groupe.
Chemin d'accès complet de l'API : URL du point de terminaison de l'API REST Microsoft Graph :
graph.microsoft.com/beta
Point de terminaison d'authentification de l'API : point de terminaison d'authentification Microsoft Entra ID :
login.microsoftonline.com
Options avancées :
- Espace de noms de l'élément : espace de noms de l'élément.
- Étiquettes d'ingestion : étiquette à appliquer aux événements de ce flux.
Cliquez sur Suivant.
Vérifiez la configuration de votre nouveau flux d'actualités sur l'écran Finaliser, puis cliquez sur Envoyer.
Points de terminaison régionaux
Pour les déploiements Microsoft Entra ID dans des clouds souverains, utilisez les points de terminaison régionaux appropriés :
| Environnement cloud | Chemin d'accès complet de l'API | Point de terminaison d'authentification de l'API |
|---|---|---|
| Monde | graph.microsoft.com/beta |
login.microsoftonline.com |
| US Government L4 | graph.microsoft.us/beta |
login.microsoftonline.us |
| Gouvernement américain L5 (DOD) | dod-graph.microsoft.us/beta |
login.microsoftonline.us |
| Chine (21Vianet) | microsoftgraph.chinacloudapi.cn/beta |
login.chinacloudapi.cn |
Table de mappage UDM
| Champ du journal | Mappage UDM | Logique |
|---|---|---|
extension_wfc_AccountType |
entity.labels.value |
Mappage direct |
extension_wfc_AccountingUnitName |
entity.labels.value |
Mappage direct |
extension_wfc_execDescription |
entity.labels.value |
Mappage direct |
extension_wfc_groupDescription |
entity.labels.value |
Mappage direct |
extension_wfc_orgDescription |
entity.labels.value |
Mappage direct |
createdDateTime |
entity.user.attribute.creation_time |
Analysé en tant que RFC3339 |
sign_in_type |
entity.user.attribute.labels.key |
Mappage direct |
assignedLicense.skuId |
entity.user.attribute.labels.value |
Mappage direct |
employeeType |
entity.user.attribute.labels.value |
Mappage direct |
empmanager-src.usageLocation |
entity.user.attribute.labels.value |
Mappage direct |
externalUserState |
entity.user.attribute.labels.value |
Mappage direct |
gopher-manager.onPremisesImmutableId |
entity.user.attribute.labels.value |
Mappage direct |
mailNickname |
entity.user.attribute.labels.value |
Mappage direct |
onPremisesDistinguishedName |
entity.user.attribute.labels.value |
Mappage direct |
onPremisesDomainName |
entity.user.attribute.labels.value |
Mappage direct |
onPremisesExtensionAttributes.extensionAttribute4 |
entity.user.attribute.labels.value |
Mappage direct |
onPremisesImmutableId |
entity.user.attribute.labels.value |
Mappage direct |
onPremisesSamAccountName |
entity.user.attribute.labels.value |
Mappage direct |
refreshTokensValidFromDateTime |
entity.user.attribute.labels.value |
Mappage direct |
token_date_time |
entity.user.attribute.labels.value |
Mappage direct |
userPrincipalName |
entity.user.attribute.labels.value |
Mappage direct |
user_ou_data |
entity.user.attribute.labels.value |
Mappage direct |
userType |
entity.user.attribute.roles.name |
Mappage direct |
user_ou_data |
entity.user.attribute.roles.type |
Mappé : Admin → ADMINISTRATOR, Service Accounts → SERVICE_ACCOUNT |
department |
entity.user.department |
Fusionné |
mail |
entity.user.email_addresses |
Fusionné |
proxyAddress |
entity.user.email_addresses |
Mappé : smtp/SMTP → proxyAddress |
userPrincipalName |
entity.user.email_addresses |
Fusionné |
employeeId |
entity.user.employee_id |
Renommé/Mappé |
extension_employeeNumber |
entity.user.employee_id |
Renommé/Mappé |
onPremisesDomainName |
entity.user.group_identifiers |
Fusionné |
proxyAddress |
entity.user.group_identifiers |
Fusionné |
sign_in_type_manager |
entity.user.managers.attribute.labels.key |
Mappage direct |
temp |
entity.user.managers.attribute.labels.key |
Mappé : true → manager accountEnabled |
empmanager-src.sbuxCompanyCode |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.sbuxCostCenter |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.sbuxDirectorySync |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.sbuxEmployeeStatus |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.sbuxEmployeeType |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.sbuxFullName |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.sbuxFullNameAKA |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.sbuxFullNameAKAAlt |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.sbuxFullNameAlt |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.sbuxGivenNameAlt |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.sbuxGlobalID |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.sbuxJobNumber |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.sbuxKnownAs |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.sbuxKnownAsAlt |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.sbuxLocalMarket |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.sbuxLocalMarketEmployeeID |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.sbuxManagerImmutableID |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.sbuxManagerNumber |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.sbuxOnTLA |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.sbuxOrgAreaID |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.sbuxOrgDistrictID |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.sbuxOrgDivisionID |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.sbuxOrgRegionID |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.sbuxOrgShortName |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.sbuxOrgStoreID |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.sbuxOrgType |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.sbuxOrgUnit |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.sbuxSnAlt |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.sbuxSourceSystem |
entity.user.managers.attribute.labels.value |
Mappage direct |
empmanager-src.userPrincipalName |
entity.user.managers.attribute.labels.value |
Mappage direct |
manager_ou_data |
entity.user.managers.attribute.labels.value |
Mappage direct |
temp |
entity.user.managers.attribute.labels.value |
Mappage direct |
manager_user_type |
entity.user.managers.attribute.roles.name |
Mappage direct |
manager_ou_data |
entity.user.managers.attribute.roles.type |
Mappé : Users → ADMINISTRATOR, Service Accounts → SERVICE_ACCOUNT |
empmanager-src.companyName |
entity.user.managers.company_name |
Renommé/Mappé |
empmanager-src.department |
entity.user.managers.department |
Fusionné |
empProxyAddress |
entity.user.managers.email_addresses |
Mappé : smtp/SMTP → empProxyAddress |
empmanager-src.mail |
entity.user.managers.email_addresses |
Fusionné |
principal_name |
entity.user.managers.email_addresses |
Fusionné |
empmanager-src.employeeId |
entity.user.managers.employee_id |
Renommé/Mappé |
empmanager-src.extension_employeeNumber |
entity.user.managers.employee_id |
Renommé/Mappé |
empmanager-src.givenName |
entity.user.managers.first_name |
Renommé/Mappé |
empProxyAddress |
entity.user.managers.group_identifiers |
Fusionné |
empmanager-src.surname |
entity.user.managers.last_name |
Renommé/Mappé |
empmanager-src.city |
entity.user.managers.personal_address.city |
Renommé/Mappé |
country_n_code |
entity.user.managers.personal_address.country_or_region |
Mappage direct |
empmanager-src.streetAddress |
entity.user.managers.personal_address.name |
Renommé/Mappé |
empmanager-src.state |
entity.user.managers.personal_address.state |
Renommé/Mappé |
empmanager-src.businessPhones.0 |
entity.user.managers.phone_numbers |
Fusionné |
empmanager-src.id |
entity.user.managers.product_object_id |
Renommé/Mappé |
empmanager-src.jobTitle |
entity.user.managers.title |
Renommé/Mappé |
empmanager-src.displayName |
entity.user.managers.user_display_name |
Renommé/Mappé |
empmanager-src.sAMAccountName |
entity.user.managers.userid |
Renommé/Mappé |
empmanager-src.onPremisesSecurityIdentifier |
entity.user.managers.windows_sid |
Renommé/Mappé |
country |
entity.user.personal_address.country_or_region |
Mappage direct |
usageLocation |
entity.user.personal_address.country_or_region |
Mappage direct |
phoneNumber |
entity.user.phone_numbers |
Fusionné |
onPremisesSamAccountName |
entity.user.userid |
Renommé/Mappé |
sAMAccountName |
entity.user.userid |
Renommé/Mappé |
gopher-device-item.createdDateTime |
metadata.event_timestamp |
Analysé en tant que RFC3339 |
| N/A | entity.labels.key |
Constante : wfc_AccountType |
| N/A | entity.user.attribute.labels.key |
Constante : gopher-manager onPremisesImmutableId |
| N/A | entity.user.attribute.roles.type |
Constante : SERVICE_ACCOUNT |
| N/A | entity.user.managers.attribute.labels.key |
Constante : manager accountEnabled |
| N/A | entity.user.managers.attribute.roles.type |
Constante : SERVICE_ACCOUNT |
| N/A | entity.user.user_authentication_status |
Constante : ACTIVE |
| N/A | metadata.entity_type |
Constante : USER |
| N/A | metadata.event_metadata.log_type |
Constante : AZURE_AD_CONTEXT |
| N/A | metadata.product_name |
Constante : Azure Active Directory |
| N/A | metadata.vendor_name |
Constante : Microsoft |
Journal des modifications
Afficher le journal des modifications de cet analyseur
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.