Monitorar o Azure AD B2C com o Azure Monitor

Use o Azure Monitor para encaminhar a conexão e os logs de auditoria do Azure AD B2C (Azure Active Directory B2C) para diferentes soluções de monitoramento. Você pode reter os logs para uso de longo prazo ou integrá-lo com ferramentas de gerenciamento de eventos e informações de segurança (SIEM) de terceiros para obter informações sobre seu ambiente.

Você pode encaminhar eventos de log para:

Azure Monitor

Ao transferir logs do Azure AD B2C para um repositório ou soluções de monitoramento diferentes, lembre-se que os logs do Azure AD B2C contêm dados pessoais. Ao processar esses dados, lembre-se de usar as medidas de segurança apropriadas nos dados pessoais. Isso inclui proteção contra processamento não autorizado ou ilegal, usando medidas técnicas ou organizacionais apropriadas.

Descubra neste artigo como transferir os logs para um espaço de trabalho do Azure Log Analytics. Em seguida, crie um painel ou alertas baseados em atividades dos usuários do Azure AD B2C.

Assista a este vídeo para saber como configurar o monitoramento para o Azure AD B2C usando o Azure Monitor.

Visão geral da implantação

O Microsoft Azure AD B2C utiliza o monitoramento do Microsoft Entra. Ao contrário dos locatários do Microsoft Entra, um locatário do Azure AD B2C não pode ter uma assinatura associada a ele. Portanto, precisamos realizar etapas extras para habilitar a integração entre o Azure AD B2C e o Log Analytics, que é para onde enviaremos os logs. Para habilitar as Configurações de diagnóstico do Microsoft Entra ID em seu locatário do Azure AD B2C, use o Azure Lighthouse a fim de delegar um recurso, o que permite que o Azure AD B2C (o Provedor de serviços) gerencie um recurso do Microsoft Entra ID (o Cliente).

Dica

O Azure Lighthouse normalmente é usado para gerenciar recursos para vários clientes. No entanto, ele também pode ser usado para gerenciar recursos em uma empresa com vários locatários do Microsoft Entra, que é o que estamos fazendo aqui, exceto pela delegação apenas do gerenciamento de grupo de recursos único.

Depois de concluir as etapas neste artigo, você terá criado um novo grupo de recursos (aqui chamado de azure-ad-b2c-monitor) e terá acesso a esse mesmo grupo de recursos que contém o espaço de trabalho do Log Analytics em seu portal do Azure AD B2C. Você também poderá transferir os logs do Azure AD B2C para o seu espaço de trabalho do Log Analytics.

Durante esta implantação, você autorizará um usuário ou grupo em seu diretório do Azure AD B2C a fim de configurar a instância do espaço de trabalho do Log Analytics no locatário que contém sua assinatura do Azure. Para criar a autorização, implante um modelo do Azure Resource Manager na assinatura que contém o workspace do Log Analytics.

O diagrama a seguir ilustra os componentes que você irá configurar em seus locatários do Microsoft Entra ID e do Azure AD B2C.

Resource group projection

Durante essa implantação, você configurará seu locatário do Azure AD B2C no qual os logs são gerados. Você também configurará o locatário do Microsoft Entra em que o workspace do Log Analytics será hospedado. A conta do Azure AD B2C usada (como a conta do administrador) deve receber a função de Administrador Global no locatário do Azure AD B2C. A conta do Microsoft Entra que você usará para executar a implantação deve ser atribuída a função de Proprietário na assinatura do Microsoft Entra. Também é importante verificar se você está conectado ao diretório correto ao concluir cada etapa, conforme descrito.

Em resumo, você usará o Azure Lighthouse para permitir que um usuário ou grupo em seu locatário do Azure AD B2C gerencie um grupo de recursos em uma assinatura associada a um locatário diferente (o locatário do Microsoft Entra). Depois que essa autorização for concluída, a assinatura e o workspace do Log Analytics poderão ser selecionados como um destino nas Configurações de diagnóstico no Azure AD B2C.

Pré-requisitos

1. Criar ou atualizar o grupo de recursos

Primeiro crie ou escolha um grupo de recursos que contenha o espaço de trabalho de destino do Log Analytics que receberá os dados do Azure AD B2C. Você irá especificar o nome do grupo de recursos ao implantar o modelo do Azure Resource Manager.

  1. Entre no portal do Azure.
  2. Se você tiver acesso a vários locatários, selecione o ícone Configurações no menu superior para alternar para o locatário do Microsoft Entra ID no menu Diretórios + assinaturas.
  3. Crie um grupo de recursos ou escolha um existente. Este exemplo usa um grupo de recursos chamado azure-ad-b2c-monitor.

2. Criar um espaço de trabalho do Log Analytics

Um espaço de trabalho do Log Analytics é um ambiente exclusivo para os dados de log do Azure Monitor. Ele será usado para criar alertas e coletar dados dos logs de auditoria do Azure AD B2C a serem exibidos com consultas e pastas de trabalho.

  1. Entre no portal do Azure.
  2. Se você tiver acesso a vários locatários, selecione o ícone Configurações no menu superior para alternar para o locatário do Microsoft Entra ID no menu Diretórios + assinaturas.
  3. Criar um espaço de trabalho do Log Analytics. Este exemplo usa um espaço de trabalho do Log Analytics chamado AzureAdB2C em um grupo de recursos chamado azure-ad-b2c-monitor.

3. Gerenciamento de recursos delegados

Nesta etapa, você seleciona seu locatário do Azure AD B2C como um provedor de serviços. Também serão definidas as autorizações necessárias para atribuir as funções internas do Azure apropriadas aos grupos em seu locatário do Microsoft Entra.

3.1 Obter o ID do locatário do Azure AD B2C

Primeiro, obtenha o ID do locatário de seu diretório do Azure AD B2C (também conhecido como o ID do diretório).

  1. Entre no portal do Azure.
  2. Se você tiver acesso a vários locatários, selecione o ícone Configurações no menu superior para alternar para o seu locatário do Azure Active Directory B2C no menu Diretórios + assinaturas.
  3. Selecione Microsoft Entra ID, selecione Visão geral.
  4. Registre o ID do locatário.

3.2 Selecionar um grupo de segurança

Agora, selecione um usuário ou grupo do Azure AD B2C ao qual você queira conceder permissão para o grupo de recursos criado anteriormente no diretório com sua assinatura.

A fim de facilitar o gerenciamento, recomenda-se usar grupos de usuários do Microsoft Entra para cada função, pois eles permitem adicionar ou remover usuários individuais, em vez de atribuir as permissões diretamente aos usuários. Neste tutorial, saiba como adicionar um grupo de segurança.

Importante

Para adicionar permissões para um grupo do Microsoft Entra, o Tipo de grupo deve ser definido como Segurança. Essa opção é selecionada quando o grupo é criado. Para obter mais informações, consulte Criar um grupo básico e adicionar membros usando Microsoft Entra ID.

  1. Com o Microsoft Entra ID ainda selecionado no diretório do Azure AD B2C, selecione Grupos e, em seguida, um grupo. Se você não tiver um grupo, crie um novo grupo de Segurança e adicione membros a ele. Para obter mais informações, siga o procedimento em Criar um grupo básico e adicionar membros com o Microsoft Entra ID.
  2. Selecione Visão geral e registre o ID de objetodo grupo.

3.3 Criar um modelo do Azure Resource Manager

Para criar a autorização e a delegação personalizadas no Azure Lighthouse, usamos um modelo do Azure Resource Manager. Esse modelo concede ao Azure AD B2C o acesso ao grupo de recursos do Microsoft Entra criado anteriormente (por exemplo, azure-ad-b2c-monitor). Implante o modelo do exemplo do GitHub com o botão Implantar no Azure, que abre o portal do Azure e permite configurar e implantar o modelo diretamente. Para estas etapas, verifique se você está conectado ao locatário do Microsoft Entra (não ao do Azure AD B2C).

  1. Entre no portal do Azure.

  2. Se você tiver acesso a vários locatários, selecione o ícone Configurações no menu superior para alternar para o locatário do Microsoft Entra ID no menu Diretórios + assinaturas.

  3. Use o botão Implantar no Azure para abrir o portal do Azure e implantar o modelo diretamente nele. Para obter mais informações, consulte Criar um modelo do Azure Resource Manager.

    Deploy to Azure

  4. Na página Implantação personalizada, forneça as seguintes informações:

    Campo Definição
    Subscription Selecione o diretório que contém a assinatura do Azure em que o grupo de recursos azure-ad-b2c-monitor foi criado.
    Region Escolha a região em que o recurso será implantado.
    O nome da oferta MSP Um nome que descreve essa definição. Por exemplo, Monitoramento do Azure AD B2C. É o nome que será exibido no Azure Lighthouse. O Nome da Oferta do MSP deve ser exclusivo no Microsoft Entra ID. Para monitorar vários locatários do Azure AD B2C, use nomes diferentes.
    Descrição da oferta MSP Uma breve descrição da oferta. Por exemplo, habilita o Azure Monitor no Azure AD B2C.
    ID gerenciada por locatário O ID do locatário do Azure AD B2C, também conhecido como ID do diretório.
    Autorizações Especifique uma matriz JSON de objetos que incluam o principalId do Microsoft Entra ID, o principalIdDisplayName e o roleDefinitionId do Azure. O principalId é o ID de objeto do grupo ou usuário do B2C que terá acesso aos recursos nesta assinatura do Azure. Para este guia, especifique o ID de objeto do grupo registrado anteriormente. Para o roleDefinitionId, use o valor de função interna da função de Colaborador, b24988ac-6180-42a0-ab88-20f7382dd24c.
    Nome do Rg O nome do grupo de recursos criado anteriormente no locatário do Microsoft Entra. Por exemplo, azure-ad-b2c-monitor.

    O exemplo a seguir demonstra uma matriz de autorizações com um grupo de segurança.

    [
      {
        "principalId": "<Replace with group's OBJECT ID>",
        "principalIdDisplayName": "Azure AD B2C tenant administrators",
        "roleDefinitionId": "b24988ac-6180-42a0-ab88-20f7382dd24c"
      }
    ]
    

Depois de implantar o modelo, pode levar alguns minutos (normalmente não mais do que cinco) até que a projeção de recursos seja concluída. Você pode verificar a implantação em seu locatário do Microsoft Entra e obter os detalhes da projeção de recursos. Para saber mais, consulte Exibir e gerenciar provedores de serviços.

4. Selecionar sua assinatura

Depois de implantar o modelo e aguardar alguns minutos até a conclusão da projeção de recursos, siga estas etapas para associar sua assinatura ao seu diretório do Azure AD B2C.

Observação

Na página Configurações do portal | Diretórios + assinaturas, verifique se os locatários do Azure AD B2C e do Microsoft Entra estão selecionados em Diretórios atuais + delegados.

  1. Saia do portal do Azure e entre novamente com sua conta administrativa do Azure AD B2C. Essa conta deve ser membro do grupo de segurança especificado na etapa Gerenciamento de recursos delegados. Sair e voltar permite que suas credenciais de sessão sejam atualizadas na próxima etapa.

  2. Selecione o ícone Configurações na barra de ferramentas do portal.

  3. Na página Configurações do portal | Diretórios + assinaturas, na lista Nome do diretório, localize o diretório do Microsoft Entra ID que contém a assinatura do Azure e o grupo de recursos azure-ad-b2c-monitor que você criou e selecione Alternar.

  4. Verifique se você selecionou o diretório correto e se a assinatura do Azure está listada e selecionada no Filtro da assinatura padrão.

    Screenshot of the default subscription filter

5. Definir as configurações de diagnóstico

As configurações de diagnóstico definem para onde os logs e as métricas de um recurso devem ser enviados. Os possíveis destinos são:

Neste exemplo, o espaço de trabalho do Log Analytics é usado para a criação de um painel.

5.1 Criar configurações de diagnóstico

Você está pronto para criar configurações de diagnóstico no portal do Azure.

Para definir as configurações de monitoramento dos logs de atividades do Azure AD B2C, faça o seguinte:

  1. Entre no portal do Azure com sua conta administrativa do Azure AD B2C. Essa conta deve ser membro do grupo de segurança especificado na etapa Selecionar um grupo de segurança.

  2. Se você tiver acesso a vários locatários, selecione o ícone Configurações no menu superior para alternar para o seu locatário do Azure Active Directory B2C no menu Diretórios + assinaturas.

  3. Selecione Microsoft Entra ID

  4. Em Monitoramento, selecione Configurações de diagnóstico.

  5. Se houver configurações já definidas para o recurso, você verá uma lista com elas. Selecione Adicionar configuração de diagnóstico para definir uma nova configuração ou Editar configurações para editar uma existente. Cada configuração pode ter apenas um destino de cada tipo.

    Screenshot of the diagnostics settings pane in Azure portal.

  6. Dê um nome à configuração se ela ainda não tiver um.

  7. Selecione AuditLogs e SignInLogs.

  8. Selecione Enviar para o Workspace do Log Analytics e:

    1. Em Assinatura, selecione sua assinatura.
    2. No Workspace do Log Analytics, selecione o nome do workspace que você criou anteriormente, como AzureAdB2C.

    Observação

    Atualmente, há suporte apenas para as configurações de diagnóstico AuditLogs e SignInLogs em locatários do Azure AD B2C.

  9. Clique em Salvar.

Observação

Pode levar até 15 minutos depois da emissão de um evento para que ele apareça em um espaço de trabalho do Log Analytics. Além disso, saiba mais sobre as Latências de relatório do Active Directory, que podem afetar a desatualização dos dados e desempenhar um papel importante no relatório.

Se for exibida a mensagem de erro Para definir as configurações de diagnóstico a fim de usar o Azure Monitor para o diretório do Azure AD B2C, configure o gerenciamento de recursos delegados, conecte-se com um usuário que seja membro do grupo de segurança e selecione sua assinatura.

6. Visualizar seus dados

Agora você pode configurar o espaço de trabalho do Log Analytics para ver seus dados e configurar alertas. Essas configurações podem ser feitas tanto no locatário do Microsoft Entra quanto no do Azure AD B2C.

6.1 Criar uma consulta

As consultas de log ajudam você a usar tudo o que os dados coletados nos logs do Azure Monitor têm a oferecer. Uma linguagem de consulta eficiente permite unir dados de várias tabelas, agregar grandes conjuntos de dados e executar operações complexas com o mínimo de códigos. Praticamente qualquer pergunta pode ser respondida e qualquer análise realizada, desde que os dados de suporte tenham sido coletados e você entenda como criar a consulta certa. Para obter mais informações, consulte Introdução às consultas de log no Azure Monitor.

  1. Entre no portal do Azure.

  2. Se você tiver acesso a vários locatários, selecione o ícone Configurações no menu superior para alternar para o locatário do Microsoft Entra ID no menu Diretórios + assinaturas.

  3. Na janela Workspace do Log Analytics, selecione Logs

  4. No editor de consultas, cole a seguinte consulta Linguagem de consulta Kusto. Ela mostra o uso de políticas por operação nos últimos x dias. A duração padrão é definida para 90 dias (90d). Observe que a consulta foca apenas nas operações em que um token/código é emitido pela política.

    AuditLogs
    | where TimeGenerated  > ago(90d)
    | where OperationName contains "issue"
    | extend  UserId=extractjson("$.[0].id",tostring(TargetResources))
    | extend Policy=extractjson("$.[1].value",tostring(AdditionalDetails))
    | summarize SignInCount = count() by Policy, OperationName
    | order by SignInCount desc  nulls last
    
  5. Selecione Executar. Os resultados da consulta são exibidos na parte inferior da tela.

  6. Para salvar sua consulta para uso posterior, selecione Salvar.

    Log Analytics log editor

  7. Insira os seguintes detalhes:

    • Nome - insira o nome de sua consulta.
    • Salvar como - Selecione query.
    • Categoria - Selecione Log.
  8. Selecione Salvar.

Você também pode alterar sua consulta para ver os dados usando o operador render.

AuditLogs
| where TimeGenerated  > ago(90d)
| where OperationName contains "issue"
| extend  UserId=extractjson("$.[0].id",tostring(TargetResources))
| extend Policy=extractjson("$.[1].value",tostring(AdditionalDetails))
| summarize SignInCount = count() by Policy
| order by SignInCount desc  nulls last
| render  piechart

Log Analytics log editor pie

Para obter mais exemplos, consulte o Repositório GitHub do SIEM do Azure AD B2C.

6.2 Criar uma pasta de trabalho

As pastas de trabalho fornecem uma tela flexível para análise de dados e a criação de relatórios visuais avançados no portal do Azure. Com elas, você pode explorar várias fontes de dados em todo o Azure e combiná-las em experiências interativas unificadas. Para saber mais, consulte Pastas de trabalho do Azure Monitor.

Siga as instruções abaixo para criar uma nova pasta de trabalho com um modelo de galeria JSON. Essa pasta de trabalho fornece um painel para Insights do usuário e um para Autenticação do locatário do Azure AD B2C.

  1. Entre no portal do Azure.

  2. Se você tiver acesso a vários locatários, selecione o ícone Configurações no menu superior para alternar para o locatário do Microsoft Entra ID no menu Diretórios + assinaturas.

  3. Na janela workspace do Log Analytics, selecione Pastas de Trabalho.

  4. Na barra de ferramentas, selecione a opção + Novo para criar uma nova pasta de trabalho.

  5. Na página Nova pasta de trabalho, selecione o Editor Avançado usando a opção </> da barra de ferramentas.

    Gallery Template

  6. Selecione Modelo de galeria.

  7. Substitua o JSON no Modelo de galeria pelo conteúdo da pasta de trabalho básica do Azure AD B2C:

  8. Aplique o modelo com o botão Aplicar.

  9. Selecione o botão Edição concluída na barra de ferramentas para concluir a edição da pasta de trabalho.

  10. Por fim, salve a pasta de trabalho com o botão Salvar da barra de ferramentas.

  11. Forneça um Título, como Painel do Azure AD B2C.

  12. Selecione Salvar.

    Save the workbook

A pasta de trabalho exibirá relatórios na forma de um painel.

Workbook first dashboard

Workbook second dashboard

Workbook third dashboard

Criar alertas

Alertas são criados por regras de alerta no Azure Monitor e podem executar automaticamente consultas salvas ou pesquisas de logs personalizadas em intervalos regulares. Você pode criar alertas com base em métricas de desempenho específicas ou quando determinados eventos ocorrerem. Você também pode criar alertas sobre a ausência de um evento ou sobre vários eventos ocorrerem em uma determinada janela de tempo. Por exemplo, os alertas podem ser usados para notificá-lo quando o número médio de conexões exceder um determinado limite. Para obter mais informações, consulte Criar alertas.

Use as instruções a seguir para criar um novo alerta do Azure, que enviará uma notificação por email sempre que houver uma queda de 25% no Total de solicitações, quando comparado ao período anterior. O alerta será executado a cada 5 minutos e procurará a queda na última hora em comparação com a hora anterior. Os alertas são criados usando a linguagem de consulta Kusto.

  1. Entre no portal do Azure.

  2. Se você tiver acesso a vários locatários, selecione o ícone Configurações no menu superior para alternar para o locatário do Microsoft Entra ID no menu Diretórios + assinaturas.

  3. No espaço de trabalho do Log Analytics, selecione Logs.

  4. Crie uma nova Consulta Kusto por meio da consulta abaixo.

    let start = ago(2h);
    let end = now();
    let threshold = -25; //25% decrease in total requests.
    AuditLogs
    | serialize TimeGenerated, CorrelationId, Result
    | make-series TotalRequests=dcount(CorrelationId) on TimeGenerated from start to end step 1h
    | mvexpand TimeGenerated, TotalRequests
    | serialize TotalRequests, TimeGenerated, TimeGeneratedFormatted=format_datetime(todatetime(TimeGenerated), 'yyyy-MM-dd [HH:mm:ss]')
    | project   TimeGeneratedFormatted, TotalRequests, PercentageChange= ((toreal(TotalRequests) - toreal(prev(TotalRequests,1)))/toreal(prev(TotalRequests,1)))*100
    | order by TimeGeneratedFormatted desc
    | where PercentageChange <= threshold   //Trigger's alert rule if matched.
    
  5. Selecione Executar para testar a consulta. Você deverá ver os resultados se houver uma queda de 25% ou mais no total de solicitações na última hora.

  6. Para criar uma regra de alerta com base na consulta acima, use a opção + Nova regra de alerta disponível na barra de ferramentas.

  7. Na página Criar regra de alerta, selecione Nome da condição

  8. Na página Configurar lógica de sinal, defina os valores a seguir e use o botão Concluído para salvar as alterações.

    • Lógica de alerta: defina o Número de resultados como maior que0.
    • Avaliação baseada em: selecione 120 para o período (em minutos) e 5 para a frequência (em minutos)

    Create a alert rule condition

Depois da criação do alerta, acesse espaço de trabalho do Log Analytics e selecione Alertas. Essa página exibe todos os alertas disparados na duração definida pela opção de Intervalo de tempo.

Configurar grupos de ação

Alertas do Azure Monitor e da Integridade do Serviço usam grupos de ações para notificar usuários de que um alerta foi disparado. É possível incluir o envio de uma chamada de voz, de um SMS ou de um email ou disparar diversos tipos de ações automatizadas. Siga as diretrizes em Criar e gerenciar grupos de ações no portal do Azure

Eis um exemplo de um email de notificação de alerta.

Email notification

Diversos locatários

Para integrar vários logs de locatário do Azure AD B2C ao mesmo espaço de trabalho do Log Analytics (ou conta de armazenamento do Azure ou hub de eventos), você precisa de implantações separadas com valores de Nome da oferta MSP diferentes. Verifique se o espaço de trabalho do Log Analytics está no mesmo grupo de recursos configurado em Criar ou escolher um grupo de recursos.

Ao trabalhar com vários espaços de trabalho do Log Analytics, use a Consulta entre espaços de trabalho para criar consultas que funcionem em diversos espaços de trabalho. Por exemplo, a consulta a seguir executa uma junção de dois logs de auditoria de diferentes locatários com base na mesma categoria (por exemplo, autenticação):

workspace("AD-B2C-TENANT1").AuditLogs
| join  workspace("AD-B2C-TENANT2").AuditLogs
  on $left.Category== $right.Category

Alterar o período de retenção de dados

Os logs do Azure Monitor foram projetados para o dimensionamento e o suporte à coleta, à indexação e ao armazenamento de grandes quantidades de dados por dia de qualquer fonte em sua empresa ou implantada no Azure. Por padrão, os logs são mantidos por 30 dias, mas a duração da retenção pode ser aumentada para até dois anos. Saiba como Gerenciar o uso e os custos com logs do Azure Monitor. Depois de selecionar o tipo de preço, é possível Alterar o período de retenção de dados.

Desativar a coleta de dados de monitoramento

Para interromper a coleta de logs no seu workspace do Log Analytics, exclua as configurações de diagnóstico que você criou. Você continuará a incorrer em cobranças pela retenção dos dados de log que já foram coletados no seu espaço de trabalho. Se não precisar mais dos dados de monitoramento coletados, você poderá excluir o espaço de trabalho do Log Analytics e o grupo de recursos criados para o Azure Monitor. A exclusão do espaço de trabalho do Log Analytics exclui todos os dados no espaço de trabalho e evita que você incorra em cobranças adicionais de retenção de dados.

Excluir o grupo de recursos e o workspace do Log Analytics

  1. Entre no portal do Azure.
  2. Se você tiver acesso a vários locatários, selecione o ícone Configurações no menu superior para alternar para o locatário do Microsoft Entra ID no menu Diretórios + assinaturas.
  3. Escolha o grupo de recursos que contém o workspace do Log Analytics. Este exemplo utiliza um grupo de recursos chamado azure-ad-b2c-monitor e um espaço de trabalho do Log Analytics chamado AzureAdB2C.
  4. Excluir o workspace Logs Analytics.
  5. Selecione o botão Excluir para excluir o grupo de recursos.

Próximas etapas