Importare i log delle attività di Microsoft Azure
Questo documento descrive i passaggi necessari per importare i log attività di Microsoft Azure
(AZURE_ACTIVITY
) in Google Security Operations.
Configura un account di archiviazione
Completa i seguenti passaggi per configurare un account di archiviazione:
- Nella console Azure, cerca Storage accounts (Account di archiviazione).
- Fai clic su Crea.
- Seleziona l'abbonamento, il gruppo di risorse, la regione, il rendimento (consigliato Standard) e la ridondanza (consigliata 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 riquadro 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 abbonamento e di archiviazione che hai creato nel passaggio precedente.
- Fai clic su Salva.
Configurare i feed
Esistono due diversi punti di accesso per configurare i feed nella piattaforma Google SecOps:
- Impostazioni SIEM > Feed > Aggiungi nuovo feed
- Hub dei contenuti > Pacchetti di contenuti > Inizia
Come configurare il feed attività di Microsoft Azure
- Fai clic sul pacchetto Azure Platform.
- Individua il feed Attività di Microsoft Azure.
Specifica i valori per i seguenti campi:
- Tipo di origine: Microsoft Azure Blob Storage V2
- 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)
- Opzione di eliminazione dell'origine: specifica se eliminare file e directory dopo il trasferimento.
- Età massima del file: include i file modificati nell'ultimo numero di giorni. Il valore predefinito è 180 giorni.
- Chiave condivisa: inserisci il valore della chiave condivisa acquisito in precedenza.
Opzioni avanzate
- Nome feed: un valore precompilato che identifica il feed.
- Spazio dei nomi dell'asset: lo spazio dei nomi associato al feed.
- Etichette di importazione: etichette applicate a tutti gli eventi di questo feed.
Fai clic su Crea feed.
Per ulteriori informazioni sulla configurazione di più feed per diversi tipi di log all'interno di questa famiglia di prodotti, consulta Configurare i feed per prodotto.
Riferimento alla mappatura dei campi
Questo codice del parser inizializza innanzitutto un numero elevato 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, è 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" è uno dei seguenti valori: "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, viene impostato su "UNKNOWN_ACTION". |
read_only_udm.target.cloud.environment |
MICROSOFT_AZURE |
Codificato come "MICROSOFT_AZURE". |