Coletar registros de atividade do Microsoft Graph
Visão geral
Esse analisador extrai campos dos registros de atividade do Microsoft Graph e os transforma no modelo de dados unificado (UDM, na sigla em inglês). Ele inicializa os campos da UDM, analisa o payload, extrai carimbos de data/hora, mapeia várias propriedades para campos da UDM, processa endereços IP e portas e categoriza o tipo de evento com base na presença de informações principais e de rede.
Antes de começar
- Verifique se você tem uma instância do Google SecOps.
- Verifique se você tem acesso privilegiado ao ID do Microsoft Entra e às contas de armazenamento do Azure.
Configurar a conta de armazenamento do Azure
- No console do Azure, pesquise contas de armazenamento.
- Clique em Criar.
- Especifique valores para os seguintes parâmetros de entrada:
- Assinatura: selecione a assinatura.
- Grupo de recursos: selecione o grupo de recursos.
- Região: selecione a região.
- Performance: selecione o nível de performance desejado (recomendamos o padrão).
- Redundância: selecione o nível de redundância desejado (GRS ou LRS é recomendado).
- Nome da conta de armazenamento: insira um nome para a nova conta de armazenamento.
- Clique em Revisar + criar.
- Leia a visão geral da conta e clique em Criar.
- Na página Visão geral da conta de armazenamento, selecione o submenu Chaves de acesso em Segurança e rede.
- Clique em Mostrar ao lado de chave1 ou chave2.
- Clique em Copiar para a área de transferência para copiar a chave.
- Salve a chave em um local seguro para referência futura.
- Na página Visão geral da conta de armazenamento, selecione o submenu Endpoints em Configurações.
- Clique em Copiar para a área de transferência para copiar o URL do endpoint do serviço Blob (por exemplo, https://
.blob.core.windows.net ). - Salve o URL do endpoint em um local seguro para referência futura.
Configurar a exportação de registros de atividades do Microsoft Graph para a conta de armazenamento
- No console do Azure, pesquise ID do Entra.
- Selecione Monitoramento > Configurações de diagnóstico.
- Clique em + Adicionar configuração de diagnóstico.
- Dê um nome exclusivo à configuração (por exemplo, ms-graph-activity).
- Selecione a categoria MicrosoftGraphActivityLog que você quer exportar para o Google SecOps.
- Em Detalhes do destino, selecione Arquivar em uma conta de armazenamento.
- Selecione sua assinatura e a conta de armazenamento que você criou na etapa anterior.
- Clique em Salvar.
Configurar um feed no Google SecOps para processar os registros de atividades do Microsoft Graph
- Acesse Configurações do SIEM > Feeds.
- Clique em Adicionar novo.
- No campo Nome do feed, insira um nome para o feed (por exemplo, Registros de atividade do Microsoft Graph).
- Selecione Microsoft Azure Blob Storage como o Tipo de origem.
- Selecione Registros de atividade do Microsoft Graph como o tipo de registro.
- Clique em Próxima.
Especifique valores para os seguintes parâmetros de entrada:
URI do Azure: o URL do endpoint do blob.
ENDPOINT_URL/BLOB_NAME
Substitua:
ENDPOINT_URL
: o URL do endpoint do blob (https://<storageaccountname>.blob.core.windows.net
)BLOB_NAME
: o nome do blob (por exemplo, insights-logs-)
URI é: selecione o tipo de URI de acordo com a configuração do fluxo de registro (Arquivo único | Diretório | Diretório que inclui subdiretórios).
Opções de exclusão da origem: selecione a opção de exclusão de acordo com sua preferência.
- Chave compartilhada: a chave de acesso ao Armazenamento de blobs do Azure.
- Namespace de recursos: o namespace de recursos.
- Rótulos de ingestão: o rótulo a ser aplicado aos eventos desse feed.
Clique em Próxima.
Revise a configuração do novo feed na tela Finalizar e clique em Enviar.
Tabela de mapeamento do UDM
Campo de registro | Mapeamento do UDM | Lógica |
---|---|---|
callerIpAddress |
principal.asset.ip |
O campo de registro bruto callerIpAddress é copiado para o campo UDM. |
callerIpAddress |
principal.ip |
O campo de registro bruto callerIpAddress é copiado para o campo UDM. |
category |
security_result.category_details |
O campo de registro bruto category é copiado para o campo UDM. |
correlationId |
security_result.detection_fields.value |
O campo de registro bruto correlationId é copiado para o campo UDM, em que a chave é correlationId . |
Level |
security_result.detection_fields.value |
O campo de registro bruto Level é convertido em string e copiado para o campo UDM, em que a chave é Level . |
operationName |
metadata.product_event_type |
O campo de registro bruto operationName é copiado para o campo UDM. |
operationVersion |
additional.fields.value.string_value |
O campo de registro bruto operationVersion é copiado para o campo UDM, em que a chave é operationVersion . |
properties.apiVersion |
metadata.product_version |
O campo de registro bruto properties.apiVersion é copiado para o campo UDM. |
properties.appId |
target.resource.product_object_id |
O campo de registro bruto properties.appId é copiado para o campo UDM. |
properties.atContent |
additional.fields.value.string_value |
O campo de registro bruto properties.atContent é copiado para o campo UDM, em que a chave é atContent . |
properties.clientAuthMethod |
extensions.auth.auth_details |
Com base no valor de properties.clientAuthMethod , o campo da UDM é definido como "Cliente público" (0), "ID/chave secreta do cliente" (1) ou "Certificado do cliente" (2). |
properties.clientRequestId |
additional.fields.value.string_value |
O campo de registro bruto properties.clientRequestId é copiado para o campo UDM, em que a chave é clientRequestId . |
properties.durationMs |
network.session_duration.seconds |
O campo de registro bruto properties.durationMs é convertido de milissegundos para segundos e copiado para o campo do UDM. |
properties.identityProvider |
security_result.detection_fields.value |
O campo de registro bruto properties.identityProvider é copiado para o campo UDM, em que a chave é identityProvider . |
properties.ipAddress |
principal.asset.ip |
O endereço IP do campo de registro bruto properties.ipAddress é extraído e copiado para o campo UDM. |
properties.ipAddress |
principal.ip |
O endereço IP do campo de registro bruto properties.ipAddress é extraído e copiado para o campo UDM. |
properties.location |
principal.location.name |
O campo de registro bruto properties.location é copiado para o campo UDM. |
properties.operationId |
security_result.detection_fields.value |
O campo de registro bruto properties.operationId é copiado para o campo UDM, em que a chave é operationId . |
properties.requestMethod |
network.http.method |
O campo de registro bruto properties.requestMethod é copiado para o campo UDM. |
properties.requestId |
metadata.product_log_id |
O campo de registro bruto properties.requestId é copiado para o campo UDM. |
properties.responseSizeBytes |
network.received_bytes |
O campo de registro bruto properties.responseSizeBytes é convertido em um número inteiro não assinado e copiado para o campo UDM. |
properties.responseStatusCode |
network.http.response_code |
O campo de registro bruto properties.responseStatusCode é convertido em um número inteiro e copiado para o campo UDM. |
properties.roles |
additional.fields.value.string_value |
O campo de registro bruto properties.roles é copiado para o campo UDM, em que a chave é roles . |
properties.scopes |
additional.fields.value.string_value |
O campo de registro bruto properties.scopes é copiado para o campo UDM, em que a chave é Scopes . |
properties.servicePrincipalId |
principal.user.userid |
O campo de registro bruto properties.servicePrincipalId é copiado para o campo do UDM se properties.userId estiver vazio. |
properties.signInActivityId |
network.session_id |
O campo de registro bruto properties.signInActivityId é copiado para o campo UDM. |
properties.tenantId |
metadata.product_deployment_id |
O campo de registro bruto properties.tenantId é copiado para o campo UDM. |
properties.tokenIssuedAt |
additional.fields.value.string_value |
O campo de registro bruto properties.tokenIssuedAt é copiado para o campo UDM, em que a chave é tokenIssuedAt . |
properties.userAgent |
network.http.user_agent |
O campo de registro bruto properties.userAgent é copiado para o campo UDM. |
properties.userId |
principal.user.userid |
O campo de registro bruto properties.userId é copiado para o campo UDM. |
properties.wids |
security_result.detection_fields.value |
O campo de registro bruto properties.wids é copiado para o campo UDM, em que a chave é wids . |
resourceId |
target.resource.attribute.labels.value |
O campo de registro bruto resourceId é copiado para o campo UDM, em que a chave é Resource ID . |
resultSignature |
additional.fields.value.string_value |
O campo de registro bruto resultSignature é copiado para o campo UDM, em que a chave é resultSignature . |
time |
metadata.event_timestamp |
O campo de registro bruto time é analisado e convertido em um carimbo de data/hora e copiado para o campo da UDM. O campo event.idm.read_only_udm.metadata.event_type do UDM é definido como "NETWORK_HTTP" se has_principal for verdadeiro e network.http não estiver vazio, "STATUS_UPDATE" se has_principal for verdadeiro e network.http estiver vazio ou "GENERIC_EVENT", caso contrário. O campo UDM está definido como "Microsoft Graph". O campo "UDM" está definido como "Microsoft". |
Alterações
2024-05-27
- Defina "metadata.vendor_name" como "Microsoft" e "metadata.product_name" como "Microsoft Graph".
2024-03-01
- Parser recém-criado.