Arquivar logs e relatórios no gerenciamento de direitos no Azure Monitor

O Microsoft Entra ID armazena eventos de auditoria por até 30 dias no registro de auditoria. No entanto, você pode manter os dados de auditoria por mais tempo do que o período de retenção padrão, descrito em Por quanto tempo o Microsoft Entra ID armazena dados de relatórios?, roteando-os para uma conta de Armazenamento do Azure ou usando o Azure Monitor. Você pode usar pastas de trabalho, consultas personalizadas e relatórios sobre esses dados.

Configurar Microsoft Entra ID para usar o Azure Monitor

Dica

As etapas neste artigo podem variar ligeiramente com base no portal do qual você começa.

Antes de usar as pastas de trabalho do Azure Monitor, você deve configurar o Microsoft Entra ID para enviar uma cópia dos logs de auditoria para o Azure Monitor.

O arquivamento dos logs de auditoria do Microsoft Entra exige que você tenha o Azure Monitor em uma assinatura do Azure. Você pode ler mais sobre os pré-requisitos e os custos estimados de uso do Azure Monitor em logs de atividade do Microsoft Entra no Azure Monitor.

Função de pré-requisito: Administrador Global

  1. Entre no Centro de administração do Microsoft Entra como um Administrador global. Verifique se você tem acesso ao grupo de recursos que contém o workspace do Azure Monitor.

  2. Navegue até Identidade>Monitoramento e integridade>Configurações de diagnóstico.

  3. Verifique se já existe uma configuração para enviar os logs de auditoria para esse workspace.

  4. Se ainda não houver uma configuração, selecione Adicionar configuração de diagnóstico. Use as instruções em Integrar logs do Microsoft Entra ID a logs do Azure Monitor para enviar o log de auditoria do Microsoft Entra para o workspace do Azure Monitor.

    Diagnostics settings pane

  5. Depois que o log for enviado para o Azure Monitor, selecione Workspaces do Log Analytics e selecione o workspace que contém os logs de auditoria do Microsoft Entra.

  6. Selecione Uso e custos estimados e selecione Retenção de Dados. Altere o controle deslizante para o número de dias que você deseja manter os dados para atender aos seus requisitos de auditoria.

    Log Analytics workspaces pane

  7. Posteriormente, para ver o intervalo de datas mantidas em seu workspace, você pode usar a pasta de trabalho Intervalo de Datas de Log Arquivado:

    1. Navegue até Identidade>Monitoramento e integridade>Pastas de trabalho.

    2. Expanda a seção Solução de problemas do Microsoft Entra e selecione Intervalo de Datas de Log Arquivado.

Exibir eventos para um pacote de acesso

Para exibir eventos de um pacote de acesso, você deve ter acesso ao workspace do Azure monitor subjacente (consulte Gerenciar o acesso a dados de log e workspaces no Azure Monitor para obter informações) em uma das seguintes funções:

  • Administrador global
  • Administrador de segurança
  • Leitor de segurança
  • Leitor de relatórios
  • Administrador de aplicativos

Use o procedimento a seguir para exibir os eventos:

  1. No Centro de administração do Microsoft Entra, selecione Identidade e, em seguida, Pastas de Trabalho. Se você tiver apenas uma assinatura, pule para a etapa 3.

  2. Se você tiver várias assinaturas, selecione a assinatura que contém o workspace:

  3. Selecione a pasta de trabalho chamada Atividade do Pacote de Acesso.

  4. Nessa pasta de trabalho, selecione um intervalo de tempo (altere para Todos se não tiver certeza) e selecione uma ID do pacote de acesso na lista suspensa de todos os pacotes de acesso que tinham atividade durante esse intervalo de tempo. Os eventos relacionados ao pacote de acesso que ocorreram durante o intervalo de tempo selecionado serão exibidos.

    View access package events

    Cada linha inclui a hora, a ID do pacote de acesso, o nome da operação, a ID do objeto, o UPN e o nome de exibição do usuário que iniciou a operação. Detalhes adicionais são incluídos no JSON.

  5. Se você quiser ver se houve alterações nas atribuições de função de aplicativo para um aplicativo que não seja devido às atribuições de pacote de acesso, como por um administrador global que atribui um usuário diretamente a uma função de aplicativo, você pode selecionar a pasta de trabalho chamada Atividade de atribuição de funções de aplicativo.

    View app role assignments

Criar consultas personalizadas do Azure Monitor usando o Centro de administração do Microsoft Entra

Você pode criar suas próprias consultas sobre eventos de auditoria do Microsoft Entra, incluindo eventos de gerenciamento de direitos.

  1. Em Identidade do Centro de administração do Microsoft Entra, selecione Logs na seção Monitoramento no menu de navegação à esquerda para criar uma nova página de consulta.

  2. Seu workspace deve ser mostrado no canto superior esquerdo da página de consulta. Se você tiver vários workspaces do Azure Monitor e o workspace que você estiver usando para armazenar eventos de auditoria do Microsoft Entra ID não for mostrado, selecione Selecionar Escopo. Em seguida, selecione a assinatura e o workspace corretos.

  3. Em seguida, na área de texto da consulta, exclua a cadeia de caracteres “pesquisa *” e substitua-a pela seguinte consulta:

    AuditLogs | where Category == "EntitlementManagement"
    
  4. Depois, selecione Executar.

    Click Run to start query

Por padrão, a tabela mostra os eventos do log de auditoria para gerenciamento de direitos da última hora. Você pode alterar a configuração de “intervalo de tempo” para exibir eventos mais antigos. No entanto, alterar essa configuração mostrará apenas os eventos que ocorreram após o Microsoft Entra ID ter sido configurado para enviar eventos para o Azure Monitor.

Se você quiser saber os eventos de auditoria mais antigos e mais recentes mantidos no Azure Monitor, use a seguinte consulta:

AuditLogs | where TimeGenerated > ago(3653d) | summarize OldestAuditEvent=min(TimeGenerated), NewestAuditEvent=max(TimeGenerated) by Type

Para obter mais informações sobre as colunas que são armazenadas para eventos de auditoria no Azure Monitor, consulte Interpretar o esquema de logs de auditoria do Microsoft Entra ID no Azure Monitor.

Criar consultas personalizadas do Azure Monitor usando o Azure PowerShell

Você pode acessar os logs por meio do PowerShell depois de configurar o Microsoft Entra ID para enviar logs para o Azure Monitor. Em seguida, envie consultas de scripts ou da linha de comando do PowerShell, sem a necessidade de ser um Administrador Global no locatário.

Verifique se o usuário ou a entidade de serviço tem a atribuição de função correta

Verifique se você, o usuário ou a entidade de serviço que se autenticará no Microsoft Entra ID, está na função apropriada do Azure no workspace do Log Analytics. As opções de função são o Leitor do Log Analytics ou o Colaborador do Log Analytics. Se você já estiver em uma dessas funções, pule para Recuperar a ID do Log Analytics com uma assinatura do Azure.

Para definir a atribuição de função e criar uma consulta, execute as seguintes etapas:

  1. No centro de administração do Microsoft Entra, localize o workspace do Log Analytics.

  2. Selecione Controle de Acesso (IAM) .

  3. Em seguida, selecione Adicionar para adicionar uma atribuição de função.

    Add a role assignment

Instalar o módulo do Azure PowerShell

Depois de ter a atribuição de função apropriada, inicie o PowerShell e instale o módulo do Azure PowerShell (se ainda não tiver feito isso), digitando:

install-module -Name az -allowClobber -Scope CurrentUser

Agora você está pronto para se autenticar no Microsoft Entra ID e recuperar a ID do workspace do Log Analytics que você está consultando.

Recuperar a ID do Log Analytics com uma assinatura do Azure

Se você tiver apenas uma única assinatura do Azure e um único workspace do Log Analytics, digite o seguinte para autenticar no Microsoft Entra ID, conecte-se a essa assinatura e recupere esse workspace:

Connect-AzAccount
$wks = Get-AzOperationalInsightsWorkspace

Recuperar a ID do Log Analytics com várias assinaturas do Azure

O Get-AzOperationalInsightsWorkspace opera em uma assinatura por vez. Portanto, se você tiver várias assinaturas do Azure, conecte-se a uma que tenha o workspace do Log Analytics com os logs do Microsoft Entra.

Os cmdlets a seguir exibem uma lista de assinaturas e localizam a ID da assinatura que tem o workspace do Log Analytics:

Connect-AzAccount
$subs = Get-AzSubscription
$subs | ft

Você pode autenticar e associar sua sessão do PowerShell a essa assinatura usando um comando como Connect-AzAccount –Subscription $subs[0].id. Para saber mais sobre como autenticar o Azure do PowerShell, inclusive não interativamente, consulte Entrar com Azure PowerShell.

Se você tiver vários workspaces do Log Analytics nessa assinatura, o cmdlet Get-AzOperationalInsightsWorkspace retornará a lista de workspaces. Em seguida, você poderá encontrar a que tem os logs do Microsoft Entra. O campo CustomerId retornado por esse cmdlet é o mesmo que o valor do "ID do workspace" exibido no centro de administração do Microsoft Entra na visão geral do workspace do Log Analytics.

$wks = Get-AzOperationalInsightsWorkspace
$wks | ft CustomerId, Name

Enviar a consulta para o workspace do Log Analytics

Por fim, depois que um workspace for identificado, você poderá usar Invoke-AzOperationalInsightsQuery para enviar uma consulta Kusto para esse workspace. Essas consultas são gravadas na linguagem de consulta Kusto.

Por exemplo, você pode recuperar o intervalo de datas dos registros de eventos de auditoria do workspace do Log Analytics, com cmdlets do PowerShell para enviar uma consulta como:

$aQuery = "AuditLogs | where TimeGenerated > ago(3653d) | summarize OldestAuditEvent=min(TimeGenerated), NewestAuditEvent=max(TimeGenerated) by Type"
$aResponse = Invoke-AzOperationalInsightsQuery -WorkspaceId $wks[0].CustomerId -Query $aQuery
$aResponse.Results |ft

Você também pode recuperar eventos de gerenciamento de direitos usando uma consulta como:

$bQuery = 'AuditLogs | where Category == "EntitlementManagement"'
$bResponse = Invoke-AzOperationalInsightsQuery -WorkspaceId $wks[0].CustomerId -Query $Query
$bResponse.Results |ft 

Usando filtros de consulta

Você pode incluir o campo TimeGenerated para definir o escopo de uma consulta para um intervalo de tempo específico. Por exemplo, para recuperar os eventos do log de auditoria para políticas de atribuição de pacote de acesso de gerenciamento de direitos que foram criadas ou atualizadas nos últimos 90 dias, você pode fornecer uma consulta que inclua esse campo, bem como a categoria e o tipo de operação.

AuditLogs | 
where TimeGenerated > ago(90d) and Category == "EntitlementManagement" and Result == "success" and (AADOperationType == "CreateEntitlementGrantPolicy" or AADOperationType == "UpdateEntitlementGrantPolicy") | 
project ActivityDateTime,OperationName, InitiatedBy, AdditionalDetails, TargetResources

Para eventos de auditoria de alguns serviços, como o gerenciamento de direitos, você também pode expandir e filtrar as propriedades afetadas dos recursos que estão sendo alterados. Por exemplo, você pode exibir apenas esses registros do log de auditoria para políticas de atribuição de pacote de acesso que foram criadas ou atualizadas, que não exigem aprovação para que os usuários tenham uma atribuição adicionada.

AuditLogs | 
where TimeGenerated > ago(90d) and Category == "EntitlementManagement" and Result == "success" and (AADOperationType == "CreateEntitlementGrantPolicy" or AADOperationType == "UpdateEntitlementGrantPolicy") | 
mv-expand TargetResources | 
where TargetResources.type == "AccessPackageAssignmentPolicy" | 
project ActivityDateTime,OperationName,InitiatedBy,PolicyId=TargetResources.id,PolicyDisplayName=TargetResources.displayName,MP1=TargetResources.modifiedProperties | 
mv-expand MP1 | 
where (MP1.displayName == "IsApprovalRequiredForAdd" and MP1.newValue == "\"False\"") |
order by ActivityDateTime desc 

Próximas etapas