Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os registos de atividades do Microsoft Graph fornecem um registo de auditoria de todos os pedidos HTTP que o serviço Microsoft Graph recebe e processa para um inquilino. Os administradores de inquilinos podem ativar a recolha de registos e configurar destinos a jusante através das definições de diagnóstico no Azure Monitor. Os registos vão para o Log Analytics para análise. Pode exportá-los para Azure Armazenamento para armazenamento de longo prazo ou transmiti-los em fluxo com Hubs de Eventos do Azure para ferramentas SIEM externas para alertas, análises ou arquivos.
Obtém registos de pedidos de API a partir de aplicações de linha de negócio, clientes de API, SDKs, Clientes de IA que consultam o Microsoft MCP Server para Empresas e aplicações Da Microsoft, como o Outlook, o Microsoft Teams ou os portais de administração da Microsoft.
Este serviço está disponível nestas implementações de cloud nacionais.
| Serviço global | US Government L4 | US Government L5 (DOD) | China operada pela 21Vianet |
|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ |
Pré-requisitos
Para utilizar os registos de atividades do Microsoft Graph, precisa dos seguintes privilégios.
- Uma licença de inquilino P1 ou P2 Microsoft Entra ID.
- Um administrador com uma função de administrador Microsoft Entra suportada. O Administrador de Segurança é a única função de administrador com menos privilégios suportada para configurar as definições de diagnóstico.
- Uma subscrição Azure com um dos seguintes destinos de registo configurados e permissões para utilizar dados nos destinos de registo correspondentes.
- Uma área de trabalho do Azure Log Analytics para enviar registos para Azure Monitor
- Uma conta de Armazenamento do Azure onde tem permissões de Chaves de Lista
- Um espaço de nomes Hubs de Eventos do Azure para se ligar a soluções de terceiros
Que dados estão disponíveis nos registos de atividades do Microsoft Graph
Este artigo mostra os dados sobre pedidos de API disponíveis para registos de atividades do Microsoft Graph na interface do Logs Analytics.
Dica
Os pedidos para o Microsoft MCP Server para Enterprise têm um RequestUri que inclui /enterprise.
| Coluna | Tipo | Descrição |
|---|---|---|
| AadTenantId | string | O ID de inquilino Azure AD. |
| ApiVersion | string | A versão da API do evento. |
| AppId | string | O identificador da aplicação. |
| ATContent | string | Reserved for future use. |
| ATContentH | string | Reserved for future use. |
| ATContentP | string | Reserved for future use. |
| _BilledSize | real | O tamanho do registo em bytes |
| ClientAuthMethod | int | Indica como o cliente foi autenticado. Para um cliente público, o valor é 0. Se o ID de cliente e o segredo do cliente forem utilizados, o valor é 1. Se um certificado de cliente tiver sido utilizado para autenticação, o valor é 2. |
| ClientRequestId | string | Opcional. O identificador do pedido de cliente quando enviado. Se não for enviado nenhum identificador de pedido de cliente, o valor será igual ao identificador da operação. |
| DeviceId | string | O identificador do dispositivo a partir do qual o pedido de autenticação teve origem. |
| DurationMs | int | A duração do pedido em milissegundos. |
| IdentityProvider | string | O fornecedor de identidade que autenticou o assunto do token. |
| IPAddress | string | O endereço IP do cliente a partir do qual ocorreu o pedido. |
| _IsBillable | string | Especifica se a ingestão de dados é faturável. Quando _IsBillable é ingestão não é false faturada na sua conta Azure |
| Local | string | O nome da região que serviu o pedido. |
| OperationId | string | O identificador do lote. Para pedidos não em lotes, este será exclusivo por pedido. Para pedidos em lote, este será o mesmo para todos os pedidos no lote. |
| RequestId | string | O identificador que representa o pedido. |
| RequestMethod | string | O método HTTP do evento. |
| RequestUri | string | O URI do pedido. |
| ResponseSizeBytes | int | O tamanho da resposta em Bytes. |
| ResponseStatusCode | int | A resposta HTTP status código para o evento. |
| Funções | string | As funções em afirmações de token. |
| Scopes | string | Os âmbitos em afirmações de tokens. |
| ServicePrincipalId | string | O identificador do servicePrincipal que faz o pedido. |
| SessionId | string | O identificador exclusivo da sessão de autenticação. |
| SignInActivityId | string | O identificador que representa as atividades de início de sessão. |
| SourceSystem | string | O tipo de agente pelo que o evento foi recolhido. Por exemplo, OpsManager para o agente do Windows, ligação direta ou Operations Manager, Linux para todos os agentes linux ou Azure para Diagnóstico do Azure |
| TenantId | string | O ID da área de trabalho do Log Analytics |
| TimeGenerated | datetime | A data e hora em que o pedido foi recebido. |
| TokenIssuedAt | datetime | O carimbo de data/hora em que o token foi emitido. |
| Tipo | string | O nome da tabela |
| UniqueTokenId | string | O identificador de token exclusivo da chamada à API utilizada para fazer a alteração auditada. |
| UserAgent | string | As informações do agente de utilizador relacionadas com o pedido. |
| UserId | string | O identificador do utilizador que está a fazer o pedido. |
| Wids | string | Denota as funções ao nível do inquilino atribuídas a este utilizador. |
Casos de utilização comuns para registos de atividades do Microsoft Graph
- Veja todas as transações efetuadas por aplicações e outros clientes de API que tenha consentido no inquilino.
- Localize as atividades que uma conta de utilizador comprometida realiza no seu inquilino.
- Crie deteções e análise comportamental para detetar uma utilização suspeita ou invulgar das APIs do Microsoft Graph.
- Investigue a atribuição de permissões de aplicação com privilégios inesperados ou suspeitos.
- Detetar comportamentos problemáticos ou inesperados para aplicações cliente, como volumes de chamadas extremos.
- Monitorize as interações do cliente de IA com as APIs do Microsoft Graph, incluindo pedidos de aplicações de IA e do Microsoft MCP Server para Enterprise.
- Correlacione os pedidos do Microsoft Graph feitos por um utilizador ou aplicação com informações de início de sessão.
Configurar registos de atividades do Microsoft Graph
Stream os registos através da Definição de Diagnóstico no portal do Azure ou através de APIs Azure Resource Manager. Para saber mais, confira os seguintes artigos:
- Integrar registos de atividades com registos do Azure Monitor
- Configurar diagnosticSettings através da API de Azure Resource Manager
Utilize os seguintes artigos para configurar destinos de armazenamento:
Estimativas de planeamento de custos
Se já tiver uma licença do Microsoft Entra ID P1, precisa de uma subscrição Azure para configurar a área de trabalho do Log Analytics, a conta de armazenamento ou os Hubs de Eventos. Obtém a subscrição do Azure sem custos, mas paga para utilizar Azure recursos.
A quantidade de dados registados e o custo incorrido podem variar significativamente consoante o tamanho do inquilino e as aplicações no seu inquilino que interagem com as APIs do Microsoft Graph. A tabela seguinte fornece estimativas para o tamanho dos dados de registo para o ajudar a calcular os preços. Utilize estas estimativas apenas para consideração geral.
| Utilizadores no inquilino | Armazenamento (GiB por mês) | Mensagens dos Hubs de Eventos (por mês) | Azure Monitorizar Registos (GiB por mês) |
|---|---|---|---|
| 1.000 | 14 | 62,000 | 15 |
| 100.000 | 1.000 | 4.800.000 | 1.200 |
Veja os seguintes detalhes de preços para cada serviço:
Redução de custos do Log Analytics
Se ingerir os registos numa Área de Trabalho do Log Analytics, mas apenas estiver interessado em registos filtrados por critérios, como omitir determinadas colunas ou linhas, pode reduzir parcialmente os custos ao aplicar uma transformação de área de trabalho na tabela Registos de Atividades do Microsoft Graph. Para saber mais sobre as transformações da área de trabalho, como afeta os custos de ingestão e como aplicar uma transformação aos Registos de Atividades do Microsoft Graph, veja Transformações de recolha de dados no Azure Monitor.
Uma abordagem alternativa para reduzir o custo do Log Analytics é mudar para o plano de dados de registo Básico, o que reduz as faturas ao fornecer capacidades reduzidas. Para obter mais informações, veja Definir o plano de dados de registo de uma tabela como Básico ou Análise.
exemplos de consulta dos Registos do Azure Monitor
Se enviar registos de atividades do Microsoft Graph para uma área de trabalho do Log Analytics, pode consultar os registos com Linguagem de Consulta Kusto (KQL). Para obter mais informações sobre consultas na Área de Trabalho do Log Analytics, veja Analisar Microsoft Entra registos de atividades com o Log Analytics. Pode utilizar estas consultas para exploração de dados, criar regras de alerta, criar Azure dashboards ou integrar nas suas aplicações personalizadas com a API de Registos do Azure Monitor ou o SDK de Consulta.
A seguinte consulta Kusto identifica as 20 principais entidades que fazem pedidos aos recursos de grupos que estão a falhar devido à autorização:
MicrosoftGraphActivityLogs
| where TimeGenerated >= ago(3d)
| where ResponseStatusCode == 401 or ResponseStatusCode == 403
| where RequestUri contains "/groups"
| summarize UniqueRequests=count_distinct(RequestId) by AppId, ServicePrincipalId, UserId
| sort by UniqueRequests desc
| limit 20
A seguinte consulta Kusto identifica os recursos consultados ou modificados por utilizadores potencialmente de risco:
MicrosoftGraphActivityLogs
| where TimeGenerated > ago(30d)
| join AADRiskyUsers on $left.UserId == $right.Id
| extend resourcePath = replace_string(replace_string(replace_regex(tostring(parse_url(RequestUri).Path), @'(\/)+','/'),'v1.0/',''),'beta/','')
| summarize RequestCount=dcount(RequestId) by UserId, RiskState, resourcePath, RequestMethod, ResponseStatusCode
A seguinte consulta Kusto permite-lhe correlacionar os registos de atividades e os registos de início de sessão do Microsoft Graph. Os registos de atividades de aplicações da Microsoft podem não ter todas entradas de registo de início de sessão correspondentes. Para obter mais informações, veja Limitações conhecidas dos registos de início de sessão.
MicrosoftGraphActivityLogs
| where TimeGenerated > ago(7d)
| join kind=leftouter (union SigninLogs, AADNonInteractiveUserSignInLogs, AADServicePrincipalSignInLogs, AADManagedIdentitySignInLogs, ADFSSignInLogs
| where TimeGenerated > ago(7d))
on $left.SignInActivityId == $right.UniqueTokenIdentifier
A seguinte consulta Kusto identifica as aplicações que estão a ser limitadas:
MicrosoftGraphActivityLogs
| where TimeGenerated > ago(3d)
| where ResponseStatusCode == 429
| extend path = replace_string(replace_string(replace_regex(tostring(parse_url(RequestUri).Path), @'(\/)+','//'),'v1.0/',''),'beta/','')
| extend UriSegments = extract_all(@'\/([A-z2]+|\$batch)($|\/|\(|\$)',dynamic([1]),tolower(path))
| extend OperationResource = strcat_array(UriSegments,'/')| summarize RateLimitedCount=count() by AppId, OperationResource, RequestMethod
| sort by RateLimitedCount desc
| limit 100
A consulta seguinte permite-lhe compor um gráfico de série temporal:
MicrosoftGraphActivityLogs
| where TimeGenerated between (ago(3d) .. ago(1h))
| summarize EventCount = count() by bin(TimeGenerated, 10m)
| render timechart
with (
title="Recent traffic patterns",
xtitle="Time",
ytitle="Requests",
legend=hidden
)
Limitações
- A funcionalidade de registos de atividades do Microsoft Graph permite que os administradores inquilinos recolham registos para o inquilino do recurso. Esta funcionalidade não lhe permite ver as atividades de uma aplicação multi-inquilino noutro inquilino.
- Não pode filtrar os registos de atividades do Microsoft Graph através das definições de diagnóstico no Azure Monitor. No entanto, estão disponíveis opções para reduzir os custos no Azure Área de Trabalho do Log Analytics. Para obter mais informações, veja Transformação da área de trabalho.
- Na maioria das regiões, os eventos estão disponíveis e entregues no destino da configuração no prazo de 30 minutos. Em casos menos comuns, alguns eventos podem demorar até 2 horas a serem entregues no destino.