Raccogliere i log dei dati del contesto organizzativo di Microsoft Entra ID (in precedenza Azure Active Directory)

Versione parser: 12.0

Supportato in:

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

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su Aggiungi nuovo feed.
  3. Prendi nota degli intervalli IP visualizzati nell'interfaccia di creazione dei feed.
  4. 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:

  1. Nel Centro di amministrazione Microsoft Entra, vai a Protezione > Accesso condizionale > Posizioni denominate.
  2. Fai clic su + Nuova posizione.
  3. 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.
  4. Fai clic su Crea.
  5. Vai a Accesso condizionale > Norme.
  6. Per tutte le policy che si applicano alle Workload Identity, configura un'esclusione per la località denominata Google SecOps IP Ranges o per l'entità servizio specifica.

Configurare la registrazione dell'app Microsoft Entra

Crea registrazione app

  1. Accedi al centro di amministrazione Microsoft Entra o al portale Azure.
  2. Vai a Identity > Applications > App registrations.
  3. Fai clic su Nuova registrazione.
  4. 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).
  5. Fai clic su Register (Registrati).
  6. 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.

  1. Nella registrazione dell'app, vai ad API permissions (Autorizzazioni API).
  2. Fai clic su Aggiungi un'autorizzazione.
  3. Seleziona Microsoft Graph > Application permissions (Autorizzazioni applicazione).
  4. 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.
  5. Fai clic su Aggiungi autorizzazioni.
  6. Fai clic su Concedi il consenso amministratore per la tua organizzazione.
  7. 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

  1. Nella registrazione dell'app, vai a Certificates & secrets (Certificati e secret).
  2. Fai clic su Nuovo client secret.
  3. Fornisci i seguenti dettagli di configurazione:

    • Descrizione: inserisci un nome descrittivo (ad esempio, Google SecOps Feed).
    • Scadenza: seleziona un periodo di scadenza.
  4. Fai clic su Aggiungi.

  5. 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:

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su Aggiungi nuovo feed.
  3. Nella pagina successiva, fai clic su Configura un singolo feed.
  4. Nel campo Nome feed, inserisci un nome per il feed (ad esempio, Azure AD Organizational Context).
  5. Seleziona API di terze parti come Tipo di origine.
  6. Seleziona Azure AD Organizational Context (Contesto organizzativo di Azure AD) come Log type (Tipo di log).
  7. Fai clic su Avanti.
  8. 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.
  9. Fai clic su Avanti.

  10. 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.