segurança: runHuntingQuery
Espaço de nomes: microsoft.graph.security
Importante
As APIs na versão /beta
no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.
Consulte um conjunto especificado de dados de eventos, atividades ou entidades suportados pelo Microsoft 365 Defender para procurar proativamente ameaças específicas no seu ambiente.
Este método destina-se à investigação avançada no Microsoft 365 Defender. Este método inclui uma consulta na Linguagem de Consulta Kusto (KQL). Especifica uma tabela de dados no esquema de investigação avançado e uma sequência canalizada de operadores para filtrar ou pesquisar esses dados e formatar a saída da consulta de formas específicas.
Saiba mais sobre a procura de ameaças entre dispositivos, e-mails, aplicações e identidades. Saiba mais sobre o KQL.
Para obter informações sobre como utilizar a investigação avançada no portal do Microsoft 365 Defender, consulte Proativamente investigar ameaças com investigação avançada no Microsoft 365 Defender.
Esta API está disponível nas seguintes implementações de cloud nacionais.
Serviço global | US Government L4 | US Government L5 (DOD) | China operada pela 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ❌ |
Permissões
Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.
Tipo de permissão | Permissões com menos privilégios | Permissões com privilégios superiores |
---|---|---|
Delegado (conta corporativa ou de estudante) | ThreatHunting.Read.All | Indisponível. |
Delegado (conta pessoal da Microsoft) | Sem suporte. | Sem suporte. |
Application | ThreatHunting.Read.All | Indisponível. |
Solicitação HTTP
POST /security/runHuntingQuery
Cabeçalhos de solicitação
Nome | Descrição |
---|---|
Autorização | {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
Content-Type | application/json. Obrigatório. |
Observação
Se estiver a utilizar carateres não ANSI na sua consulta, por exemplo, para consultar assuntos de e-mail com carateres mal formados ou sósias, utilize application/json; charset=utf-8
para o cabeçalho Tipo de Conteúdo.
Corpo da solicitação
No corpo do pedido, forneça um objeto JSON para o Query
parâmetro e, opcionalmente, inclua um Timespan
parâmetro.
Parâmetro | Tipo | Descrição | Exemplo |
---|---|---|---|
Consultar | Cadeia de caracteres | Obrigatório. A consulta de investigação na Linguagem de Consulta Kusto (KQL). Para obter mais informações, veja Referência rápida do KQL. | |
Período de tempo | String | Opcional. O intervalo de tempo durante o qual consultar dados, no formato ISO 8601. O valor predefinido é 30 dias, o que significa que, se não for especificada startTime, a consulta terá um aspeto anterior a 30 dias a partir de agora. Se for especificado um filtro de tempo na consulta e no parâmetro startTime, é aplicado o intervalo de tempo mais curto. Por exemplo, se a consulta tiver um filtro para os últimos 7 dias e startTime for 10 dias atrás, a consulta só terá um aspeto anterior em sete dias. |
Os exemplos seguintes mostram os formatos possíveis para o Timepsan
parâmetro :
- Data/Data: "2024-02-01T08:00:00Z/2024-02-15T08:00:00Z" - Datas de início e de fim.
- Duration/endDate: "P30D/2024-02-15T08:00:00Z" – um período antes da data de fim.
- Início/duração: "2024-02-01T08:00:00Z/P30D" – Data e duração de início.
- ISO8601 duração: "P30D" - Duração a partir de agora retroceder.
- Data/hora única: "2024-02-01T08:00:00Z" – Hora de início com a hora de fim predefinida para a hora atual.
Resposta
Se for bem-sucedida, esta ação devolve um 200 OK
código de resposta e um huntingQueryResults no corpo da resposta.
Exemplos
Exemplo 1: consulta com intervalo de tempo predefinido
Solicitação
O exemplo seguinte especifica uma consulta KQL e:
- Analisa a tabela DeviceProcessEvents no esquema de investigação avançado.
- Filtra a condição de o processo de powershell.exe iniciar o evento.
- Especifica o resultado de três colunas da mesma tabela para cada linha:
Timestamp
, ,FileName
InitiatingProcessFileName
. - Ordena o resultado pelo
Timestamp
valor. - Limita a saída a dois registos (duas linhas).
POST https://graph.microsoft.com/beta/security/runHuntingQuery
{
"Query": "DeviceProcessEvents | where InitiatingProcessFileName =~ \"powershell.exe\" | project Timestamp, FileName, InitiatingProcessFileName | order by Timestamp desc | limit 2"
}
Resposta
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#microsoft.graph.security.huntingQueryResults",
"schema": [
{
"name": "Timestamp",
"type": "DateTime"
},
{
"name": "FileName",
"type": "String"
},
{
"name": "InitiatingProcessFileName",
"type": "String"
}
],
"results": [
{
"Timestamp": "2024-03-26T09:39:50.7688641Z",
"FileName": "cmd.exe",
"InitiatingProcessFileName": "powershell.exe"
},
{
"Timestamp": "2024-03-26T09:39:49.4353788Z",
"FileName": "cmd.exe",
"InitiatingProcessFileName": "powershell.exe"
}
]
}
Exemplo 2: consulta com opcional o parâmetro de período de tempo especificado
Solicitação
Este exemplo especifica uma consulta KQL e analisa a tabela deviceProcessEvents no esquema de investigação avançado há 60 dias.
POST https://graph.microsoft.com/beta/security/runHuntingQuery
{
"Query": "DeviceProcessEvents",
"Timespan": "P90D"
}
Resposta
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 200 OK
Content-type: application/json
{
"schema": [
{
"Name": "Timestamp",
"Type": "DateTime"
},
{
"Name": "FileName",
"Type": "String"
},
{
"Name": "InitiatingProcessFileName",
"Type": "String"
}
],
"results": [
{
"Timestamp": "2020-08-30T06:38:35.7664356Z",
"FileName": "conhost.exe",
"InitiatingProcessFileName": "powershell.exe"
},
{
"Timestamp": "2020-08-30T06:38:30.5163363Z",
"FileName": "conhost.exe",
"InitiatingProcessFileName": "powershell.exe"
}
]
}
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de