Coletar registros de auditoria do Microsoft Azure AD
Este documento descreve como coletar registros do Microsoft Azure Active Directory (AD) configurando um feed de operações de segurança do Google.
O Azure Active Directory (AZURE_AD
) agora é chamado de ID do Microsoft Entra. Os registros de auditoria do Azure AD
(AZURE_AD_AUDIT
) agora são registros de auditoria do ID do Microsoft Entra.
Para mais informações, consulte Ingestão de dados para as operações de segurança do Google.
Um rótulo de transferência identifica o analisador que normaliza os dados de registro brutos para o formato estruturado do UDM.
Antes de começar
Para concluir as tarefas desta página, confira se você tem o seguinte:
- Uma assinatura do Azure em que você pode fazer login.
- Uma função de administrador global ou administrador do Azure AD.
- Um Azure AD (locatário) no Azure.
Configurar o Azure AD
- Faça login no portal do Azure.
- Acesse Início > Registro de apps, selecione um app registrado ou registre um app se você ainda não criou um.
- Para registrar um aplicativo, clique em Novo registro na seção Registro do app.
- No campo Nome, informe o nome de exibição do aplicativo.
- Na seção Tipos de contas compatíveis, selecione a opção necessária para especificar quem pode usar o aplicativo ou acessar a API.
- Clique em Registrar.
- Acesse a página Visão geral e copie o ID do aplicativo (cliente) e o ID do diretório (tenant), que são necessários para configurar o feed das Operações de segurança do Google.
- Clique em Permissões da API.
- Clique em Adicionar uma permissão e selecione Microsoft Graph no novo painel.
- Clique em Permissões do app.
- Selecione as permissões AuditLog.Read.All, Directory.Read.All e SecurityEvents.Read.All. Verifique se as permissões são permissões do app e não permissões delegadas.
- Clique em Conceder consentimento de administrador para o diretório padrão. Os aplicativos são autorizados a chamar APIs quando recebem permissões de usuários ou administradores como parte do processo de consentimento.
- Acesse Configurações > Gerenciar.
- Clique em Certificados e chaves secretas.
- Clique em New client secret. No campo Valor, a chave secreta do cliente aparece.
- Copie o valor da chave secreta do cliente. O valor é mostrado apenas no momento da criação e é necessário para o registro do app do Azure e para configurar o feed do Google Security Operations.
Configurar um feed no Google Security Operations para processar os registros de auditoria do Azure AD
- Selecione Configurações do SIEM > Feeds.
- Clique em Adicionar novo.
- Insira um nome exclusivo para o nome do feed.
- Selecione API de terceiros como o Tipo de origem.
- Selecione Auditoria do diretório do Azure AD como o Tipo de registro.
- Clique em Próxima.
- Configure os seguintes parâmetros de entrada obrigatórios:
- ID do cliente OAUTH: especifique o ID do cliente que você recebeu anteriormente.
- Chave secreta do cliente OAUTH: especifique a chave secreta do cliente que você recebeu anteriormente.
- ID do locatário: especifique o ID do locatário que você recebeu anteriormente.
- Clique em Próxima e em Enviar.
Para mais informações sobre os feeds do Google Security Operations, consulte a documentação dos feeds do Google Security Operations. Para informações sobre os requisitos de cada tipo de feed, consulte Configuração de feeds por tipo. Se você tiver problemas ao criar feeds, entre em contato com o suporte da Google Security Operations.
Referência do mapeamento de campo
Esse analisador processa os registros de auditoria do diretório do Azure AD no formato JSON. Ele extrai campos relevantes, os transforma em um modelo de dados unificado (UDM, na sigla em inglês) e os enriquece com mais contexto, como detalhes do usuário, endereços IP e resultados de segurança. O analisador também categoriza eventos com base nas características deles, mapeando-os para tipos específicos de eventos do UDM para facilitar a análise.
Tabela de mapeamento do UDM
Campo de registro | Mapeamento do UDM | Lógica |
---|---|---|
activityDateTime | read_only_udm.metadata.event_timestamp | Mapeamento direto do campo de registro bruto "activityDateTime". |
activityDisplayName | read_only_udm.metadata.product_event_type | Mapeamento direto do campo de registro bruto "activityDisplayName". |
additionalDetails.ApplicationId | read_only_udm.additional.fields | Mapeamento direto do campo de registro bruto "additionalDetails", em que a chave é "ApplicationId". |
additionalDetails.Client | read_only_udm.network.http.user_agent | Mapeamento direto do campo de registro bruto "additionalDetails", em que a chave é "Client". |
additionalDetails.ClientIpAddress | read_only_udm.principal.ip, read_only_udm.principal.asset.ip | Mapeamento direto do campo de registro bruto "additionalDetails", em que a chave é "ClientIpAddress". |
additionalDetails.DomainName | read_only_udm.target.hostname, read_only_udm.target.asset.hostname | Mapeamento direto do campo de registro bruto "additionalDetails", em que a chave é "DomainName". |
additionalDetails.EmailAddress | read_only_udm.target.user.email_addresses | Mapeamento direto do campo de registro bruto "additionalDetails", em que a chave é "EmailAddress". |
additionalDetails.GrantType | read_only_udm.additional.fields | Mapeamento direto do campo de registro bruto "additionalDetails", em que a chave é "GrantType". |
additionalDetails.LocalAccountUsername | read_only_udm.additional.fields | Mapeamento direto do campo de registro bruto "additionalDetails", em que a chave é "LocalAccountUsername". |
additionalDetails.PhoneNumber | read_only_udm.target.user.phone_numbers | Mapeamento direto do campo de registro bruto "additionalDetails", em que a chave é "PhoneNumber". |
additionalDetails.PolicyId | read_only_udm.security_result.rule_name | Mapeamento direto do campo de registro bruto "additionalDetails", em que a chave é "PolicyId". |
additionalDetails.Scopes | read_only_udm.additional.fields | Mapeamento direto do campo de registro bruto "additionalDetails", em que a chave é "Scopes". |
additionalDetails.TenantId | read_only_udm.additional.fields | Mapeamento direto do campo de registro bruto "additionalDetails", em que a chave é "TenantId". |
additionalDetails.VerificationMethod | read_only_udm.additional.fields | Mapeamento direto do campo de registro bruto "additionalDetails", em que a chave é "VerificationMethod". |
appId | read_only_udm.target.process.pid | Mapeamento direto do campo de registro bruto "appId". |
appliedConditionalAccessPolicies | read_only_udm.about | O campo "displayName" é mapeado para "read_only_udm.about.user.user_display_name", e o campo "id" é mapeado para "read_only_udm.about.user.userid". O campo "result" é associado a "read_only_udm.about.labels", com a chave definida como "Result". |
categoria | read_only_udm.additional.fields, read_only_udm.security_result.category_details | Mapeamento direto do campo de registro bruto "category". A chave de "read_only_udm.additional.fields" está definida como "log_category". |
callerIpAddress | read_only_udm.principal.ip, read_only_udm.principal.asset.ip | Mapeamento direto do campo de registro bruto "callerIpAddress". |
clientAppUsed | read_only_udm.principal.application | Mapeamento direto do campo de registro bruto "clientAppUsed". |
correlationId | read_only_udm.network.session_id | Mapeamento direto do campo de registro bruto "correlationId". |
id | read_only_udm.metadata.product_log_id | Mapeamento direto do campo de registro bruto "id". |
nível empresarial | read_only_udm.target.user.userid | Mapeamento direto do campo de registro bruto "identidade". |
initiatedBy.app.appId | read_only_udm.principal.resource.attribute.labels | Mapeamento direto do campo de registro bruto "initiatedBy.app.appId". A chave de "read_only_udm.principal.resource.attribute.labels" está definida como "ID do app". |
initiatedBy.app.displayName | read_only_udm.principal.application | Mapeamento direto do campo de registro bruto "initiatedBy.app.displayName". |
initiatedBy.app.servicePrincipalId | read_only_udm.principal.user.product_object_id | Mapeamento direto do campo de registro bruto "initiatedBy.app.servicePrincipalId". |
initiatedBy.app.servicePrincipalName | read_only_udm.principal.user.userid | Mapeamento direto do campo de registro bruto "initiatedBy.app.servicePrincipalName". |
initiatedBy.user.displayName | read_only_udm.principal.user.user_display_name, read_only_udm.principal.user.email_addresses | Se o valor contiver "@", ele será analisado como um endereço de e-mail e mapeado para "read_only_udm.principal.user.email_addresses". Caso contrário, ele será mapeado para "read_only_udm.principal.user.user_display_name". |
initiatedBy.user.id | read_only_udm.principal.user.product_object_id | Mapeamento direto do campo de registro bruto "initiatedBy.user.id". |
initiatedBy.user.ipAddress | read_only_udm.principal.ip, read_only_udm.principal.asset.ip | Mapeamento direto do campo de registro bruto "initiatedBy.user.ipAddress". |
initiatedBy.user.userPrincipalName | read_only_udm.principal.user.userid, read_only_udm.principal.user.email_addresses, read_only_udm.principal.administrative_domain, read_only_udm.principal.resource.attribute.labels | Se o valor contiver "@", ele será analisado como um endereço de e-mail e mapeado para "read_only_udm.principal.user.email_addresses". Caso contrário, ele será mapeado para "read_only_udm.principal.user.userid". A parte do domínio do endereço de e-mail é mapeada para "read_only_udm.principal.administrative_domain". O valor completo também é mapeado para "read_only_udm.principal.resource.attribute.labels" com a chave definida como "User Principal Name". |
ipAddress | read_only_udm.principal.ip, read_only_udm.principal.asset.ip | Mapeamento direto do campo de registro bruto "ipAddress". |
Nível | read_only_udm.security_result.severity, read_only_udm.security_result.severity_details | O valor é convertido em uma string e mapeado para "read_only_udm.security_result.severity_details". O campo "read_only_udm.security_result.severity" está definido como "INFORMATIONAL". |
location.city | read_only_udm.principal.location.city | Mapeamento direto do campo de registro bruto "location.city". |
location.countryOrRegion | read_only_udm.principal.location.country_or_region | Mapeamento direto do campo de registro bruto "location.countryOrRegion". |
location.geoCoordinates.latitude | read_only_udm.principal.location.region_latitude | Mapeamento direto do campo de registro bruto "location.geoCoordinates.latitude". |
location.geoCoordinates.longitude | read_only_udm.principal.location.region_longitude | Mapeamento direto do campo de registro bruto "location.geoCoordinates.longitude". |
location.state | read_only_udm.principal.location.state | Mapeamento direto do campo de registro bruto "location.state". |
loggedByService | read_only_udm.additional.fields | Mapeamento direto do campo de registro bruto "loggedByService". A chave de "read_only_udm.additional.fields" está definida como "loggedByService". |
operationName | read_only_udm.metadata.product_event_type | Mapeamento direto do campo de registro bruto "operationName". |
operationType | read_only_udm.security_result.action_details | Mapeamento direto do campo de registro bruto "operationType". |
properties.activityDateTime | read_only_udm.metadata.event_timestamp | Mapeamento direto do campo de registro bruto "properties.activityDateTime". |
properties.activityDisplayName | read_only_udm.metadata.product_event_type | Mapeamento direto do campo de registro bruto "properties.activityDisplayName". |
properties.appDisplayName | read_only_udm.target.application | Mapeamento direto do campo de registro bruto "properties.appDisplayName". |
properties.category | read_only_udm.security_result.category_details | Mapeamento direto do campo de registro bruto "properties.category". |
properties.id | read_only_udm.metadata.product_log_id | Mapeamento direto do campo de registro bruto "properties.id". |
properties.initiatedBy.app.appId | read_only_udm.principal.resource.attribute.labels | Mapeamento direto do campo de registro bruto "properties.initiatedBy.app.appId". A chave de "read_only_udm.principal.resource.attribute.labels" está definida como "ID do app". |
properties.initiatedBy.app.displayName | read_only_udm.principal.application | Mapeamento direto do campo de registro bruto "properties.initiatedBy.app.displayName". |
properties.initiatedBy.app.servicePrincipalId | read_only_udm.principal.user.product_object_id | Mapeamento direto do campo de registro bruto "properties.initiatedBy.app.servicePrincipalId". |
properties.initiatedBy.app.servicePrincipalName | read_only_udm.principal.user.userid | Mapeamento direto do campo de registro bruto "properties.initiatedBy.app.servicePrincipalName". |
properties.initiatedBy.user.displayName | read_only_udm.principal.user.user_display_name, read_only_udm.principal.user.email_addresses | Se o valor contiver "@", ele será analisado como um endereço de e-mail e mapeado para "read_only_udm.principal.user.email_addresses". Caso contrário, ele será mapeado para "read_only_udm.principal.user.user_display_name". |
properties.initiatedBy.user.id | read_only_udm.principal.user.product_object_id | Mapeamento direto do campo de registro bruto "properties.initiatedBy.user.id". |
properties.initiatedBy.user.ipAddress | read_only_udm.principal.ip, read_only_udm.principal.asset.ip | Mapeamento direto do campo de registro bruto "properties.initiatedBy.user.ipAddress". |
properties.initiatedBy.user.userPrincipalName | read_only_udm.principal.user.userid, read_only_udm.principal.user.email_addresses, read_only_udm.principal.administrative_domain, read_only_udm.principal.resource.attribute.labels | Se o valor contiver "@", ele será analisado como um endereço de e-mail e mapeado para "read_only_udm.principal.user.email_addresses". Caso contrário, ele será mapeado para "read_only_udm.principal.user.userid". A parte do domínio do endereço de e-mail é mapeada para "read_only_udm.principal.administrative_domain". O valor completo também é mapeado para "read_only_udm.principal.resource.attribute.labels" com a chave definida como "User Principal Name". |
properties.loggedByService | read_only_udm.additional.fields | Mapeamento direto do campo de registro bruto "properties.loggedByService". A chave de "read_only_udm.additional.fields" está definida como "loggedByService". |
properties.operationType | read_only_udm.security_result.action_details | Mapeamento direto do campo de registro bruto "properties.operationType". |
properties.result | read_only_udm.security_result.summary | Mapeamento direto do campo de registro bruto "properties.result". |
properties.resultReason | read_only_udm.security_result.description | Mapeamento direto do campo de registro bruto "properties.resultReason". |
properties.userPrincipalName | read_only_udm.target.user.user_display_name | Mapeamento direto do campo de registro bruto "properties.userPrincipalName". |
result | read_only_udm.security_result.summary, read_only_udm.security_result.action | Mapeamento direto do campo de registro bruto "result". Se o valor for "success", "read_only_udm.security_result.action" será definido como "ALLOW". Se o valor for "failure", "read_only_udm.security_result.action" será definido como "BLOCK". |
resultDescription | read_only_udm.metadata.description, read_only_udm.security_result.description | Mapeamento direto do campo de registro bruto "resultDescription". |
resultReason | read_only_udm.security_result.description | Mapeamento direto do campo de registro bruto "resultReason". |
resultType | read_only_udm.security_result.rule_id, read_only_udm.security_result.summary, read_only_udm.security_result.action | Mapeamento direto do campo de registro bruto "resultType". Se o valor for "0", "read_only_udm.security_result.action" será definido como "ALLOW" e "read_only_udm.security_result.summary" será definido como "Successful login occurred". Caso contrário, "read_only_udm.security_result.action" é definido como "BLOCK", "read_only_udm.security_result.summary" é definido como "Failed login occurred", "read_only_udm.security_result.description" é definido como o valor de "resultDescription" e "read_only_udm.security_result.severity" é definido como "ERROR". |
resourceDisplayName | read_only_udm.target.resource.name | Mapeamento direto do campo de registro bruto "resourceDisplayName". |
resourceId | read_only_udm.additional.fields | Mapeamento direto do campo de registro bruto "resourceId". A chave para "read_only_udm.additional.fields" está definida como "resourceId". |
riskDetail | read_only_udm.additional.fields | Mapeamento direto do campo de registro bruto "riskDetail". A chave de "read_only_udm.additional.fields" está definida como "riskDetail". |
riskEventTypes | read_only_udm.additional.fields | Mapeamento direto do campo de registro bruto "riskEventTypes". A chave para "read_only_udm.additional.fields" está definida como "riskEventTypes". |
riskEventTypes_v2 | read_only_udm.additional.fields | Mapeamento direto do campo de registro bruto "riskEventTypes_v2". A chave de "read_only_udm.additional.fields" está definida como "riskEventTypes_v2". |
riskLevelAggregated | read_only_udm.additional.fields | Mapeamento direto do campo de registro bruto "riskLevelAggregated". A chave para "read_only_udm.additional.fields" está definida como "riskLevelAggregated". |
riskLevelDuringSignIn | read_only_udm.additional.fields, read_only_udm.security_result.priority | Mapeamento direto do campo de registro bruto "riskLevelDuringSignIn". A chave para "read_only_udm.additional.fields" está definida como "riskLevelDuringSignIn". Se o valor for "medium", "read_only_udm.security_result.priority" será definido como "MEDIUM_PRIORITY". |
riskState | read_only_udm.additional.fields | Mapeamento direto do campo de registro bruto "riskState". A chave para "read_only_udm.additional.fields" está definida como "riskState". |
targetResources.0.displayName | read_only_udm.target.resource.name, read_only_udm.target.user.user_display_name, read_only_udm.target.group.group_display_name | Se o valor de "targetResources.0.type" for "User" ou "ServicePrincipal", o valor será mapeado para "read_only_udm.target.user.user_display_name". Se o valor de "targetResources.0.type" for "Group", o valor será mapeado para "read_only_udm.target.group.group_display_name". Caso contrário, o valor será mapeado para "read_only_udm.target.resource.name". |
targetResources.0.groupType | read_only_udm.target.group.attribute.labels | Mapeamento direto do campo de registro bruto "targetResources.0.groupType". A chave para "read_only_udm.target.group.attribute.labels" está definida como "groupType". |
targetResources.0.id | read_only_udm.target.resource.product_object_id, read_only_udm.target.user.product_object_id, read_only_udm.target.group.product_object_id | Se o valor de "targetResources.0.type" for "User" ou "ServicePrincipal", o valor será mapeado para "read_only_udm.target.user.product_object_id". Se o valor de "targetResources.0.type" for "Group", o valor será mapeado para "read_only_udm.target.group.product_object_id". Caso contrário, o valor será mapeado para "read_only_udm.target.resource.product_object_id". |
targetResources.0.modifiedProperties.displayName | read_only_udm.additional.fields, read_only_udm.target.asset.asset_id, read_only_udm.target.user.title, read_only_udm.target.resource.attribute.roles, read_only_udm.target.user.user_display_name, read_only_udm.target.user.first_name, read_only_udm.target.user.last_name, read_only_udm.target.user.department, read_only_udm.target.user.office_address.name, read_only_udm.target.user.employee_id, read_only_udm.target.user.phone_numbers, read_only_udm.target.user.userid, read_only_udm.target.resource.attribute.labels, read_only_udm.src.resource.attribute.labels | O valor é mapeado para "read_only_udm.additional.fields" com a chave definida como "targetResources.modifiedProperties.displayname {index}". Se o valor for "TargetId.DeviceId", o valor de "targetResources.0.modifiedProperties.newValue" será mapeado para "read_only_udm.target.asset.asset_id" com o prefixo "Device ID:". Se o valor for "DisplayName" ou "jobTitle", o valor de "targetResources.0.modifiedProperties.newValue" será associado a "read_only_udm.target.user.title". Se o valor for "WellKnownObjectName", o valor de "targetResources.0.modifiedProperties.newValue" será mapeado para "read_only_udm.target.resource.attribute.roles" com a chave definida como "name". Se o valor for "displayName" e "targetResources.0.displayName" for nulo, o valor de "targetResources.0.modifiedProperties.newValue" será mapeado para "read_only_udm.target.user.user_display_name". Se o valor for "givenName", o valor de "targetResources.0.modifiedProperties.newValue" será mapeado para "read_only_udm.target.user.first_name". Se o valor for "sobrenome", o valor de "targetResources.0.modifiedProperties.newValue" será mapeado para "read_only_udm.target.user.last_name". Se o valor for "department", o valor de "targetResources.0.modifiedProperties.newValue" será mapeado para "read_only_udm.target.user.department". Se o valor for "physicalDeliveryOfficeName", o valor de "targetResources.0.modifiedProperties.newValue" será associado a "read_only_udm.target.user.office_address.name". Se o valor for "employeeId", o valor de "targetResources.0.modifiedProperties.newValue" será mapeado para "read_only_udm.target.user.employee_id". Se o valor for "mobile", o valor de "targetResources.0.modifiedProperties.newValue" será associado a "read_only_udm.target.user.phone_numbers". Se o valor for "MailNickname", o valor de "targetResources.0.modifiedProperties.newValue" será associado a "read_only_udm.target.user.userid". Caso contrário, o valor de "targetResources.0.modifiedProperties.newValue" é mapeado para "read_only_udm.target.resource.attribute.labels" com a chave definida como o valor de "targetResources.0.modifiedProperties.displayName". O valor de "targetResources.0.modifiedProperties.oldValue" é mapeado para "read_only_udm.src.resource.attribute.labels" com a chave definida como o valor de "targetResources.0.modifiedProperties.displayName". |
targetResources.0.modifiedProperties.newValue | read_only_udm.target.asset.asset_id, read_only_udm.target.user.title, read_only_udm.target.resource.attribute.roles, read_only_udm.target.user.user_display_name, read_only_udm.target.user.first_name, read_only_udm.target.user.last_name, read_only_udm.target.user.department, read_only_udm.target.user.office_address.name, read_only_udm.target.user.employee_id, read_only_udm.target.user.phone_numbers, read_only_udm.target.user.userid, read_only_udm.target.resource.attribute.labels, read_only_udm.additional.fields | Se o valor de "targetResources.0.modifiedProperties.displayName" for "TargetId.DeviceId", o valor será mapeado para "read_only_udm.target.asset.asset_id" com o prefixo "Device ID:". Se o valor de "targetResources.0.modifiedProperties.displayName" for "DisplayName" ou "jobTitle", o valor será mapeado para "read_only_udm.target.user.title". Se o valor de "targetResources.0.modifiedProperties.displayName" for "WellKnownObjectName", o valor será mapeado para "read_only_udm.target.resource.attribute.roles" com a chave definida como "name". Se o valor de "targetResources.0.modifiedProperties.displayName" for "displayName" e "targetResources.0.displayName" for nulo, o valor será mapeado para "read_only_udm.target.user.user_display_name". Se o valor de "targetResources.0.modifiedProperties.displayName" for "givenName", o valor será mapeado para "read_only_udm.target.user.first_name". Se o valor de "targetResources.0.modifiedProperties.displayName" for "surname", o valor será mapeado para "read_only_udm.target.user.last_name". Se o valor de "targetResources.0.modifiedProperties.displayName" for "department", o valor será mapeado para "read_only_udm.target.user.department". Se o valor de "targetResources.0.modifiedProperties.displayName" for "physicalDeliveryOfficeName", o valor será mapeado para "read_only_udm.target.user.office_address.name". Se o valor de "targetResources.0.modifiedProperties.displayName" for "employeeId", o valor será mapeado para "read_only_udm.target.user.employee_id". Se o valor de "targetResources.0.modifiedProperties.displayName" for "mobile", o valor será mapeado para "read_only_udm.target.user.phone_numbers". Se o valor de "targetResources.0.modifiedProperties.displayName" for "MailNickname", o valor será mapeado para "read_only_udm.target.user.userid". Caso contrário, o valor é mapeado para "read_only_udm.target.resource.attribute.labels" com a chave definida como o valor de "targetResources.0.modifiedProperties.displayName". O valor também é mapeado para "read_only_udm.additional.fields" com a chave definida como "targetResources.modifiedProperties.newValue {index}". |
targetResources.0.modifiedProperties.oldValue | read_only_udm.src.resource.attribute.labels, read_only_udm.additional.fields | O valor é mapeado para "read_only_udm.src.resource.attribute.labels" com a chave definida como o valor de "targetResources.0.modifiedProperties.displayName". O valor também é mapeado para "read_only_udm.additional.fields" com a chave definida como "targetResources.modifiedProperties.oldValue {index}". |
targetResources.0.type | read_only_udm.target.resource.resource_subtype, read_only_udm.target.resource.resource_type, read_only_udm.target.user.userid, read_only_udm.target.user.product_object_id, read_only_udm.target.user.user_display_name, read_only_udm.target.group.product_object_id, read_only_udm.target.group.group_display_name | Mapeamento direto do campo de registro bruto "targetResources.0.type". Se o valor for "ServicePrincipal", "read_only_udm.target.resource.resource_type" será definido como "SERVICE_ACCOUNT". Se o valor for "Device", "read_only_udm.target.resource.resource_type" será definido como "DEVICE". Caso contrário, "read_only_udm.target.resource.resource_type" será definido como "UNSPECIFIED". Se o valor for "Usuário" ou "Princípio de serviço", o valor de "targetResources.0.userPrincipalName" será mapeado para "read_only_udm.target.user.userid", o valor de "targetResources.0.id" será mapeado para "read_only_udm.target.user.product_object_id" e o valor de "targetResources.0.displayName" será mapeado para "read_only_udm.target.user.user_display_name". Se o valor for "Grupo", o valor de "targetResources.0.id" será mapeado para "read_only_udm.target.group.product_object_id" e o valor de "targetResources.0.displayName" será mapeado para "read_only_udm.target.group.group_display_name". |
targetResources.0.userPrincipalName | read_only_udm.target.user.userid, read_only_udm.target.user.email_addresses | Se o valor contiver "@", ele será analisado como um endereço de e-mail e mapeado para "read_only_udm.target.user.email_addresses". Caso contrário, ele será mapeado para "read_only_udm.target.user.userid". |
targetResources.displayName | read_only_udm.about.resource.name, read_only_udm.about.user.userid, read_only_udm.about.user.user_display_name, read_only_udm.about.group.group_display_name, read_only_udm.about.group.attribute.labels | Se o valor de "targetResources.type" for "User" ou "ServicePrincipal", o valor será mapeado para "read_only_udm.about.user.user_display_name" e "read_only_udm.about.user.userid". Se o valor de "targetResources.type" for "Group", o valor será mapeado para "read_only_udm.about.group.group_display_name". O valor de "targetResources.groupType" é mapeado para "read_only_udm.about.group.attribute.labels" com a chave definida como "groupType". Caso contrário, o valor é mapeado para "read_only_udm.about.resource.name". |
targetResources.groupType | read_only_udm.about.group.attribute.labels, read_only_udm.target.user.group_identifiers | Mapeamento direto do campo de registro bruto "targetResources.groupType". A chave de "read_only_udm.about.group.attribute.labels" está definida como "groupType". |
targetResources.id | read_only_udm.about.resource.product_object_id, read_only_udm.about.user.product_object_id, read_only_udm.about.group.product_object_id | Se o valor de "targetResources.type" for "User" ou "ServicePrincipal", o valor será mapeado para "read_only_udm.about.user.product_object_id". Se o valor de "targetResources.type" for "Group", o valor será mapeado para "read_only_udm.about.group.product_object_id". Caso contrário, o valor será mapeado para "read_only_udm.about.resource.product_object_id". |
targetResources.modifiedProperties.displayName | read_only_udm.additional.fields | O valor é mapeado para "read_only_udm.additional.fields" com a chave definida como "targetResources.modifiedProperties.displayname {index}". |
targetResources.modifiedProperties.newValue | read_only_udm.additional.fields | O valor é mapeado para "read_only_udm.additional.fields" com a chave definida como "targetResources.modifiedProperties.newValue {index}". |
targetResources.modifiedProperties.oldValue | read_only_udm.additional.fields | O valor é mapeado para "read_only_udm.additional.fields" com a chave definida como "targetResources.modifiedProperties.oldValue {index}". |
targetResources.type | read_only_udm.about.resource.resource_subtype, read_only_udm.about.resource.resource_type, read_only_udm.about.user.userid, read_only_udm.about.user.product_object_id, read_only_udm.about.user.user_display_name, read_only_udm.about.group.product_object_id, read_only_udm.about.group.group_display_name | Mapeamento direto do campo de registro bruto "targetResources.type". Se o valor for "ServicePrincipal", "read_only_udm.about.resource.resource_type" será definido como "SERVICE_ACCOUNT". Se o valor for "Device", "read_only_udm.about.resource.resource_type" será definido como "DEVICE". Caso contrário, "read_only_udm.about.resource.resource_type" será definido como "UNSPECIFIED". Se o valor for "Usuário" ou "Princípio de serviço", o valor de "targetResources.userPrincipalName" será mapeado para "read_only_udm.about.user.userid", o valor de "targetResources.id" será mapeado para "read_only_udm.about.user.product_object_id" e o valor de "targetResources.displayName" será mapeado para "read_only_udm.about.user.user_display_name". Se o valor for "Grupo", o valor de "targetResources.id" será associado a "read_only_udm.about.group.product_object_id", e o valor de "targetResources.displayName" será associado a "read_only_udm.about.group.group_display_name". |
targetResources.userPrincipalName | read_only_udm.about.user.userid, read_only_udm.about.user.email_addresses | Se o valor contiver "@", ele será analisado como um endereço de e-mail e mapeado para "read_only_udm.about.user.email_addresses". Caso contrário, ele será mapeado para "read_only_udm.about.user.userid". |
tenantId | read_only_udm.additional.fields | Mapeamento direto do campo de registro bruto "tenantId". A chave de "read_only_udm.additional.fields" está definida como "tenantId". |
tempo | read_only_udm.metadata.event_timestamp | Mapeamento direto do campo de registro bruto "time". |
userId | read_only_udm.target.user.product_object_id | Mapeamento direto do campo de registro bruto "userId". O valor é definido com base nos valores de outros campos, incluindo "activityDisplayName", "principal_userid_present", "target_userid_present", "principal_ip_present", "loggedByService" e "category". A lógica para definir o valor é complexa e depende da combinação específica de valores nesses campos. O valor é definido como "SSO" se o valor de "operationName" for "Atividade de login". O valor é definido como "Microsoft". O valor é definido como "Auditoria de diretório do Azure AD". O valor é definido como "AZURE_AD_AUDIT". |
Alterações
2024-07-30
- Quando "principal.user.userid" ou "target.user.userid" está presente, apenas "metadata.event_type" é mapeado para "USER_CHANGE_PERMISSIONS".
2024-06-26
- A delta mapeada entre "targetResources.modifiedProperties.newValue" e "targetResources.modifiedProperties.oldValue" para "additional.fields".
2024-06-10
- Quando "initiatedBy.user.ipAddress" tiver um IP, defina "principal_ip_present" como "true".
- Foi adicionada uma condição para definir "metadata.event_type" como "USER_DELETION" somente quando "principal_ip_present" for "true".
2024-06-03
- Adicionamos um bloco JSON para analisar registros não analisados.
- Foi adicionada uma verificação condicional para "event_type" "USER_DELETION".
2024-05-20
Correção de bugs:
- O mapeamento de "targetResource" foi modificado.
- A primeira iteração de "targetResource" foi mapeada para "target", e a iteração seguinte de "targetResource" foi mapeada para "about".
- O nome da chave do campo "loggedByService" foi alterado de "log_Service" para "loggedByService".
- O mapeamento de "resourceId" foi alterado de "target.resource.id" para "additional_fields".
- Quando "targetResources.type" = "Application", "Policy", "Role", "Directory", "RoleAssignment", "Request", "Provider", "Other", mapeie "targetResources.displayName" para "noun.resource.name"; "targetResources.id" para "noun.resource.product_object_id"; "noun.resource.resource_type" = "UNSPECIFIED" e "targetResource.type" para "noun.resource.resource_subtype".
- Quando "targetResources.type" = "User", mapeie "targetResources.displayName" para "noun.resource.name"; "targetResources.id" para "noun.resource.product_object_id"; "noun.resource.resource_type" = "UNSPECIFIED"; "targetResource.type" para "noun.resource.resource_subtype"; "targetResources.displayName" para "noun.user.user_display_name"; "targetResources.id" para "noun.user.product_object_id"; "targetResources.userPrincipalName" para "noun.user.userid".
- Quando "targetResources.type" = "ServicePrincipal", mapeie "targetResources.displayName" para "noun.resource.name", "targetResources.id" para "noun.resource.product_object_id", "noun.resource.resource_type" = "SERVICE_ACCOUNT", "targetResource.type" para "noun.resource.resource_subtype", "targetResources.displayName" para "noun.user.user_display_name", "targetResources.id" para "noun.user.product_object_id" e "targetResources.userPrincipalName" para "noun.user.userid".
- Quando "targetResources.type" = "Group", mapeie "targetResources.displayName" para "noun.resource.name", "targetResources.id" para "noun.resource.product_object_id", "noun.resource.resource_type" = "UNSPECIFIED", "targetResource.type" para "noun.resource.resource_subtype", "targetResources.displayName" para "noun.group.group_display_name", "targetResources.id" para "noun.group.product_object_id" e "groupType" para "noun.group.attribute.labels".
2024-05-17
- "initiatedBy.user.id" foi associado a "principal.user.product_object_id".
- "initiatedBy.user.userPrincipalName" foi associado a "principal.user.userid".
2024-03-18
- Os campos "targetResources.modifiedProperties.displayname", "targetResources.modifiedProperties.newValue" e "targetResources.modifiedProperties.oldValue" são mostrados mesmo quando o valor é nulo.
- "callerIpAddress" foi mapeado para "principal.ip".
2024-03-12
Correção de bugs:
- Mapeamentos sincronizadas de mapeamentos de registro de formato de envelope do Azure Monitor para registros de formato da API Microsoft Graph.
- "target.resource.resource_type" mapeado com base em "targetResources.type".
- "targetResources.type" foi mapeado para "target.resource.type".
2024-03-04
- "user_principal_name" foi mapeado de "initiatedBy.user.userPrincipalName" para "principal.resource.attribute.labels".
- O "domain" foi mapeado de "initiatedBy.user.userPrincipalName" para "principal.administrative_domain".
- Mapeamos "loggedByService" e "properties.loggedByService" para "additional.fields".
- O mapeamento de "initiatedBy.user.id" foi alterado de "principal.user.product_object_id" para "principal.user.userid".
- "tgt_user_principal_name" foi mapeado de "target.userPrincipalName" para "target.resource.attribute.labels".
- O "domain" foi mapeado de "target.userPrincipalName" para "target.administrative_domain".
- Mapeamos "category" para "additional.fields".
- Quando "additionalDetails[n].key" é "AppId", "additionalDetails[n].value" é associado a "target.process.pid".
- Quando "additionalDetails[n].key" é "User-Agent", "additionalDetails[n].value" é mapeado para "network.http.user_agent" e "network.http.parsed_user_agent".
- "metadata.event_type" mapeado com base em "loggedByService", "category" e "activityDisplayName".
- Mapeou "targetResources.modifiedProperties.displayname", "targetResources.modifiedProperties.newValue" e "targetResources.modifiedProperties.oldValue" para "additional.fields".
2024-02-21
- Foi adicionada uma verificação condicional se "principal.user.userid" está presente antes de definir "metadata.event_type" como "USER_CREATION".
- O mapeamento de "initiatedBy.user.id" foi alterado de "principal.user.userid" para "principal.user.product_object_id".
- O mapeamento de "initiatedBy.app.servicePrincipalId" foi alterado de "principal.user.userid" para "principal.user.product_object_id".
- O mapeamento de "initiatedBy.app.servicePrincipalName" foi alterado de "principal.user.user_display_name" para "principal.user.userid".
- O mapeamento de "properties.initiatedBy.user.id" mudou de "principal.user.userid" para "principal.user.product_object_id".
- O mapeamento de "properties.initiatedBy.app.servicePrincipalId" foi alterado de "principal.user.userid" para "principal.user.product_object_id".
- O mapeamento de "properties.initiatedBy.app.servicePrincipalName" mudou de "principal.user.user_display_name" para "principal.user.userid".
- Se o valor de "targetResourceType" for semelhante a "User" ou "ServicePrincipal", mude o mapeamento de "target.id" de "target.user.userid" para "target.user.product_object_id".
- Se o valor de "targetResourceType" for semelhante a "Usuário" ou "Princípio de serviço", mapeie "target.userPrincipalName" para "target.user.userid".
- Se o valor de "targetResourceType" for semelhante a "Usuário" ou "Princípio de serviço", mapeie "target.displayName" para "target.user.user_display_name".
2024-02-12
- Adição de uma verificação condicional para "modifiedProperty.displayName", "modifiedProperty.newValue" e "modifiedProperty.oldValue".
- Quando "targetResource.id" é "User" ou "ServicePrincipal", ele é mapeado para "target.user.userid".
2024-01-08
Correção de bugs:
- Um padrão Grok foi adicionado para validar os valores de e-mail antes de mapeá-los para "principal.user.email_addresses" e "target.user.email_addresses".
2023-12-19
- Mapeou "targetResource.modifiedProperties.newValue", "targetResource.modifiedProperties.oldValue" e "targetResource.modifiedProperties.displayName" para "additional.fields".
2023-11-23
- Os campos "targetResources.0.modifiedProperties.newValue/oldValue" foram mapeados para "event.idm.read_only_udm.additional.fields".
- Adição da verificação de formato ip_address em "initiatedBy.user.ipAddress" antes do mapeamento para udm.
2023-10-16
- Modificou os seguintes mapeamentos:
- O valor de 'metadata.event_type' foi alterado de 'USER_UNCATEGORIZED' para 'USER_RESOURCE_ACCESS', em que 'target.type não é 'user'.
- O mapeamento de "target.id" foi alterado de "principal.user.userid" para "principal.user.group_or_identifiers", em que "target.type" não é "user".
- O campo que foi mapeado para "target.resource.id" também foi mapeado para "target.resource.product_object_id" porque "target.resource.id" foi descontinuado.
2023-08-03
- Modificou os seguintes mapeamentos:
- A propriedade "metadata.event_type" foi alterada de "USER_UNCATEGORIZED" para "USER_CREATION", em que "activityDisplayName" é "Adicionar usuário".
- O mapeamento de "activityDisplayName" foi alterado de "metadata.description" para "metadata.product_event_type".
- Mapeamos o "metadata.event_type" apropriado em que "activityDisplayName" é "Adicionar membro ao grupo", "Adicionar proprietário ao grupo".
- Todos os campos em "targetResources" precisam fazer parte dos campos target.user. da UDM.
- "target.user.userid" mapeado com o "id" correto em "targetResource".
- Para "activityDisplayName" como "Adicionar membro a função fora do PIM (permanente)" em activityDisplayName mapeado "target.user.xxx" quando o tipo de recurso é "Usuário".
- Para "activityDisplayName" como "Adicionar membro ao papel", mapeie "Role.WellKnownObjectName" para "target.resource.attribute.roles.name".
2023-07-24
- Mapeou "targetresources.modifiedproperties.newvalue" para "target.user.title" quando o valor "targetresources.modifiedproperties.displayname" contém "role.displayname".
2023-05-25
- Correção de bug: o mapeamento foi alterado de "target.resource.attribute.labels.value" para "target.user.userid" quando "targetResources.modifiedProperties.displayName" é igual a "mailNickname".
2023-05-05
- Modifiquei os seguintes mapeamentos:
- O mapeamento foi alterado de "target.resource.attribute.labels.value" para "target.user.product_object_id" quando "targetResources.modifiedProperties.displayName" é igual a "objectId".
- O mapeamento foi alterado de "target.resource.attribute.labels.value" para "target.user.user_display_name" quando "targetResources.modifiedProperties.displayName" é igual a "displayName".
- O mapeamento foi alterado de "target.resource.attribute.labels.value" para "target.user.first_name" quando "targetResources.modifiedProperties.displayName" é igual a "givenName".
- O mapeamento foi alterado de "target.resource.attribute.labels.value" para "target.user.title" quando "targetResources.modifiedProperties.displayName" é igual a "jobTitle".
- O mapeamento mudou de "target.resource.attribute.labels.value" para "target.user.email_addresses" quando "targetResources.modifiedProperties.displayName" é igual a "mail".
- O mapeamento mudou de "target.resource.attribute.labels.value" para "target.user.last_name" quando "targetResources.modifiedProperties.displayName" é igual a "surname".
- O mapeamento foi alterado de "target.resource.attribute.labels.value" para "target.user.department" quando "targetResources.modifiedProperties.displayName" é igual a "department".
- O mapeamento foi alterado de "target.resource.attribute.labels.value" para "target.user.office_address.name" quando "targetResources.modifiedProperties.displayName" é igual a "physicalDeliveryOfficeName".
- O mapeamento foi alterado de "target.resource.attribute.labels.value" para "target.user.employee_id" quando "targetResources.modifiedProperties.displayName" é igual a "employeeId".
- O mapeamento foi alterado de "target.resource.attribute.labels.value" para "target.user.phone_numbers" quando "targetResources.modifiedProperties.displayName" é igual a "mobile".
2023-04-18
- "initiatedBy.user.userPrincipalName" mapeado para "principal.user.user_display_name" ou "principal.user.userid" ou "principal.user.email_addresses".
- "targetResources.type" mapeado para "target.resource.attribute.labels".
2023-04-12
Melhoria:
- Mapeamos "initiatedBy.user.userPrincipalName" para "principal.user.email_addresses" e "event_type" para "USER_UNCATEGORIZED".
- quando "initiatedBy.user.userPrincipalName" não é nulo.
- Se "targetResources.modifiedProperties.displayName" for "userPrincipalName", mapeie para "principal.user.email_addresses".
- "event_type" foi associado a "USER_UNCATEGORIZED" quando "activityDisplayName" está em ["Issue an id_token to the application", "Set Company Information"].
2023-02-20
Correção de bugs:
- Vários endereços IP foram mapeados da chave "additionalDetails.ClientIpAddress" para "principal.ip".
- Os metadados "metadata.event_type" foram mapeados como "USER_UNCATEGORIZED" quando "activityDisplayName" é igual a "Delete user" e o campo "initiatedBy.user.userPrincipalName" não está presente.
2023-02-02
- Melhoria: mapeamos o seguinte quando "activityDisplayName" é igual a "Excluir usuário":
- "event_type" foi associado a "USER_DELETION".
- "initiatedBy.user.userPrincipalName" foi associado a "principal.user.userid".
2022-11-24
Melhoria:
- "modifiedProperties.newValue" foi mapeado para "target.resource.attribute.labels".
- "modifiedProperties.oldValue" foi mapeado para "src.resource.attribute.labels".
2022-11-07
Melhoria:
- "target.modifiedProperties.TargetId.DeviceId" foi associado a "event.idm.read_only_udm.target.asset.asset_id".
16/09/2022
Melhoria:
- "properties.initiatedBy.user.ipAddress" foi mapeado para "principal.ip".
- "properties.initiatedBy.user.userPrincipalName" foi mapeado para "principal.user.userid".
- "properties.resultReason" foi associado a "security_result.description".
- Mapeamos "identity" para "target.user.userid".
- "operationName" foi associado a "metadata.product_event_type".
- Mapeamos "metadata.event_type" para "USER_UNCATEGORIZED", em que "properties.activityDisplayName" é "Pegar propriedades de recursos de um locatário".
- Mapeamos "category" e "properties.category" para "security_result.category_details".
- "resultDescription" foi mapeado para "metadata.description".
- "resultType" foi associado a "security_result.rule_id".
2022-06-20
- Melhoria: o analisador foi aprimorado para analisar os registros com a categoria "AuditLogs" e "SignInLogs", adicionando os seguintes mapeamentos :
- O campo "properties.id" foi mapeado para "metadata.product_log_id".
- O campo "properties.loggedByService" foi mapeado para "target.application".
- O campo "Nível" foi associado a "security_result.severity" e "security_result.severity_details".
- O campo "properties.result" foi mapeado para "security_result.summary" e "security_result.action".
- O campo "properties.operationType" foi mapeado para "security_result.action_details".
- O campo "properties.activityDisplayName" foi mapeado para "metadata.description".
- O campo "properties.category" foi mapeado para "metadata.product_event_type".
- O campo "properties.resultReason" foi mapeado para "security_result.description".
- O campo "properties.initiatedBy.app.displayName" foi mapeado para "principal.application".
- O campo "properties.ipAddress" foi mapeado para "principal.ip".
- O campo "properties.initiatedBy.app.servicePrincipalId" foi mapeado para "principal.user.userid".
- O campo "properties.initiatedBy.app.servicePrincipalName" foi mapeado para "principal.user.user_display_name".
- Mapeou os campos "properties.appId" e "properties.initiatedBy.app.appId" para "principal.resource.attribute.labels".
- O campo "properties.location.city" foi mapeado para "principal.location.city".
- Mapeou o campo "properties.location.state" para "principal.location.state".
- O campo "properties.location.countryOrRegion" foi mapeado para "principal.location.country_or_region".
- O campo "properties.location.geoCoordinates.latitude" foi mapeado para "principal.location.region_latitude".
- O campo "properties.location.geoCoordinates.longitude" foi mapeado para "principal.location.region_longitude".
- Os campos "properties.targetResources.modifiedProperties" foram mapeados para "target.user.attribute.labels".
- O campo "targetResources.displayName" foi associado a "target.user.user_display_name".
- O campo "targetResources.id" foi mapeado para "target.user.userid".
- Mapeamos os campos "properties.additionalDetails", "properties.riskDetail", "properties.riskEventTypes", "properties.riskEventTypes_v2", "properties.riskLevelAggregated", "properties.riskLevelDuringSignIn", "properties.riskState", "properties.conditionalAccessStatus" e "tenantId" para "additional.fields".
- O campo "operationVersion" foi mapeado para "metadata.product_version".
- O campo "properties.appliedConditionalAccessPolicies.displayName" foi associado a "about.user.user_display_name".
- O campo "properties.appliedConditionalAccessPolicies..id" foi mapeado para "about.user.userid".
- O campo "properties.appliedConditionalAccessPolicies.result" foi mapeado para "about.labels".