Importare i log attività di Microsoft Azure
Questo documento descrive i passaggi necessari per importare i log attività di Microsoft Azure
(AZURE_ACTIVITY
) in Google Security Operations.
Configurare un account di archiviazione
Completa i seguenti passaggi per configurare un account di archiviazione:
- Nella console Azure, cerca Storage accounts.
- Fai clic su Crea.
- Seleziona l'abbonamento, il gruppo di risorse, la regione, il rendimento (consigliamo Standard) e la ridondanza (consigliamo GRS o LRS) necessari per l'account, quindi inserisci un nome per il nuovo account di archiviazione.
- Fai clic su Rivedi e crea, controlla la panoramica dell'account e fai clic su Crea.
- Nella pagina Panoramica dell'account di archiviazione, seleziona Chiavi di accesso nel menu di navigazione a sinistra della finestra.
- Fai clic su Mostra chiavi e prendi nota della chiave condivisa per l'account di archiviazione.
- Seleziona Endpoint nel menu di navigazione a sinistra della finestra.
- Prendi nota dell'endpoint del servizio Blob. (https://<storageaccountname>.blob.core.windows.net/)
Configurare la registrazione delle attività di Azure
Completa i seguenti passaggi per configurare la registrazione dell'attività di Azure:
- Nella console Azure, cerca Monitor.
- Fai clic sul link Log attività nel menu di navigazione a sinistra della pagina.
- Fai clic su Esporta log attività nella parte superiore della finestra.
- Fai clic su Aggiungi impostazione di diagnostica.
- Seleziona tutte le categorie che vuoi esportare in Google SecOps.
- In Dettagli destinazione, seleziona Archivia in un account di archiviazione.
- Seleziona l'account di archiviazione e l'abbonamento che hai creato nel passaggio precedente.
- Fai clic su Salva.
Esistono due diversi punti di accesso per configurare i feed nella piattaforma Google SecOps:
- Impostazioni SIEM > Feed
- Hub dei contenuti > Pacchetti di contenuti
Configura i feed da Impostazioni SIEM > Feed
Per configurare un feed:
- Vai a Impostazioni SIEM > Feed.
- Fai clic su Aggiungi nuovo feed.
- Nella pagina successiva, fai clic su Configura un singolo feed.
- Inserisci un nome univoco per il nome del campo.
- Seleziona Microsoft Azure Blob Storage come Tipo di origine.
- Seleziona Attività di Microsoft Azure come Tipo di log.
- Fai clic su Avanti.
- Configura i seguenti parametri di input obbligatori:
- URI Azure: inserisci il valore dell'endpoint Blob Service che hai registrato in precedenza, con il suffisso insights-activity-logs (ad esempio, https://acme-azure-chronicle.blob.core.windows.net/insights-activity-logs)
- L'URI è un: seleziona Directory che include sottodirectory.
- Opzione di eliminazione dell'origine: specifica se eliminare file e directory dopo il trasferimento.
- Chiave condivisa: inserisci il valore della chiave condivisa acquisito in precedenza.
- Fai clic su Avanti e poi su Invia.
Configurare i feed dall'hub dei contenuti
Specifica i valori per i seguenti campi:
- URI Azure: inserisci il valore dell'endpoint Blob Service che hai registrato in precedenza, con il suffisso insights-activity-logs (ad esempio, https://acme-azure-chronicle.blob.core.windows.net/insights-activity-logs)
- L'URI è un: seleziona Directory che include sottodirectory.
- Opzione di eliminazione dell'origine: specifica se eliminare file e directory dopo il trasferimento.
- Chiave condivisa: inserisci il valore della chiave condivisa acquisito in precedenza.
Opzioni avanzate
- Nome feed: un valore precompilato che identifica il feed.
- Tipo di origine: metodo utilizzato per raccogliere i log in Google SecOps.
- Spazio dei nomi dell'asset: lo spazio dei nomi associato al feed.
- Etichette di importazione: etichette applicate a tutti gli eventi di questo feed.
Riferimento alla mappatura dei campi
Questo codice del parser inizializza innanzitutto un gran numero di campi con stringhe vuote, quindi esegue una serie di manipolazioni di stringhe e operazioni di analisi JSON per estrarre le informazioni pertinenti dal messaggio Log delle attività di Azure. Infine, mappa i dati estratti nei campi Unified Data Model (UDM), classificando il tipo di evento e arricchendolo con dettagli aggiuntivi come gravità, informazioni sul principal e dati di rete.
Tabella di mappatura UDM
Campo log | Mappatura UDM | Logic |
---|---|---|
categoria | read_only_udm.security_result.category_details |
Mappato direttamente dal campo "category" nel log non elaborato. |
callerIpAddress | read_only_udm.principal.asset.ip , read_only_udm.principal.ip |
Mappato direttamente dal campo "callerIpAddress" nel log non elaborato. |
correlationId | read_only_udm.security_result.detection_fields.correlationId |
Mappato direttamente dal campo "correlationId" nel log non elaborato. |
data.callerIpAddress | read_only_udm.principal.asset.ip , read_only_udm.principal.ip |
Mappato direttamente dal campo "callerIpAddress" all'interno dell'oggetto "data" nel log non elaborato. |
data.correlationId | read_only_udm.security_result.detection_fields.correlationId |
Mappato direttamente dal campo "correlationId" all'interno dell'oggetto "data" nel log non elaborato. |
data.DeploymentUnit | read_only_udm.target.resource.name |
Mappato direttamente dal campo "DeploymentUnit" all'interno dell'oggetto "data" nel log non elaborato. |
data.details | read_only_udm.metadata.description |
Mappato direttamente dal campo "details" all'interno dell'oggetto "data" nel log non elaborato, solo se il campo "details" non è "Unknown". |
data.entity | read_only_udm.additional.fields.entity |
Mappato direttamente dal campo "entity" all'interno dell'oggetto "data" nel log non elaborato. |
data.EventName | read_only_udm.metadata.product_event_type |
Mappato direttamente dal campo "EventName" all'interno dell'oggetto "data" nel log non elaborato. |
data.hierarchy | read_only_udm.additional.fields.hierarchy |
Mappato direttamente dal campo "hierarchy" all'interno dell'oggetto "data" nel log non elaborato. |
data.identity.authorization.action | read_only_udm.security_result.detection_fields.action |
Mappato direttamente dal campo "action" all'interno dell'oggetto "authorization" dell'oggetto "identity" nel log non elaborato. |
data.identity.authorization.evidence.principalId | read_only_udm.principal.user.product_object_id , read_only_udm.principal.resource.product_object_id , read_only_udm.principal.group.product_object_id |
Mappato direttamente dal campo "principalId" all'interno dell'oggetto "evidence" dell'oggetto "authorization" dell'oggetto "identity" nel log non elaborato. Il campo UDM specifico a cui viene mappato dipende dal valore del campo "principalType". Se "principalType" è "User" o "ServicePrincipal", viene mappato a principal.user.product_object_id . Se "principalType" è "Group", viene mappato a principal.group.product_object_id . Se "principalType" è "ServicePrincipal", viene mappato a principal.resource.product_object_id . |
data.identity.authorization.evidence.principalType | read_only_udm.principal.resource.resource_subtype |
Mappato direttamente dal campo "principalType" all'interno dell'oggetto "evidence" dell'oggetto "authorization" dell'oggetto "identity" nel log non elaborato. |
data.identity.authorization.evidence.role | read_only_udm.principal.user.role_name |
Mappato direttamente dal campo "role" all'interno dell'oggetto "evidence" dell'oggetto "authorization" dell'oggetto "identity" nel log non elaborato. |
data.identity.authorization.evidence.roleAssignmentId | read_only_udm.principal.resource.attribute.labels.roleAssignmentId |
Mappato direttamente dal campo "roleAssignmentId" all'interno dell'oggetto "evidence" dell'oggetto "authorization" dell'oggetto "identity" nel log non elaborato. |
data.identity.authorization.evidence.roleAssignmentScope | read_only_udm.principal.resource.attribute.labels.roleAssignmentScope |
Mappato direttamente dal campo "roleAssignmentScope" all'interno dell'oggetto "evidence" dell'oggetto "authorization" dell'oggetto "identity" nel log non elaborato. |
data.identity.authorization.evidence.roleDefinitionId | read_only_udm.principal.resource.attribute.labels.roleDefinitionId |
Mappato direttamente dal campo "roleDefinitionId" all'interno dell'oggetto "evidence" dell'oggetto "authorization" dell'oggetto "identity" nel log non elaborato. |
data.identity.authorization.scope | read_only_udm.security_result.detection_fields.scope |
Mappato direttamente dal campo "scope" all'interno dell'oggetto "authorization" dell'oggetto "identity" nel log non elaborato. |
data.identity.claims.aio | read_only_udm.security_result.detection_fields.aio |
Mappato direttamente dal campo "aio" all'interno dell'oggetto "claims" dell'oggetto "identity" nel log non elaborato. |
data.identity.claims.appid | read_only_udm.security_result.detection_fields.appid |
Mappato direttamente dal campo "appid" all'interno dell'oggetto "claims" dell'oggetto "identity" nel log non elaborato. |
data.identity.claims.appidacr | read_only_udm.security_result.detection_fields.appidacr |
Mappato direttamente dal campo "appidacr" all'interno dell'oggetto "claims" dell'oggetto "identity" nel log non elaborato. |
data.identity.claims.aud | read_only_udm.security_result.detection_fields.aud |
Mappato direttamente dal campo "aud" all'interno dell'oggetto "claims" dell'oggetto "identity" nel log non elaborato. |
data.identity.claims.exp | read_only_udm.security_result.detection_fields.exp |
Mappato direttamente dal campo "exp" all'interno dell'oggetto "claims" dell'oggetto "identity" nel log non elaborato. |
data.identity.claims.http://schemas.microsoft.com/identity/claims/identityprovider |
read_only_udm.security_result.detection_fields.identityprovider |
Mappato direttamente dal campo "http://schemas.microsoft.com/identity/claims/identityprovider" all'interno dell'oggetto "claims" dell'oggetto "identity" nel log non elaborato. |
data.identity.claims.http://schemas.microsoft.com/identity/claims/objectidentifier |
read_only_udm.security_result.detection_fields.objectidentifier |
Mappato direttamente dal campo "http://schemas.microsoft.com/identity/claims/objectidentifier" all'interno dell'oggetto "claims" dell'oggetto "identity" nel log non elaborato. |
data.identity.claims.http://schemas.microsoft.com/identity/claims/tenantid |
read_only_udm.security_result.detection_fields.tenantid |
Mappato direttamente dal campo "http://schemas.microsoft.com/identity/claims/tenantid" all'interno dell'oggetto "claims" dell'oggetto "identity" nel log non elaborato. |
data.identity.claims.http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier |
read_only_udm.security_result.detection_fields.nameidentifier |
Mappato direttamente dal campo "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier" all'interno dell'oggetto "claims" dell'oggetto "identity" nel log non elaborato. |
data.identity.claims.iat | read_only_udm.security_result.detection_fields.iat |
Mappato direttamente dal campo "iat" all'interno dell'oggetto "claims" dell'oggetto "identity" nel log non elaborato. |
data.identity.claims.iss | read_only_udm.security_result.detection_fields.iss |
Mappato direttamente dal campo "iss" all'interno dell'oggetto "claims" dell'oggetto "identity" nel log non elaborato. |
data.identity.claims.nbf | read_only_udm.security_result.detection_fields.nbf |
Mappato direttamente dal campo "nbf" all'interno dell'oggetto "claims" dell'oggetto "identity" nel log non elaborato. |
data.identity.claims.rh | read_only_udm.security_result.detection_fields.rh |
Mappato direttamente dal campo "rh" all'interno dell'oggetto "claims" dell'oggetto "identity" nel log non elaborato. |
data.identity.claims.uti | read_only_udm.security_result.detection_fields.uti |
Mappato direttamente dal campo "uti" all'interno dell'oggetto "claims" dell'oggetto "identity" nel log non elaborato. |
data.identity.claims.ver | read_only_udm.security_result.detection_fields.ver |
Mappato direttamente dal campo "ver" all'interno dell'oggetto "claims" dell'oggetto "identity" nel log non elaborato. |
data.identity.claims.xms_tcdt | read_only_udm.security_result.detection_fields.xms_tcdt |
Mappato direttamente dal campo "xms_tcdt" all'interno dell'oggetto "claims" dell'oggetto "identity" nel log non elaborato. |
data.identity.UserName | read_only_udm.principal.user.user_display_name |
Mappato direttamente dal campo "UserName" all'interno dell'oggetto "identity" nel log non elaborato. |
data.level | read_only_udm.security_result.severity , read_only_udm.security_result.severity_details |
Mappato direttamente dal campo "level" all'interno dell'oggetto "data" nel log non elaborato. Il campo "livello" viene utilizzato anche per determinare il valore del campo severity . Se "level" è "Information" o "Informational", severity è impostato su "INFORMATIONAL". Se "level" è "Warning", severity è impostato su "MEDIUM". Se "level" è "Error", severity è impostato su "ERROR". Se "level" è "Critical", severity è impostato su "CRITICAL". |
data.location | read_only_udm.target.location.name |
Mappato direttamente dal campo "location" all'interno dell'oggetto "data" nel log non elaborato. |
data.operationName | read_only_udm.metadata.product_event_type |
Mappato direttamente dal campo "operationName" all'interno dell'oggetto "data" nel log non elaborato. |
data.properties.EventChannel | read_only_udm.additional.fields.properties EventChannel |
Mappato direttamente dal campo "EventChannel" all'interno dell'oggetto "properties" dell'oggetto "data" nel log non elaborato. |
data.properties.EventSource | read_only_udm.additional.fields.properties EventSource |
Mappato direttamente dal campo "EventSource" all'interno dell'oggetto "properties" dell'oggetto "data" nel log non elaborato. |
data.properties.EventId | read_only_udm.metadata.product_log_id |
Mappato direttamente dal campo "EventId" all'interno dell'oggetto "properties" dell'oggetto "data" nel log non elaborato. |
data.properties.eventProperties.cause | read_only_udm.security_result.detection_fields.cause |
Mappato direttamente dal campo "cause" all'interno dell'oggetto "eventProperties" dell'oggetto "properties" dell'oggetto "data" nel log non elaborato. |
data.properties.eventProperties.clientIPAddress | read_only_udm.principal.asset.ip , read_only_udm.principal.ip |
Mappato direttamente dal campo "clientIPAddress" all'interno dell'oggetto "eventProperties" dell'oggetto "properties" dell'oggetto "data" nel log non elaborato. |
data.properties.eventProperties.compromisedHost | read_only_udm.principal.asset.hostname , read_only_udm.principal.hostname |
Mappato direttamente dal campo "compromisedHost" all'interno dell'oggetto "eventProperties" dell'oggetto "properties" dell'oggetto "data" nel log non elaborato. |
data.properties.eventProperties.currentHealthStatus | read_only_udm.security_result.detection_fields.currentHealthStatus |
Mappato direttamente dal campo "currentHealthStatus" all'interno dell'oggetto "eventProperties" dell'oggetto "properties" dell'oggetto "data" nel log non elaborato. |
data.properties.eventProperties.previousHealthStatus | read_only_udm.security_result.detection_fields.previousHealthStatus |
Mappato direttamente dal campo "previousHealthStatus" all'interno dell'oggetto "eventProperties" dell'oggetto "properties" dell'oggetto "data" nel log non elaborato. |
data.properties.eventProperties.type | read_only_udm.security_result.detection_fields.type |
Mappato direttamente dal campo "type" all'interno dell'oggetto "eventProperties" dell'oggetto "properties" dell'oggetto "data" nel log non elaborato. |
data.properties.eventProperties.User | read_only_udm.principal.user.userid |
Mappato direttamente dal campo "User" all'interno dell'oggetto "eventProperties" dell'oggetto "properties" dell'oggetto "data" nel log non elaborato. |
data.properties.eventProperties.userName | read_only_udm.principal.user.user_display_name |
Mappato direttamente dal campo "userName" all'interno dell'oggetto "eventProperties" dell'oggetto "properties" dell'oggetto "data" nel log non elaborato, dopo aver rimosso il prefisso "SECURE\". |
data.properties.ipAddress | read_only_udm.principal.asset.ip , read_only_udm.principal.ip |
Mappato direttamente dal campo "ipAddress" all'interno dell'oggetto "properties" dell'oggetto "data" nel log non elaborato. |
data.properties.legacyChannels | read_only_udm.security_result.detection_fields.legacyChannels |
Mappato direttamente dal campo "legacyChannels" all'interno dell'oggetto "properties" dell'oggetto "data" nel log non elaborato. |
data.properties.legacyEventDataId | read_only_udm.security_result.detection_fields.legacyEventDataId |
Mappato direttamente dal campo "legacyEventDataId" all'interno dell'oggetto "properties" dell'oggetto "data" nel log non elaborato. |
data.properties.legacyResourceId | read_only_udm.security_result.detection_fields.legacyResourceId |
Mappato direttamente dal campo "legacyResourceId" all'interno dell'oggetto "properties" dell'oggetto "data" nel log non elaborato. |
data.properties.legacyResourceGroup | read_only_udm.security_result.detection_fields.legacyResourceGroup |
Mappato direttamente dal campo "legacyResourceGroup" all'interno dell'oggetto "properties" dell'oggetto "data" nel log non elaborato. |
data.properties.legacyResourceProviderName | read_only_udm.security_result.detection_fields.legacyResourceProviderName |
Mappato direttamente dal campo "legacyResourceProviderName" all'interno dell'oggetto "properties" dell'oggetto "data" nel log non elaborato. |
data.properties.legacyResourceType | read_only_udm.security_result.detection_fields.legacyResourceType |
Mappato direttamente dal campo "legacyResourceType" all'interno dell'oggetto "properties" dell'oggetto "data" nel log non elaborato. |
data.properties.legacySubscriptionId | read_only_udm.security_result.detection_fields.legacySubscriptionId |
Mappato direttamente dal campo "legacySubscriptionId" all'interno dell'oggetto "properties" dell'oggetto "data" nel log non elaborato. |
data.properties.operationId | read_only_udm.security_result.detection_fields.operationId |
Mappato direttamente dal campo "operationId" all'interno dell'oggetto "properties" dell'oggetto "data" nel log non elaborato. |
data.properties.result | read_only_udm.security_result.action_details |
Mappato direttamente dal campo "result" all'interno dell'oggetto "properties" dell'oggetto "data" nel log non elaborato. |
data.properties.statusCode | read_only_udm.network.http.response_code |
Mappato direttamente dal campo "statusCode" all'interno dell'oggetto "properties" dell'oggetto "data" nel log non elaborato. |
data.properties.suspiciousCommandLine | read_only_udm.target.process.command_line |
Mappato direttamente dal campo "suspiciousCommandLine" all'interno dell'oggetto "properties" dell'oggetto "data" nel log non elaborato. |
data.properties.suspiciousProcess | read_only_udm.target.process.file.full_path |
Mappato direttamente dal campo "suspiciousProcess" all'interno dell'oggetto "properties" dell'oggetto "data" nel log non elaborato. |
data.properties.suspiciousProcessId | read_only_udm.target.process.pid |
Mappato direttamente dal campo "suspiciousProcessId" all'interno dell'oggetto "properties" dell'oggetto "data" nel log non elaborato. |
data.properties.tlsVersion | read_only_udm.network.tls.version |
Mappato direttamente dal campo "tlsVersion" all'interno dell'oggetto "properties" dell'oggetto "data" nel log non elaborato. |
data.properties.userAgent | read_only_udm.network.http.user_agent , read_only_udm.network.http.parsed_user_agent |
Mappato direttamente dal campo "userAgent" all'interno dell'oggetto "properties" dell'oggetto "data" nel log non elaborato. |
data.properties.userAgentHeader | read_only_udm.network.http.user_agent , read_only_udm.network.http.parsed_user_agent |
Mappato direttamente dal campo "userAgentHeader" all'interno dell'oggetto "properties" dell'oggetto "data" nel log non elaborato. |
data.properties.userId | read_only_udm.target.user.product_object_id |
Mappato direttamente dal campo "userId" all'interno dell'oggetto "properties" dell'oggetto "data" nel log non elaborato. |
data.ReleaseVersion | read_only_udm.metadata.product_version |
Mappato direttamente dal campo "ReleaseVersion" all'interno dell'oggetto "data" nel log non elaborato. |
data.resourceId | read_only_udm.target.resource.name |
Mappato direttamente dal campo "resourceId" all'interno dell'oggetto "data" nel log non elaborato. |
data.resourceType | read_only_udm.additional.fields.resourceType |
Mappato direttamente dal campo "resourceType" all'interno dell'oggetto "data" nel log non elaborato. |
data.resultDescription | read_only_udm.metadata.description |
Mappato direttamente dal campo "resultDescription" all'interno dell'oggetto "data" nel log non elaborato. |
data.resultSignature | read_only_udm.additional.fields.resultSignature |
Mappato direttamente dal campo "resultSignature" all'interno dell'oggetto "data" nel log non elaborato. |
data.resultType | read_only_udm.security_result.action_details , read_only_udm.additional.fields.resultType |
Mappato direttamente dal campo "resultType" all'interno dell'oggetto "data" nel log non elaborato. |
data.RoleLocation | read_only_udm.target.location.name |
Mappato direttamente dal campo "RoleLocation" all'interno dell'oggetto "data" nel log non elaborato. |
data.time | read_only_udm.metadata.event_timestamp |
Il campo "time" all'interno dell'oggetto "data" nel log non elaborato viene analizzato per estrarre il timestamp, che viene poi mappato a event_timestamp . |
data.uri | read_only_udm.network.http.referral_url |
Mappato direttamente dal campo "uri" all'interno dell'oggetto "data" nel log non elaborato. |
read_only_udm.extensions.auth.mechanism |
INTERACTIVE |
Impostato su "INTERACTIVE" se il campo "isInteractive" all'interno dell'oggetto "properties" dell'oggetto "data" nel log non elaborato è "true". In caso contrario, viene impostato su "MECHANISM_OTHER". |
read_only_udm.extensions.auth.type |
MACHINE |
Imposta su "MACHINE" se il campo "category" nel log non elaborato è "NonInteractiveUserSignInLogs", "ManagedIdentitySignInLogs" o "ServicePrincipalSignInLogs". |
read_only_udm.metadata.log_type |
AZURE_ACTIVITY |
Codificato in modo permanente su "AZURE_ACTIVITY". |
read_only_udm.metadata.vendor_name |
Microsoft |
Codificato come "Microsoft". |
read_only_udm.principal.platform |
WINDOWS , MAC , LINUX , ANDROID |
Determinato in base al valore del campo "properties.test.deviceDetail.operatingSystem". Se contiene "Win", platform è impostato su "WINDOWS". Se contiene "Mac", platform è impostato su "MAC". Se contiene "Lin", platform è impostato su "LINUX". Se contiene "Android", platform è impostato su "ANDROID". |
read_only_udm.principal.resource.type |
SERVICE_ACCOUNT , UNSPECIFIED |
Determinato in base al valore del campo "identity.authorization.evidence.principalType". Se è "ServicePrincipal", type è impostato su "SERVICE_ACCOUNT". In caso contrario, è impostato su "UNSPECIFIED". |
read_only_udm.security_result.action |
ALLOW , BLOCK , UNKNOWN_ACTION |
Determinato in base ai valori dei campi "resultType", "status_errorcode" e "statusText". Se "resultType" è "Success", "success", "Succeeded", "Started", "Resolved", "Active", "Updated", "Start", "Accept", "Accepted", "0" o se "status_errorcode" è 0 o se "statusText" è "Success", action è impostato su "ALLOW". Se "resultType" è "Failure", "Failed" o se "status_errorcode" non è vuoto o se "resultType" non è vuoto, action è impostato su "BLOCK". In caso contrario, è impostato su "UNKNOWN_ACTION". |
read_only_udm.target.cloud.environment |
MICROSOFT_AZURE |
Codificato come "MICROSOFT_AZURE". |