Compreender como o provisionamento se integra aos logs do Azure Monitor
O provisionamento integra-se aos logs do Azure Monitor e ao Log Analytics. Com o monitoramento do Azure, você pode fazer coisas como criar pastas de trabalho, também conhecidas como painéis, armazenar logs de provisionamento por 30+ dias e criar consultas e alertas personalizados. Este artigo discute como os logs de provisionamento se integram aos logs do Azure Monitor. Para saber mais sobre como os logs de provisionamento funcionam em geral, consulte Logs de provisionamento.
Habilitando logs de provisionamento
Se você ainda não estiver familiarizado com o Azure Monitor e o Log Analytics, explore os seguintes recursos e volte para saber mais sobre a integração de logs de provisionamento de aplicativos com logs do Azure Monitor.
- Descrição geral do Azure Monitor
- Configurar um espaço de trabalho do Log Analytics
- Integrar logs de atividade com logs do Azure Monitor
Para integrar logs de provisionamento com logs do Azure Monitor:
Entre no centro de administração do Microsoft Entra como pelo menos um Administrador de Segurança.
Crie um espaço de trabalho do Log Analytics.
Navegue até Monitoramento de identidade>& configurações de diagnóstico de integridade>.
Escolha os logs que deseja transmitir, selecione a opção Enviar para o espaço de trabalho do Log Analytics e preencha os campos.
Navegue até Identity>Monitoring & health>Log Analytics e comece a consultar os dados.
Nota
Pode levar algum tempo até que os logs apareçam no Log Analytics depois de habilitar a integração pela primeira vez. Se você receber um erro informando que a assinatura não está registrada para usar o microsoft.insights , verifique novamente após alguns minutos.
Compreender os dados
O fluxo de dados subjacente que o Provisionamento envia aos visualizadores de log é quase idêntico. Os logs do Azure Monitor recebem quase o mesmo fluxo que o centro de administração do Microsoft Entra e a API do Microsoft Graph. Há algumas diferenças nos campos de log, conforme descrito na tabela a seguir. O Log Analytics pode exibir mais eventos do que os logs no centro de administração do Microsoft Entra. Para saber mais sobre esses campos, consulte List provisioningObjectSummary.
Registos do Azure Monitor | IU do portal do Azure | API do Azure |
---|---|---|
errorDescription | reason | resultDescription |
status | resultType | resultType |
atividadeDataHora | TimeGenerated | TimeGenerated |
Pastas de trabalho do Microsoft Entra
As pastas de trabalho de identidade do Microsoft Entra fornecem uma tela flexível para análise de dados. Eles também fornecem a criação de relatórios visuais avançados no portal do Azure. Para saber mais, consulte Pastas de trabalho do Microsoft Entra.
A Análise de Provisionamento e o Provisioning Insights são duas das pastas de trabalho pré-criadas disponíveis. Para exibir os dados, verifique se todos os filtros (timeRange, jobID, appName) estão preenchidos. Confirme também se o aplicativo foi provisionado, caso contrário, não há dados nos logs.
Consultas personalizadas
Você pode criar consultas personalizadas e mostrar os dados em suas pastas de trabalho. Para saber como, consulte Introdução às consultas de log no Azure Monitor e Consultas de log no Azure Monitor.
Aqui estão alguns exemplos para começar a usar consultas de log de provisionamento de aplicativos.
Consulte os logs de um usuário com base em seu ID no sistema de origem:
AADProvisioningLogs
| extend SourceIdentity = parse_json(SourceIdentity)
| where tostring(SourceIdentity.Id) == "49a4974bb-5011-415d-b9b8-78caa7024f9a"
Resumir contagem por ErrorCode:
AADProvisioningLogs
| summarize count() by ErrorCode = ResultSignature
Resuma a contagem de eventos por dia por ação:
AADProvisioningLogs
| where TimeGenerated > ago(7d)
| summarize count() by Action, bin(TimeGenerated, 1d)
Realize 100 eventos e propriedades principais do projeto:
AADProvisioningLogs
| extend SourceIdentity = parse_json(SourceIdentity)
| extend TargetIdentity = parse_json(TargetIdentity)
| extend ServicePrincipal = parse_json(ServicePrincipal)
| where tostring(SourceIdentity.identityType) == "Group"
| project tostring(ServicePrincipal.Id), tostring(ServicePrincipal.Name), ModifiedProperties, JobId, Id, CycleId, ChangeId, Action, SourceIdentity.identityType, SourceIdentity.details, TargetIdentity.identityType, TargetIdentity.details, ProvisioningSteps
| take 100
Recupere grupos com membros ignorados devido a problemas na resolução de referências.
AADProvisioningLogs
| where TimeGenerated >= ago(10d)
| where JobId == "Azure2Azure.73f0883f-d67d-4af1-ac8a-45367f8982e0.5ef3be57-f45f-451g-88c4-68a7fda680bb" // Customize by adding a specific app JobId
| extend SourceIdentity = parse_json(SourceIdentity)
| extend ProvisioningSteps = parse_json(ProvisioningSteps)
| where tostring(SourceIdentity.identityType) == "Group"
| where ProvisioningSteps matches regex "UnableToResolveReferenceAttributeValue"
| parse tostring(ProvisioningSteps.[2].description) with "We were unable to assign " userObjectId " as the members of " groupDisplayName "." *
| project groupDisplayName, userObjectId, JobId
| take 100
Resumir ações por aplicativo.
AADProvisioningLogs
| where TimeGenerated > ago(30d)
| where JobId == "Azure2Azure.73f0883f-d67d-4af1-ac8a-45367f8982e0.5ef3be57-f45f-451g-88c4-68a7fda680bb" // Customize by adding a specific app JobId
| extend ProvisioningSteps = parse_json(ProvisioningSteps)
| extend eventName = tostring(ProvisioningSteps.[-1].name)
| summarize count() by eventName, JobId
| order by JobId asc
| take 5
Identifique picos em operações específicas.
AADProvisioningLogs
| where TimeGenerated > ago(30d)
| where JobId == "scim.73f0883f-d67d-4af1-ac8a-45367f8982e0.5ef3be57-f45f-451g-88c4-68a7fda680bb" // Customize by adding a specific app JobId
| extend ProvisioningSteps = parse_json(ProvisioningSteps)
| extend eventName = tostring(ProvisioningSteps.[-1].name)
| summarize count() by eventName, bin(TimeGenerated, 1d)
| render timechart
Alertas personalizados
O Azure Monitor permite configurar alertas personalizados para que você possa ser notificado sobre os principais eventos relacionados ao Provisionamento. Por exemplo, talvez você queira receber um alerta sobre picos de falhas. Ou talvez picos de desativações ou exclusões. Outro exemplo de onde você pode querer ser alertado é a falta de qualquer provisionamento, o que indica que algo está errado.
Para saber mais sobre alertas, consulte Alertas de log do Azure Monitor.
Alerte quando houver um pico de falhas. Substitua o jobID pelo jobID do seu aplicativo.
Pode haver um problema que fez com que o serviço de provisionamento parasse de ser executado. Use o alerta a seguir para detetar quando não há eventos de provisionamento durante um determinado intervalo de tempo.
Alerta quando há um pico de desativações ou exclusões.
Contribuições comunitárias
Estamos adotando uma abordagem de código aberto e baseada na comunidade para consultas e painéis de provisionamento de aplicativos. Crie uma consulta, alerta ou pasta de trabalho que você considere útil para outras pessoas e publique-a no repositório GitHub do AzureMonitorCommunity. Envie-nos um e-mail com um link. Revisamos e publicamos consultas e painéis no serviço para que outros também se beneficiem. Contacte-nos em provisioningfeedback@microsoft.com.