Raccogliere i log dei dati del contesto organizzativo di Microsoft Entra ID (in precedenza Azure Active Directory)
Versione parser: 12.0
Questo documento spiega come raccogliere i dati del contesto organizzativo di Microsoft Entra ID (in precedenza Azure Active Directory) configurando un feed Google Security Operations utilizzando l'API di terze parti.
Il contesto organizzativo di Microsoft Entra ID fornisce informazioni sulla directory, come utenti, gruppi e dispositivi, dal tuo tenant Microsoft Entra ID. Non si tratta di dati di eventi o log, ma di un'istantanea periodica dello stato della directory che arricchisce altri tipi di log in Google SecOps con il contesto dell'identità.
Prima di iniziare
Assicurati di soddisfare i seguenti prerequisiti:
- Un'istanza Google SecOps
- Accesso con privilegi al portale Microsoft Azure
- Uno dei seguenti ruoli per concedere il consenso dell'amministratore:
- Amministratore globale: può concedere il consenso per qualsiasi autorizzazione, per qualsiasi API
- Amministratore dei ruoli con privilegi: può concedere il consenso per qualsiasi autorizzazione, per qualsiasi API
Configura la lista consentita IP
Prima di creare il feed, devi aggiungere gli intervalli IP di Google SecOps nelle impostazioni della rete o nei criteri di accesso condizionale di Microsoft Azure. Ciò è importante quando l'origine dati applica restrizioni basate sull'IP. Se il feed restituisce un errore 403, verifica che la lista consentita sia attivata. Per limitare l'accesso a un intervallo più ristretto, apri un ticket di assistenza.
Per saperne di più, consulta Lista consentita IP.
Ottieni gli intervalli IP di Google SecOps
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo feed.
- Prendi nota degli intervalli IP visualizzati nell'interfaccia di creazione dei feed.
- In alternativa, recupera gli intervalli IP in modo programmatico utilizzando l'API Feed Management.
Configura l'accesso condizionale per le identità dei workload (se necessario)
Se la tua organizzazione utilizza policy di accesso condizionale che limitano l'accesso in base alla località, segui questi passaggi:
- Nel Centro di amministrazione Microsoft Entra, vai a Protezione > Accesso condizionale > Posizioni denominate.
- Fai clic su + Nuova posizione.
- Fornisci i seguenti dettagli di configurazione:
- Nome: inserisci
Google SecOps IP Ranges. - Contrassegna come località attendibile: facoltativo, in base alla tua policy di sicurezza.
- Intervalli IP: aggiungi ogni intervallo IP di Google SecOps in notazione CIDR.
- Nome: inserisci
- Fai clic su Crea.
- Vai a Accesso condizionale > Norme.
- Per tutte le policy che si applicano alle Workload Identity, configura un'esclusione per la località denominata
Google SecOps IP Rangeso per l'entità servizio specifica.
Configurare la registrazione dell'app Microsoft Entra
Crea registrazione app
- Accedi al centro di amministrazione Microsoft Entra o al portale Azure.
- Vai a Identity > Applications > App registrations.
- Fai clic su Nuova registrazione.
- Fornisci i seguenti dettagli di configurazione:
- Nome: inserisci un nome descrittivo (ad esempio,
Google SecOps Entra ID Context Integration). - Tipi di account supportati: seleziona Solo account in questa directory dell'organizzazione (singolo tenant).
- URI di reindirizzamento: lascia vuoto (non obbligatorio per l'autenticazione dell'entità di servizio).
- Nome: inserisci un nome descrittivo (ad esempio,
- Fai clic su Register (Registrati).
- Dopo la registrazione, copia e salva i seguenti valori:
- ID applicazione (client)
- ID directory (tenant)
Configura le autorizzazioni API
Il feed legge la directory utenti tramite l'endpoint List users di Microsoft Graph, con il manager di ogni utente espanso. Concedi le autorizzazioni dell'applicazione che corrispondono alle opzioni del feed che attivi.
- Nella registrazione dell'app, vai ad API permissions (Autorizzazioni API).
- Fai clic su Aggiungi un'autorizzazione.
- Seleziona Microsoft Graph > Application permissions (Autorizzazioni applicazione).
- Cerca e seleziona le seguenti autorizzazioni:
- User.Read.All: obbligatorio. Legge i profili utente e la relazione con il gestore inseriti nel feed.
- Group.Read.All: solo se imposti Retrieve groups su True nel feed. Legge i gruppi restituiti per l'appartenenza di ogni utente.
- Device.Read.All: solo se imposti Recupera dispositivi su True nel feed. Legge i dispositivi associati a ogni utente.
- Fai clic su Aggiungi autorizzazioni.
- Fai clic su Concedi il consenso amministratore per la tua organizzazione.
Verifica che la colonna Stato mostri Concesso per la tua organizzazione per tutte le autorizzazioni.
Autorizzazione Tipo Quando richiesto User.Read.All Applicazione Sempre Group.Read.All Applicazione Recupera gruppi è Vero Device.Read.All Applicazione Recupera dispositivi è True
Crea un client secret
- Nella registrazione dell'app, vai a Certificates & secrets (Certificati e secret).
- Fai clic su Nuovo client secret.
Fornisci i seguenti dettagli di configurazione:
- Descrizione: inserisci un nome descrittivo (ad esempio,
Google SecOps Feed). - Scadenza: seleziona un periodo di scadenza.
- Descrizione: inserisci un nome descrittivo (ad esempio,
Fai clic su Aggiungi.
Copia immediatamente il valore del client secret.
Configura un feed in Google SecOps per importare i dati di contesto dell'organizzazione Microsoft Entra ID
Per configurare il feed:
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo feed.
- Nella pagina successiva, fai clic su Configura un singolo feed.
- Nel campo Nome feed, inserisci un nome per il feed (ad esempio,
Azure AD Organizational Context). - Seleziona API di terze parti come Tipo di origine.
- Seleziona Azure AD Organizational Context (Contesto organizzativo di Azure AD) come Log type (Tipo di log).
- Fai clic su Avanti.
Specifica i valori per i seguenti parametri di input come segue:
- ID client OAuth: inserisci l'ID applicazione (client) dalla registrazione dell'app.
- Client secret OAuth: inserisci il valore del client secret che hai copiato in precedenza.
- ID tenant: inserisci l'ID directory (tenant) della registrazione dell'app in formato UUID (ad esempio,
0fc279f9-fe30-41be-97d3-abe1d7681418). - Recupera dispositivi: seleziona se recuperare le informazioni sui dispositivi nel contesto utente. Imposta su True per includere i dati sul dispositivo.
- Recupera gruppi: seleziona se recuperare le informazioni sull'iscrizione ai gruppi nel contesto utente. Imposta su True per includere i dati del gruppo.
Percorso completo dell'API: URL dell'endpoint API REST di Microsoft Graph:
graph.microsoft.com/beta
Endpoint di autenticazione API: Endpoint di autenticazione Microsoft Entra ID:
login.microsoftonline.com
Opzioni avanzate:
- Spazio dei nomi dell'asset: lo spazio dei nomi dell'asset.
- Etichette di importazione: l'etichetta da applicare agli eventi di questo feed.
Fai clic su Avanti.
Controlla la nuova configurazione del feed nella schermata Finalizza e poi fai clic su Invia.
Endpoint regionali
Per i deployment di Microsoft Entra ID nei cloud sovrani, utilizza gli endpoint regionali appropriati:
| Ambiente cloud | Percorso completo dell'API | Endpoint di autenticazione API |
|---|---|---|
| Global | graph.microsoft.com/beta |
login.microsoftonline.com |
| US Government L4 | graph.microsoft.us/beta |
login.microsoftonline.us |
| US Government L5 (DOD) | dod-graph.microsoft.us/beta |
login.microsoftonline.us |
| Cina (21Vianet) | microsoftgraph.chinacloudapi.cn/beta |
login.chinacloudapi.cn |
Tabella di mappatura UDM
| Campo log | Mappatura UDM | Logica |
|---|---|---|
extension_wfc_AccountType |
entity.labels.value |
Mappato direttamente |
extension_wfc_AccountingUnitName |
entity.labels.value |
Mappato direttamente |
extension_wfc_execDescription |
entity.labels.value |
Mappato direttamente |
extension_wfc_groupDescription |
entity.labels.value |
Mappato direttamente |
extension_wfc_orgDescription |
entity.labels.value |
Mappato direttamente |
createdDateTime |
entity.user.attribute.creation_time |
Analizzato come RFC3339 |
sign_in_type |
entity.user.attribute.labels.key |
Mappata direttamente |
assignedLicense.skuId |
entity.user.attribute.labels.value |
Mappato direttamente |
employeeType |
entity.user.attribute.labels.value |
Mappato direttamente |
empmanager-src.usageLocation |
entity.user.attribute.labels.value |
Mappato direttamente |
externalUserState |
entity.user.attribute.labels.value |
Mappato direttamente |
gopher-manager.onPremisesImmutableId |
entity.user.attribute.labels.value |
Mappato direttamente |
mailNickname |
entity.user.attribute.labels.value |
Mappato direttamente |
onPremisesDistinguishedName |
entity.user.attribute.labels.value |
Mappato direttamente |
onPremisesDomainName |
entity.user.attribute.labels.value |
Mappato direttamente |
onPremisesExtensionAttributes.extensionAttribute4 |
entity.user.attribute.labels.value |
Mappato direttamente |
onPremisesImmutableId |
entity.user.attribute.labels.value |
Mappato direttamente |
onPremisesSamAccountName |
entity.user.attribute.labels.value |
Mappato direttamente |
refreshTokensValidFromDateTime |
entity.user.attribute.labels.value |
Mappato direttamente |
token_date_time |
entity.user.attribute.labels.value |
Mappato direttamente |
userPrincipalName |
entity.user.attribute.labels.value |
Mappato direttamente |
user_ou_data |
entity.user.attribute.labels.value |
Mappato direttamente |
userType |
entity.user.attribute.roles.name |
Mappato direttamente |
user_ou_data |
entity.user.attribute.roles.type |
Mappatura: Admin → ADMINISTRATOR, Service Accounts → SERVICE_ACCOUNT |
department |
entity.user.department |
Unita |
mail |
entity.user.email_addresses |
Unita |
proxyAddress |
entity.user.email_addresses |
Mappatura: smtp/SMTP → proxyAddress |
userPrincipalName |
entity.user.email_addresses |
Unita |
employeeId |
entity.user.employee_id |
Rinominate/mappate |
extension_employeeNumber |
entity.user.employee_id |
Rinominate/mappate |
onPremisesDomainName |
entity.user.group_identifiers |
Unita |
proxyAddress |
entity.user.group_identifiers |
Unita |
sign_in_type_manager |
entity.user.managers.attribute.labels.key |
Mappata direttamente |
temp |
entity.user.managers.attribute.labels.key |
Mappato: true → manager accountEnabled |
empmanager-src.sbuxCompanyCode |
entity.user.managers.attribute.labels.value |
Mappata direttamente |
empmanager-src.sbuxCostCenter |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
empmanager-src.sbuxDirectorySync |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
empmanager-src.sbuxEmployeeStatus |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
empmanager-src.sbuxEmployeeType |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
empmanager-src.sbuxFullName |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
empmanager-src.sbuxFullNameAKA |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
empmanager-src.sbuxFullNameAKAAlt |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
empmanager-src.sbuxFullNameAlt |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
empmanager-src.sbuxGivenNameAlt |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
empmanager-src.sbuxGlobalID |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
empmanager-src.sbuxJobNumber |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
empmanager-src.sbuxKnownAs |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
empmanager-src.sbuxKnownAsAlt |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
empmanager-src.sbuxLocalMarket |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
empmanager-src.sbuxLocalMarketEmployeeID |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
empmanager-src.sbuxManagerImmutableID |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
empmanager-src.sbuxManagerNumber |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
empmanager-src.sbuxOnTLA |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
empmanager-src.sbuxOrgAreaID |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
empmanager-src.sbuxOrgDistrictID |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
empmanager-src.sbuxOrgDivisionID |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
empmanager-src.sbuxOrgRegionID |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
empmanager-src.sbuxOrgShortName |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
empmanager-src.sbuxOrgStoreID |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
empmanager-src.sbuxOrgType |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
empmanager-src.sbuxOrgUnit |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
empmanager-src.sbuxSnAlt |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
empmanager-src.sbuxSourceSystem |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
empmanager-src.userPrincipalName |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
manager_ou_data |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
temp |
entity.user.managers.attribute.labels.value |
Mappato direttamente |
manager_user_type |
entity.user.managers.attribute.roles.name |
Mappato direttamente |
manager_ou_data |
entity.user.managers.attribute.roles.type |
Mappato: Users → ADMINISTRATOR, Service Accounts → SERVICE_ACCOUNT |
empmanager-src.companyName |
entity.user.managers.company_name |
Rinominate/mappate |
empmanager-src.department |
entity.user.managers.department |
Unita |
empProxyAddress |
entity.user.managers.email_addresses |
Mappato: smtp/SMTP → empProxyAddress |
empmanager-src.mail |
entity.user.managers.email_addresses |
Unita |
principal_name |
entity.user.managers.email_addresses |
Unita |
empmanager-src.employeeId |
entity.user.managers.employee_id |
Rinominate/mappate |
empmanager-src.extension_employeeNumber |
entity.user.managers.employee_id |
Rinominate/mappate |
empmanager-src.givenName |
entity.user.managers.first_name |
Rinominate/mappate |
empProxyAddress |
entity.user.managers.group_identifiers |
Unita |
empmanager-src.surname |
entity.user.managers.last_name |
Rinominate/mappate |
empmanager-src.city |
entity.user.managers.personal_address.city |
Rinominate/mappate |
country_n_code |
entity.user.managers.personal_address.country_or_region |
Mappata direttamente |
empmanager-src.streetAddress |
entity.user.managers.personal_address.name |
Rinominato/mappato |
empmanager-src.state |
entity.user.managers.personal_address.state |
Rinominate/mappate |
empmanager-src.businessPhones.0 |
entity.user.managers.phone_numbers |
Unita |
empmanager-src.id |
entity.user.managers.product_object_id |
Rinominate/mappate |
empmanager-src.jobTitle |
entity.user.managers.title |
Rinominate/mappate |
empmanager-src.displayName |
entity.user.managers.user_display_name |
Rinominate/mappate |
empmanager-src.sAMAccountName |
entity.user.managers.userid |
Rinominate/mappate |
empmanager-src.onPremisesSecurityIdentifier |
entity.user.managers.windows_sid |
Rinominate/mappate |
country |
entity.user.personal_address.country_or_region |
Mappato direttamente |
usageLocation |
entity.user.personal_address.country_or_region |
Mappata direttamente |
phoneNumber |
entity.user.phone_numbers |
Unita |
onPremisesSamAccountName |
entity.user.userid |
Rinominate/mappate |
sAMAccountName |
entity.user.userid |
Rinominato/mappato |
gopher-device-item.createdDateTime |
metadata.event_timestamp |
Analizzato come RFC3339 |
| N/D | entity.labels.key |
Costante: wfc_AccountType |
| N/D | entity.user.attribute.labels.key |
Costante: gopher-manager onPremisesImmutableId |
| N/D | entity.user.attribute.roles.type |
Costante: SERVICE_ACCOUNT |
| N/D | entity.user.managers.attribute.labels.key |
Costante: manager accountEnabled |
| N/D | entity.user.managers.attribute.roles.type |
Costante: SERVICE_ACCOUNT |
| N/D | entity.user.user_authentication_status |
Costante: ACTIVE |
| N/D | metadata.entity_type |
Costante: USER |
| N/D | metadata.event_metadata.log_type |
Costante: AZURE_AD_CONTEXT |
| N/D | metadata.product_name |
Costante: Azure Active Directory |
| N/D | metadata.vendor_name |
Costante: Microsoft |
Log delle modifiche
Visualizza il log delle modifiche per questo parser
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.