Recolha registos do Microsoft Azure AD
Este documento descreve como pode recolher registos do Microsoft Azure Active Directory (AD) configurando um feed do Google Security Operations.
O Azure Active Directory (AZURE_AD
) chama-se agora Microsoft Entra ID. Os registos de auditoria do Azure AD
(AZURE_AD_AUDIT
) são agora registos de auditoria do Microsoft Entra ID.
Para mais informações, consulte o artigo Ingestão de dados no Google Security Operations.
Uma etiqueta de carregamento identifica o analisador que normaliza os dados de registo não processados para o formato UDM estruturado.
Antes de começar
Certifique-se de que cumpre os seguintes pré-requisitos:
- Uma subscrição do Azure na qual pode iniciar sessão
- Uma função de administrador global ou administrador do Azure AD
- Um Azure AD (inquilino) no Azure
Como configurar o Azure AD
- Inicie sessão no portal do Azure.
- Aceda a Página inicial > Registo de apps, selecione uma aplicação registada ou registe uma aplicação se ainda não tiver criado uma.
- Para registar uma aplicação, na secção Registo de apps, clique em Novo registo.
- No campo Nome, indique o nome a apresentar da sua aplicação.
- Na secção Tipos de contas suportados, selecione a opção necessária para especificar quem pode usar a aplicação ou aceder à API.
- Clique em Registar.
- Aceda à página Vista geral e copie o ID da aplicação (cliente) e o ID do diretório (inquilino), que são necessários para configurar o feed do Google Security Operations.
- Clique em Autorizações da API.
- Clique em Adicionar uma autorização e, de seguida, selecione Microsoft Graph no novo painel.
- Clique em Autorizações da aplicação.
- Selecione as autorizações AuditLog.Read.All, Directory.Read.All e SecurityEvents.Read.All. Certifique-se de que as autorizações são Autorizações da aplicação e não Autorizações delegadas.
- Clique em Conceder consentimento de administrador para o diretório predefinido. As aplicações são autorizadas a chamar APIs quando lhes são concedidas autorizações por utilizadores ou administradores como parte do processo de consentimento.
- Aceda a Definições > Gerir.
- Clique em Certificados e secrets.
- Clique em Novo segredo do cliente. No campo Valor, é apresentado o segredo do cliente.
- Copie o valor do segredo do cliente. O valor é apresentado apenas no momento da criação e é necessário para o registo da app Azure e para configurar o feed do Google Security Operations.
Configure feeds
Existem dois pontos de entrada diferentes para configurar feeds na plataforma Google SecOps:
- Definições do SIEM > Feeds > Adicionar novo
- Content Hub > Pacotes de conteúdo > Começar
Como configurar o feed do Microsoft Entra ID (Azure AD)
- Clique no pacote Plataforma Azure.
- Localize o tipo de registo Azure AD.
Especifique valores para os seguintes campos:
- Tipo de origem: API de terceiros (recomendado)
- ID de cliente OAUTH: especifique o ID de cliente que obteve anteriormente.
- Segredo do cliente OAUTH: especifique o segredo do cliente que obteve anteriormente.
- ID do inquilino: especifique o ID do inquilino que obteve anteriormente.
- Caminho completo da API: URL do ponto final da API REST Microsoft Graph.
- Ponto final de autenticação da API: ponto final de autenticação do Microsoft Active Directory.
Opções avançadas
- Nome do feed: um valor pré-preenchido que identifica o feed.
- Espaço de nomes do recurso: espaço de nomes associado ao feed.
- Etiquetas de carregamento: etiquetas aplicadas a todos os eventos deste feed.
Clique em Criar feed.
Para mais informações sobre a configuração de vários feeds para diferentes tipos de registos nesta família de produtos, consulte o artigo Configure feeds por produto.
Para mais informações sobre os feeds do Google Security Operations, consulte a documentação dos feeds do Google Security Operations. Para obter informações sobre os requisitos de cada tipo de feed, consulte o artigo Configuração do feed por tipo.
Referência de mapeamento de campos
Este código do analisador transforma registos do Azure AD não processados no formato JSON num modelo de dados unificado (UDM). Primeiro, normaliza os dados removendo campos desnecessários e, em seguida, extrai informações relevantes, como detalhes do utilizador, datas/horas e especificidades do evento, mapeando-as para os campos da UDM correspondentes para uma representação e análise consistentes.
Tabela de mapeamento do UDM
Campo de registo | Mapeamento de UDM | Lógica |
---|---|---|
activityDateTime | read_only_udm.metadata.event_timestamp.seconds | O valor é extraído do campo activityDateTime e convertido em segundos desde epoch. |
activityDisplayName | read_only_udm.security_result.summary | O valor é mapeado diretamente a partir do campo activityDisplayName . |
additionalDetails.0.value | read_only_udm.network.http.user_agent | O valor é mapeado diretamente a partir do campo additionalDetails.0.value . |
additionalDetails.1.key | read_only_udm.target.resource.attribute.labels.key | O valor é mapeado diretamente a partir do campo additionalDetails.1.key . |
additionalDetails.1.value | read_only_udm.target.resource.attribute.labels.value | O valor é mapeado diretamente a partir do campo additionalDetails.1.value . |
am_category | read_only_udm.metadata.description | O valor é mapeado diretamente a partir do campo am_category . |
am_tenantId | read_only_udm.metadata.product_deployment_id | O valor é mapeado diretamente a partir do campo am_tenantId . |
appDisplayName | read_only_udm.target.application | O valor é mapeado diretamente a partir do campo appDisplayName . Se appDisplayName estiver vazio, o valor é retirado de resourceDisplayName . |
appId | read_only_udm.target.resource.attribute.labels.value | O valor é mapeado diretamente a partir do campo appId . |
appliedConditionalAccessPolicies.displayName | read_only_udm.about.user.user_display_name | O valor é mapeado diretamente a partir do campo appliedConditionalAccessPolicies.displayName . |
appliedConditionalAccessPolicies.enforcedGrantControls | read_only_udm.security_result.rule_labels.value | O valor é mapeado diretamente a partir do campo appliedConditionalAccessPolicies.enforcedGrantControls . |
appliedConditionalAccessPolicies.enforcedSessionControls | read_only_udm.security_result.rule_labels.value | O valor é mapeado diretamente a partir do campo appliedConditionalAccessPolicies.enforcedSessionControls . |
appliedConditionalAccessPolicies.id | read_only_udm.about.user.userid | O valor é mapeado diretamente a partir do campo appliedConditionalAccessPolicies.id . |
appliedConditionalAccessPolicies.result | read_only_udm.about.labels.value | O valor é mapeado diretamente a partir do campo appliedConditionalAccessPolicies.result . |
authenticationDetails.authenticationMethod | read_only_udm.security_result.detection_fields.value | O valor é mapeado diretamente a partir do campo authenticationDetails.authenticationMethod . |
authenticationDetails.authenticationMethodDetail | read_only_udm.security_result.detection_fields.value | O valor é mapeado diretamente a partir do campo authenticationDetails.authenticationMethodDetail . |
authenticationDetails.authenticationStepDateTime | read_only_udm.security_result.detection_fields.value | O valor é mapeado diretamente a partir do campo authenticationDetails.authenticationStepDateTime . |
authenticationDetails.authenticationStepRequirement | read_only_udm.security_result.detection_fields.value | O valor é mapeado diretamente a partir do campo authenticationDetails.authenticationStepRequirement . |
authenticationDetails.authenticationStepResultDetail | read_only_udm.security_result.detection_fields.value | O valor é mapeado diretamente a partir do campo authenticationDetails.authenticationStepResultDetail . |
authenticationProcessingDetails.key | read_only_udm.additional.fields.key | O valor é mapeado diretamente a partir do campo authenticationProcessingDetails.key , com o prefixo "authenticationProcessingDetails - ". |
authenticationProcessingDetails.value | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo authenticationProcessingDetails.value . |
callerIpAddress | read_only_udm.principal.ip | O valor é mapeado diretamente a partir do campo callerIpAddress . |
callerIpAddress | read_only_udm.principal.asset.ip | O valor é mapeado diretamente a partir do campo callerIpAddress . |
categoria | read_only_udm.metadata.description | O valor é mapeado diretamente a partir do campo category . |
clientAppUsed | read_only_udm.principal.application | O valor é mapeado diretamente a partir do campo clientAppUsed . |
conditionalAccessStatus | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo conditionalAccessStatus . |
correlationId | read_only_udm.network.session_id | O valor é mapeado diretamente a partir do campo correlationId . |
correlationId | read_only_udm.security_result.detection_fields.value | O valor é mapeado diretamente a partir do campo correlationId . |
createdDateTime | read_only_udm.metadata.event_timestamp.seconds | O valor é extraído do campo createdDateTime e convertido em segundos desde epoch. |
deviceDetail.browser | read_only_udm.network.http.user_agent | O valor é mapeado diretamente a partir do campo deviceDetail.browser . |
deviceDetail.deviceId | read_only_udm.principal.asset.asset_id | O valor é mapeado diretamente a partir do campo deviceDetail.deviceId , com o prefixo "ID do dispositivo:". |
deviceDetail.deviceId | read_only_udm.principal.asset_id | O valor é mapeado diretamente a partir do campo deviceDetail.deviceId , com o prefixo "ID do dispositivo:". |
deviceDetail.displayName | read_only_udm.principal.asset.hostname | O valor é mapeado diretamente a partir do campo deviceDetail.displayName . |
deviceDetail.isCompliant | read_only_udm.principal.asset.attribute.labels.value | O valor é mapeado diretamente a partir do campo deviceDetail.isCompliant . |
deviceDetail.isManaged | read_only_udm.principal.asset.attribute.labels.value | O valor é mapeado diretamente a partir do campo deviceDetail.isManaged . |
deviceDetail.operatingSystem | read_only_udm.principal.platform_version | O valor é mapeado diretamente a partir do campo deviceDetail.operatingSystem . |
deviceDetail.trustType | read_only_udm.principal.asset.attribute.labels.value | O valor é mapeado diretamente a partir do campo deviceDetail.trustType . |
durationMs | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo durationMs . |
errorCode | read_only_udm.security_result.rule_id | O valor é mapeado diretamente a partir do campo errorCode . |
identidade | read_only_udm.target.user.user_display_name | O valor é mapeado diretamente a partir do campo identity se for diferente de userId e não corresponder a um padrão de endereço de email. |
initiatedBy.user.displayName | read_only_udm.principal.user.user_display_name | O valor é mapeado diretamente a partir do campo initiatedBy.user.displayName . |
initiatedBy.user.id | read_only_udm.principal.user.userid | O valor é mapeado diretamente a partir do campo initiatedBy.user.id . |
initiatedBy.user.ipAddress | read_only_udm.principal.ip | O valor é mapeado diretamente a partir do campo initiatedBy.user.ipAddress . |
initiatedBy.user.ipAddress | read_only_udm.principal.asset.ip | O valor é mapeado diretamente a partir do campo initiatedBy.user.ipAddress . |
initiatedBy.user.userPrincipalName | read_only_udm.principal.user.email_addresses | O valor é mapeado diretamente a partir do campo initiatedBy.user.userPrincipalName se corresponder a um padrão de endereço de email. |
ipAddress | read_only_udm.principal.ip | O valor é extraído do campo ipAddress através de um padrão grok para extrair o endereço IP. |
ipAddress | read_only_udm.principal.asset.ip | O valor é extraído do campo ipAddress através de um padrão grok para extrair o endereço IP. |
isInteractive | read_only_udm.extensions.auth.mechanism | O valor é mapeado para "INTERACTIVE" se isInteractive for "true". Caso contrário, é mapeado para "MECHANISM_OTHER". |
isInteractive | read_only_udm.security_result.detection_fields.value | O valor é mapeado diretamente a partir do campo isInteractive . |
nível | read_only_udm.security_result.severity | O valor é mapeado a partir do campo level com base na seguinte lógica: * "Information", "Informational", "0" e "4" são mapeados para "INFORMATIONAL". * "Warning", "1" e "3" estão mapeados para "MEDIUM". * "Error" e "2" são mapeados para "ERROR". * "Crítico", "CRÍTICO" e "crítico" são mapeados para "CRÍTICO". |
nível | read_only_udm.security_result.severity_details | O valor é mapeado diretamente a partir do campo level . |
location.city | read_only_udm.principal.location.city | O valor é mapeado diretamente a partir do campo location.city . |
location.countryOrRegion | read_only_udm.principal.location.country_or_region | O valor é mapeado diretamente a partir do campo location.countryOrRegion . |
location.geoCoordinates.latitude | read_only_udm.principal.location.region_coordinates.latitude | O valor é mapeado diretamente a partir do campo location.geoCoordinates.latitude e convertido num número de vírgula flutuante. |
location.geoCoordinates.latitude | read_only_udm.principal.location.region_latitude | O valor é mapeado diretamente a partir do campo location.geoCoordinates.latitude e convertido num número de vírgula flutuante. |
location.geoCoordinates.longitude | read_only_udm.principal.location.region_coordinates.longitude | O valor é mapeado diretamente a partir do campo location.geoCoordinates.longitude e convertido num número de vírgula flutuante. |
location.geoCoordinates.longitude | read_only_udm.principal.location.region_longitude | O valor é mapeado diretamente a partir do campo location.geoCoordinates.longitude e convertido num número de vírgula flutuante. |
location.state | read_only_udm.principal.location.state | O valor é mapeado diretamente a partir do campo location.state . |
networkLocationDetails.networkNames | read_only_udm.additional.fields.value.string_value | O valor é gerado concatenando todos os valores da matriz networkLocationDetails.networkNames , separados por vírgulas. |
networkLocationDetails.networkType | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo networkLocationDetails.networkType . |
networkLocationDetails.networkType | read_only_udm.security_result.detection_fields.value | O valor é mapeado diretamente a partir do campo networkLocationDetails.networkType . |
operationName | read_only_udm.metadata.event_type | O valor é mapeado para "USER_LOGIN" se operationName for "Atividade de início de sessão", "USER_CHANGE_PERMISSIONS" se operationName for "Adicionar membro ao grupo" e "USER_RESOURCE_UPDATE_PERMISSIONS" se operationName for "Adicionar atribuição de função da app à entidade de serviço". Caso contrário, o valor é determinado com base na presença de outros campos: * "USER_LOGIN" se has_target_user for "true". * "USER_UNCATEGORIZED" se has_principal_user for "true". * "STATUS_UPDATE" se has_principal for "true". * "GENERIC_EVENT" caso contrário. |
operationType | read_only_udm.security_result.action_details | O valor é mapeado diretamente a partir do campo operationType . |
properties.activity | read_only_udm.security_result.summary | O valor é mapeado diretamente a partir do campo properties.activity . |
properties.activityDateTime | read_only_udm.metadata.event_timestamp.seconds | O valor é extraído do campo properties.activityDateTime e convertido em segundos desde epoch. |
properties.additionalInfo | read_only_udm.network.http.user_agent | O valor é extraído do campo properties.additionalInfo ao analisar a string JSON e extrair o valor correspondente à chave "userAgent". |
properties.additionalInfo | read_only_udm.target.url | O valor é extraído do campo properties.additionalInfo através da análise da string JSON e da extração do valor correspondente à chave "alertUrl". |
properties.appId | read_only_udm.target.resource.attribute.labels.value | O valor é mapeado diretamente a partir do campo properties.appId . |
properties.appDisplayName | read_only_udm.target.application | O valor é mapeado diretamente a partir do campo properties.appDisplayName . |
properties.appliedConditionalAccessPolicies.displayName | read_only_udm.security_result.rule_name | O valor é mapeado diretamente a partir do campo properties.appliedConditionalAccessPolicies.displayName . |
properties.appliedConditionalAccessPolicies.id | read_only_udm.security_result.rule_id | O valor é mapeado diretamente a partir do campo properties.appliedConditionalAccessPolicies.id . |
properties.appliedConditionalAccessPolicies.result | read_only_udm.security_result.detection_fields.value | O valor é mapeado diretamente a partir do campo properties.appliedConditionalAccessPolicies.result . |
properties.authenticationDetails.authenticationMethod | read_only_udm.security_result.detection_fields.value | O valor é mapeado diretamente a partir do campo properties.authenticationDetails.authenticationMethod . |
properties.authenticationDetails.authenticationMethodDetail | read_only_udm.security_result.detection_fields.value | O valor é mapeado diretamente a partir do campo properties.authenticationDetails.authenticationMethodDetail . |
properties.authenticationDetails.authenticationStepDateTime | read_only_udm.security_result.detection_fields.value | O valor é mapeado diretamente a partir do campo properties.authenticationDetails.authenticationStepDateTime . |
properties.authenticationDetails.authenticationStepRequirement | read_only_udm.security_result.detection_fields.value | O valor é mapeado diretamente a partir do campo properties.authenticationDetails.authenticationStepRequirement . |
properties.authenticationDetails.authenticationStepResultDetail | read_only_udm.security_result.detection_fields.value | O valor é mapeado diretamente a partir do campo properties.authenticationDetails.authenticationStepResultDetail . |
properties.authenticationProcessingDetails.key | read_only_udm.additional.fields.key | O valor é mapeado diretamente a partir do campo properties.authenticationProcessingDetails.key , com o prefixo "properties authenticationProcessingDetails - ". |
properties.authenticationProcessingDetails.value | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo properties.authenticationProcessingDetails.value . |
properties.authenticationRequirement | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo properties.authenticationRequirement . |
properties.authenticationRequirementPolicies.detail | read_only_udm.security_result.detection_fields.value | O valor é mapeado diretamente a partir do campo properties.authenticationRequirementPolicies.detail . |
properties.authenticationRequirementPolicies.requirementProvider | read_only_udm.security_result.detection_fields.value | O valor é mapeado diretamente a partir do campo properties.authenticationRequirementPolicies.requirementProvider . |
properties.clientAppUsed | read_only_udm.principal.application | O valor é mapeado diretamente a partir do campo properties.clientAppUsed . |
properties.conditionalAccessStatus | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo properties.conditionalAccessStatus . |
properties.createdDateTime | read_only_udm.metadata.event_timestamp.seconds | O valor é extraído do campo properties.createdDateTime e convertido em segundos desde epoch. |
properties.crossTenantAccessType | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo properties.crossTenantAccessType . |
properties.detectedDateTime | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo properties.detectedDateTime . |
properties.detectionTimingType | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo properties.detectionTimingType . |
properties.homeTenantId | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo properties.homeTenantId . |
properties.id | read_only_udm.metadata.product_log_id | O valor é mapeado diretamente a partir do campo properties.id . |
properties.initiatedBy.user.displayName | read_only_udm.principal.user.user_display_name | O valor é mapeado diretamente a partir do campo properties.initiatedBy.user.displayName . |
properties.initiatedBy.user.id | read_only_udm.principal.user.windows_sid | O valor é mapeado diretamente a partir do campo properties.initiatedBy.user.id . |
properties.initiatedBy.user.ipAddress | read_only_udm.principal.ip | O valor é mapeado diretamente a partir do campo properties.initiatedBy.user.ipAddress . |
properties.initiatedBy.user.ipAddress | read_only_udm.principal.asset.ip | O valor é mapeado diretamente a partir do campo properties.initiatedBy.user.ipAddress . |
properties.initiatedBy.user.userPrincipalName | read_only_udm.principal.user.userid | O valor é mapeado diretamente a partir do campo properties.initiatedBy.user.userPrincipalName se não corresponder a um padrão de endereço de email. |
properties.initiatedBy.user.userPrincipalName | read_only_udm.principal.user.email_addresses | O valor é mapeado diretamente a partir do campo properties.initiatedBy.user.userPrincipalName se corresponder a um padrão de endereço de email. |
properties.ipAddress | read_only_udm.principal.ip | O valor é extraído do campo properties.ipAddress através de um padrão grok para extrair o endereço IP. |
properties.ipAddress | read_only_udm.principal.asset.ip | O valor é extraído do campo properties.ipAddress através de um padrão grok para extrair o endereço IP. |
properties.isGuest | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo properties.isGuest . |
properties.isDeleted | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo properties.isDeleted . |
properties.isProcessing | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo properties.isProcessing . |
properties.lastUpdatedDateTime | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo properties.lastUpdatedDateTime . |
properties.location.city | read_only_udm.principal.location.city | O valor é mapeado diretamente a partir do campo properties.location.city . |
properties.location.countryOrRegion | read_only_udm.principal.location.country_or_region | O valor é mapeado diretamente a partir do campo properties.location.countryOrRegion . |
properties.location.geoCoordinates.latitude | read_only_udm.principal.location.region_coordinates.latitude | O valor é mapeado diretamente a partir do campo properties.location.geoCoordinates.latitude e convertido num número de vírgula flutuante. |
properties.location.geoCoordinates.latitude | read_only_udm.principal.location.region_latitude | O valor é mapeado diretamente a partir do campo properties.location.geoCoordinates.latitude e convertido num número de vírgula flutuante. |
properties.location.geoCoordinates.longitude | read_only_udm.principal.location.region_coordinates.longitude | O valor é mapeado diretamente a partir do campo properties.location.geoCoordinates.longitude e convertido num número de vírgula flutuante. |
properties.location.geoCoordinates.longitude | read_only_udm.principal.location.region_longitude | O valor é mapeado diretamente a partir do campo properties.location.geoCoordinates.longitude e convertido num número de vírgula flutuante. |
properties.location.state | read_only_udm.principal.location.state | O valor é mapeado diretamente a partir do campo properties.location.state . |
properties.networkLocationDetails.networkNames | read_only_udm.additional.fields.value.string_value | O valor é gerado concatenando todos os valores da matriz properties.networkLocationDetails.networkNames , separados por vírgulas. |
properties.networkLocationDetails.networkType | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo properties.networkLocationDetails.networkType . |
properties.networkLocationDetails.networkType | read_only_udm.security_result.detection_fields.value | O valor é mapeado diretamente a partir do campo properties.networkLocationDetails.networkType . |
properties.resourceServicePrincipalId | read_only_udm.target.resource.attribute.labels.value | O valor é mapeado diretamente a partir do campo properties.resourceServicePrincipalId . |
properties.riskDetail | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo properties.riskDetail . |
properties.riskEventType | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo properties.riskEventType . |
properties.riskLastUpdatedDateTime | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo properties.riskLastUpdatedDateTime . |
properties.riskLevel | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo properties.riskLevel . |
properties.riskLevelDuringSignIn | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo properties.riskLevelDuringSignIn . |
properties.riskState | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo properties.riskState . |
properties.riskType | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo properties.riskType . |
properties.source | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo properties.source . |
properties.targetResources.0.id | read_only_udm.target.user.product_object_id | O valor é mapeado diretamente a partir do campo properties.targetResources.0.id . |
properties.targetResources.modifiedProperties.0.newValue | read_only_udm.target.group.product_object_id | O valor é mapeado diretamente a partir do campo properties.targetResources.modifiedProperties.0.newValue . |
properties.tokenIssuerType | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo properties.tokenIssuerType . |
properties.userAgent | read_only_udm.network.http.parsed_user_agent | O valor é mapeado diretamente a partir do campo properties.userAgent e convertido num objeto de agente do utilizador analisado. |
properties.userAgent | read_only_udm.network.http.user_agent | O valor é mapeado diretamente a partir do campo properties.userAgent . |
properties.userId | read_only_udm.target.user.product_object_id | O valor é mapeado diretamente a partir do campo properties.userId . |
properties.userPrincipalName | read_only_udm.target.user.userid | O valor é mapeado diretamente a partir do campo properties.userPrincipalName se não corresponder a um padrão de endereço de email. |
properties.userPrincipalName | read_only_udm.target.user.email_addresses | O valor é mapeado diretamente a partir do campo properties.userPrincipalName se corresponder a um padrão de endereço de email. |
result | read_only_udm.security_result.action | O valor é mapeado para "ALLOW" se result for "success". |
result | read_only_udm.security_result.action_details | O valor é mapeado diretamente a partir do campo result se result for "success". |
resultDescription | read_only_udm.security_result.description | O valor é mapeado diretamente a partir do campo resultDescription . |
resultSignature | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo resultSignature . |
resultType | read_only_udm.security_result.action | O valor é mapeado para "ALLOW" se resultType for "0". |
resultType | read_only_udm.security_result.rule_id | O valor é mapeado diretamente a partir do campo resultType se não estiver vazio e não for "0". |
resultType | read_only_udm.security_result.summary | O valor é mapeado para "Início de sessão bem-sucedido" se resultType for "0" e "Início de sessão falhado" caso contrário. |
resourceDisplayName | read_only_udm.target.application | O valor é mapeado diretamente a partir do campo resourceDisplayName . |
resourceDisplayName | read_only_udm.target.resource.name | O valor é mapeado diretamente a partir do campo resourceDisplayName . |
resourceId | read_only_udm.target.resource.id | O valor é mapeado diretamente a partir do campo resourceId . |
resourceId | read_only_udm.target.resource.product_object_id | O valor é mapeado diretamente a partir do campo resourceId . |
resourceServicePrincipalId | read_only_udm.target.resource.attribute.labels.value | O valor é mapeado diretamente a partir do campo resourceServicePrincipalId . |
riskDetail | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo riskDetail . |
riskEventTypes | read_only_udm.additional.fields.value.string_value | O valor é extraído da matriz riskEventTypes e mapeado para um valor de string na matriz additional.fields . |
riskEventTypes | read_only_udm.additional.fields.value.list_value.values.string_value | O valor é mapeado diretamente de cada elemento da matriz riskEventTypes . |
riskEventTypes_v2 | read_only_udm.additional.fields.value.list_value.values.string_value | O valor é mapeado diretamente de cada elemento da matriz riskEventTypes_v2 . |
riskLevelAggregated | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo riskLevelAggregated . |
riskLevelDuringSignIn | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo riskLevelDuringSignIn . |
riskState | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo riskState . |
status.additionalDetails | read_only_udm.security_result.description | O valor é mapeado diretamente a partir do campo status.additionalDetails . |
status.errorCode | read_only_udm.security_result.action | O valor é mapeado para "ALLOW" se status.errorCode for "0". |
status.errorCode | read_only_udm.security_result.rule_id | O valor é mapeado diretamente a partir do campo status.errorCode se não estiver vazio. |
status.errorCode | read_only_udm.security_result.summary | O valor é mapeado para "Início de sessão bem-sucedido" se status.errorCode for "0" e "Início de sessão falhado" caso contrário. |
status.failureReason | read_only_udm.additional.fields.value.string_value | O valor é mapeado diretamente a partir do campo status.failureReason . |
targetResources.displayName | read_only_udm.target.resource.name | O valor é mapeado diretamente a partir do campo targetResources.displayName . |
targetResources.id | read_only_udm.target.resource.id | O valor é mapeado diretamente a partir do campo targetResources.id . |
targetResources.id | read_only_udm.target.resource.product_object_id | O valor é mapeado diretamente a partir do campo targetResources.id . |
targetResources.modifiedProperties.displayName | read_only_udm.target.resource.attribute.labels.key | O valor é mapeado diretamente a partir do campo targetResources.modifiedProperties.displayName . |
targetResources.modifiedProperties.newValue | read_only_udm.target.resource.attribute.labels.value | O valor é mapeado diretamente a partir do campo targetResources.modifiedProperties.newValue após a remoção das aspas duplas. |
targetResources.modifiedProperties.oldValue | read_only_udm.target.resource.attribute.labels.value | O valor é mapeado diretamente a partir do campo targetResources.modifiedProperties.oldValue . |
targetResources.type | read_only_udm.target.resource.type | O valor é mapeado diretamente a partir do campo targetResources.type . |
targetResources.userPrincipalName | read_only_udm.target.user.user_display_name | O valor é mapeado diretamente a partir do campo targetResources.userPrincipalName . |
tenantId | read_only_udm.metadata.product_deployment_id | O valor é mapeado diretamente a partir do campo tenantId . |
tempo | read_only_udm.metadata.event_timestamp.seconds | O valor é extraído do campo time e convertido em segundos desde epoch. |
userAgent | read_only_udm.network.http.parsed_user_agent | O valor é mapeado diretamente a partir do campo userAgent e convertido num objeto de agente do utilizador analisado. |
userAgent | read_only_udm.network.http.user_agent | O valor é mapeado diretamente a partir do campo userAgent . |
userDisplayName | read_only_udm.target.user.user_display_name | O valor é mapeado diretamente a partir do campo userDisplayName se for diferente de userId e não corresponder a um padrão de endereço de email. |
userPrincipalName | read_only_udm.principal.administrative_domain | A parte do domínio do endereço de email é extraída do campo userPrincipalName através de um padrão grok e mapeada para o campo principal.administrative_domain . |
userPrincipalName | read_only_udm.target.user.email_addresses | O valor é mapeado diretamente a partir do campo userPrincipalName se corresponder a um padrão de endereço de email. |
userPrincipalName | read_only_udm.target.user.userid | O valor é mapeado diretamente a partir do campo userPrincipalName se não corresponder a um padrão de endereço de email. |
userId | read_only_udm.target.user.product_object_id | O valor é mapeado diretamente a partir do campo userId . |
read_only_udm.metadata.log_type | AZURE_AD | Este valor está codificado no analisador. |
read_only_udm.metadata.vendor_name | Microsoft | Este valor está codificado no analisador. |
read_only_udm.metadata.product_name | Azure AD | Este valor está codificado no analisador. |
read_only_udm.extensions.auth.type | SSO | Este valor está codificado no analisador. |
Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais da Google SecOps.