Raccogliere i log di accesso di Azure AD

Supportato in:

Questo documento spiega come esportare i log di accesso di Azure AD in Google Security Operations utilizzando un account di archiviazione Azure. L'analizzatore sintattico prende i log non elaborati in formato JSON e li trasforma in un formato strutturato conforme all'Unified Data Model (UDM). Estrae i campi pertinenti, normalizza i valori, gestisce timestamp diversi e arricchisce i dati con un contesto relativo alla sicurezza, come informazioni sugli utenti, indirizzi IP e criteri di accesso condizionale.

Prima di iniziare

  • Assicurati di avere un'istanza Google SecOps.
  • Assicurati di avere un tenant Azure attivo.
  • Assicurati di disporre dell'accesso privilegiato ad Azure.

Configura l'account di archiviazione Azure

  1. Nella console di Azure, cerca Account di archiviazione.
  2. Fai clic su + Crea.
  3. Specifica i valori per i seguenti parametri di input:
    • Abbonamento: seleziona l'abbonamento.
    • Gruppo di risorse: seleziona il gruppo di risorse.
    • Regione: seleziona la regione.
    • Prestazioni: seleziona il rendimento (consigliato standard).
    • Redundanza: seleziona la ridondanza (consigliata GRS o LRS).
    • Nome account di archiviazione: inserisci un nome per il nuovo account di archiviazione.
  4. Fai clic su Review + create (Rivedi e crea).
  5. Esamina la panoramica dell'account e fai clic su Crea.
  6. Nella pagina Panoramica dell'account di archiviazione, seleziona il sottomenu Chiavi di accesso in Sicurezza + reti.
  7. Fai clic su Mostra accanto a chiave1 o chiave2.
  8. Fai clic su Copia negli appunti per copiare la chiave.
  9. Salva la chiave in un luogo sicuro per utilizzarla in un secondo momento.
  10. Nella pagina Panoramica dell'account di archiviazione, seleziona il sottomenu Endpoint in Impostazioni.
  11. Fai clic su Copia negli appunti per copiare l'URL dell'endpoint del servizio Blob (ad esempio https://<storageaccountname>.blob.core.windows.net).
  12. Salva l'URL dell'endpoint in un luogo sicuro per utilizzarlo in un secondo momento.

Configurare l'esportazione dei log per i log di accesso di Azure AD

  1. Accedi al portale di Azure utilizzando il tuo account con privilegi.
  2. Vai a Microsoft Entra ID > Monitoraggio > Impostazioni di diagnostica.
  3. Fai clic su Aggiungi impostazione di diagnostica.
    • Inserisci un nome descrittivo per l'impostazione di diagnostica.
  4. Seleziona Log di accesso.
  5. Seleziona la casella di controllo Archivia in un account di archiviazione come destinazione.
    • Specifica l'abbonamento e l'account di archiviazione.

Configura un feed in Google SecOps per importare i log di accesso di Azure

  1. Vai a Impostazioni SIEM > Feed.
  2. Fai clic su Aggiungi nuovo.
  3. Nel campo Nome feed, inserisci un nome per il feed (ad esempio Log di accesso di Azure).
  4. Seleziona Microsoft Azure Blob Storage come Tipo di origine.
  5. Seleziona Accesso di Azure come Tipo di log.
  6. Fai clic su Avanti.
  7. Specifica i valori per i seguenti parametri di input:

    • URI Azure: l'URL dell'endpoint del blob.
      • ENDPOINT_URL/BLOB_NAME
        • Sostituisci quanto segue:
        • ENDPOINT_URL: l'URL dell'endpoint blob (https://<storageaccountname>.blob.core.windows.net)
        • BLOB_NAME: il nome del blob (ad esempio insights-logs-<logname>)
    • L'URI è un: seleziona il TIPO DI URI in base alla configurazione dello stream di log (File singolo | Directory | Directory che include sottodirectory).
    • Opzioni di eliminazione dell'origine: seleziona l'opzione di eliminazione in base alle tue preferenze.

    • Chiave condivisa: la chiave di accesso ad Azure Blob Storage.

    • Spazio dei nomi degli asset: lo spazio dei nomi degli asset.

    • Etichette di importazione: l'etichetta da applicare agli eventi di questo feed.

  8. Fai clic su Avanti.

  9. Rivedi la configurazione del nuovo feed nella schermata Concludi e poi fai clic su Invia.

Tabella di mappatura UDM

Campo log Mappatura UDM Logica
AppDisplayName read_only_udm.target.application Mappato direttamente dal campo AppDisplayName nel log non elaborato.
AppId read_only_udm.security_result.detection_fields.value Mappato direttamente dal campo AppId nel log non elaborato. La chiave è impostata su appId.
Categoria read_only_udm.security_result.category_details Mappato direttamente dal campo Category nel log non elaborato.
ConditionalAccessPolicies[].displayName read_only_udm.security_result.rule_name Mappato direttamente dal campo displayName all'interno dell'array ConditionalAccessPolicies nel log non elaborato.
ConditionalAccessPolicies[].enforcedGrantControls[] read_only_udm.security_result.rule_labels.value Mappato direttamente dall'array enforcedGrantControls all'interno dell'array ConditionalAccessPolicies nel log non elaborato. La chiave è impostata su applied_conditional_access_policies_enforced_grant_controls.
ConditionalAccessPolicies[].enforcedSessionControls[] read_only_udm.security_result.rule_labels.value Mappato direttamente dall'array enforcedSessionControls all'interno dell'array ConditionalAccessPolicies nel log non elaborato. La chiave è impostata su applied_conditional_access_policies_enforced_session_controls.
ConditionalAccessPolicies[].id read_only_udm.security_result.rule_id Mappato direttamente dal campo id all'interno dell'array ConditionalAccessPolicies nel log non elaborato.
ConditionalAccessPolicies[].Result read_only_udm.security_result.rule_labels.value Mappato direttamente dal campo Result all'interno dell'array ConditionalAccessPolicies nel log non elaborato. La chiave è impostata su applied_conditional_access_policies_result.
ConditionalAccessStatus read_only_udm.additional.fields.value.string_value Mappato direttamente dal campo ConditionalAccessStatus nel log non elaborato. La chiave è impostata su conditionalAccessStatus.
CorrelationId read_only_udm.security_result.detection_fields.value Mappato direttamente dal campo CorrelationId nel log non elaborato. La chiave è impostata su correlationId.
DurationMs read_only_udm.additional.fields.value.string_value Mappato direttamente dal campo DurationMs nel log non elaborato. La chiave è impostata su durationMs.
HomeTenantId read_only_udm.security_result.detection_fields.value Mappato direttamente dal campo HomeTenantId nel log non elaborato. La chiave è impostata su HomeTenantId.
IPAddress read_only_udm.principal.asset.ip, read_only_udm.principal.ip Mappato direttamente dal campo IPAddress nel log non elaborato.
ID read_only_udm.security_result.detection_fields.value Mappato direttamente dal campo Id nel log non elaborato. La chiave è impostata su id.
Identità read_only_udm.target.resource.attribute.labels.value Mappato direttamente dal campo Identity nel log non elaborato. La chiave è impostata su identity.
Livello read_only_udm.security_result.severity, read_only_udm.security_result.severity_details Mappato direttamente dal campo Level nel log non elaborato. La gravità viene determinata in base al valore di Level: Information, Informational, 0 o 4 corrisponde a INFORMATIONAL; Warning, 1 o 3 corrisponde a MEDIUM; Error o 2 corrisponde a ERROR; Critical corrisponde a CRITICAL.
OperationName read_only_udm.metadata.product_event_type Mappato direttamente dal campo OperationName nel log non elaborato.
ResourceGroup read_only_udm.security_result.detection_fields.value Mappato direttamente dal campo ResourceGroup nel log non elaborato. La chiave è impostata su ResourceGroup.
ResultSignature read_only_udm.additional.fields.value.string_value Mappato direttamente dal campo ResultSignature nel log non elaborato. La chiave è impostata su resultSignature.
ResultType read_only_udm.additional.fields.value.string_value Mappato direttamente dal campo ResultType nel log non elaborato. La chiave è impostata su resultType.
TenantId read_only_udm.metadata.product_deployment_id Mappato direttamente dal campo TenantId nel log non elaborato.
TimeGenerated read_only_udm.metadata.event_timestamp.seconds, read_only_udm.metadata.event_timestamp.nanos Mappato direttamente dal campo TimeGenerated nel log non elaborato. Il campo viene analizzato come timestamp e utilizzato per compilare i campi seconds e nanos.
TokenIssuerType read_only_udm.security_result.detection_fields.value Mappato direttamente dal campo TokenIssuerType nel log non elaborato. La chiave è impostata su TokenIssuerType.
UniqueTokenIdentifier read_only_udm.security_result.detection_fields.value Mappato direttamente dal campo UniqueTokenIdentifier nel log non elaborato. La chiave è impostata su UniqueTokenIdentifier.
UserAgent read_only_udm.network.http.user_agent, read_only_udm.network.http.parsed_user_agent Mappato direttamente dal campo UserAgent nel log non elaborato. Il campo viene analizzato come stringa user agent e utilizzato per compilare l'oggetto parsed_user_agent.
UserDisplayName read_only_udm.target.user.user_display_name Mappato direttamente dal campo UserDisplayName nel log non elaborato.
ID utente read_only_udm.target.user.userid Mappato direttamente dal campo UserId nel log non elaborato.
UserPrincipalName read_only_udm.target.user.email_addresses Mappato direttamente dal campo UserPrincipalName nel log non elaborato, ma solo se corrisponde al pattern dell'indirizzo email.
UserType read_only_udm.target.user.attribute.roles.name Mappato direttamente dal campo UserType nel log non elaborato.
_Internal_WorkspaceResourceId read_only_udm.security_result.detection_fields.value Mappato direttamente dal campo _Internal_WorkspaceResourceId nel log non elaborato. La chiave è impostata su Internal_WorkspaceResourceId.
_ItemId read_only_udm.security_result.detection_fields.value Mappato direttamente dal campo _ItemId nel log non elaborato. La chiave è impostata su ItemId.
properties.appId read_only_udm.security_result.detection_fields.value Mappato direttamente dal campo appId all'interno dell'oggetto properties nel log non elaborato. La chiave è impostata su appId.
properties.authenticationDetails[].authenticationMethod read_only_udm.security_result.detection_fields.value Mappato direttamente dal campo authenticationMethod all'interno dell'array authenticationDetails nel log non elaborato. La chiave è impostata su authenticationMethod.
properties.authenticationDetails[].authenticationMethodDetail read_only_udm.security_result.detection_fields.value Mappato direttamente dal campo authenticationMethodDetail all'interno dell'array authenticationDetails nel log non elaborato. La chiave è impostata su authenticationMethodDetail.
properties.authenticationDetails[].authenticationStepDateTime read_only_udm.security_result.detection_fields.value Mappato direttamente dal campo authenticationStepDateTime all'interno dell'array authenticationDetails nel log non elaborato. La chiave è impostata su authenticationStepDateTime.
properties.authenticationDetails[].authenticationStepRequirement read_only_udm.security_result.detection_fields.value Mappato direttamente dal campo authenticationStepRequirement all'interno dell'array authenticationDetails nel log non elaborato. La chiave è impostata su authenticationStepRequirement.
properties.authenticationDetails[].authenticationStepResultDetail read_only_udm.security_result.detection_fields.value Mappato direttamente dal campo authenticationStepResultDetail all'interno dell'array authenticationDetails nel log non elaborato. La chiave è impostata su authenticationStepResultDetail.
properties.authenticationDetails[].succeeded read_only_udm.security_result.action, read_only_udm.security_result.action_details Mappato direttamente dal campo succeeded all'interno dell'array authenticationDetails nel log non elaborato. Se il valore è true, l'azione viene impostata su ALLOW; in caso contrario, viene impostata su BLOCK.
properties.conditionalAccessStatus read_only_udm.additional.fields.value.string_value Mappato direttamente dal campo conditionalAccessStatus all'interno dell'oggetto properties nel log non elaborato. La chiave è impostata su conditionalAccessStatus.
properties.id read_only_udm.security_result.detection_fields.value Mappato direttamente dal campo id all'interno dell'oggetto properties nel log non elaborato. La chiave è impostata su id.
properties.status.errorCode read_only_udm.security_result.action Se il valore è 0, l'azione viene impostata su ALLOW; in caso contrario, viene impostata su BLOCK.
properties.userId read_only_udm.target.user.userid Mappato direttamente dal campo userId all'interno dell'oggetto properties nel log non elaborato.
properties.userPrincipalName read_only_udm.target.user.email_addresses Mappato direttamente dal campo userPrincipalName all'interno dell'oggetto properties nel log non elaborato, ma solo se corrisponde al pattern dell'indirizzo email.
resourceId read_only_udm.target.resource.name Mappato direttamente dal campo resourceId nel log non elaborato.
tempo read_only_udm.metadata.event_timestamp.seconds, read_only_udm.metadata.event_timestamp.nanos Mappato direttamente dal campo time nel log non elaborato. Il campo viene analizzato come timestamp e utilizzato per compilare i campi seconds e nanos.
read_only_udm.extensions.auth.type Il valore è impostato su AUTHTYPE_UNSPECIFIED.
read_only_udm.metadata.event_type Il valore viene determinato in base alla presenza dei campi principal.ip e target.user.userid: se sono presenti entrambi, il tipo viene impostato su USER_LOGIN; se è presente solo principal.ip, il tipo viene impostato su STATUS_UPDATE; in caso contrario, viene impostato su GENERIC_EVENT.

Modifiche

2024-05-07

  • Analizzatore appena creato

Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.