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

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.

Importante

Ao transferir logs do Azure AD B2C para um repositório ou soluções de monitoramento diferentes, considere o seguinte. Os logs do Azure AD B2C contêm dados pessoais. Esses dados devem ser processados de maneira a garantir a segurança adequada das informações pessoais, incluindo a proteção contra processamento não autorizado ou ilegal, com medidas técnicas ou organizacionais apropriadas.

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 Azure AD B2C utiliza o monitoramento do Azure Active Directory. Como um locatário do Azure AD B2C, ao contrário dos locatários do Azure AD, não pode ter uma assinatura associada a ele, precisamos executar algumas etapas adicionais para habilitar a integração entre o Azure AD B2C e o Log Analytics, que é onde enviaremos os logs. Para habilitar as Configurações de diagnóstico do Azure Active Directory 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 Azure AD (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 Azure AD, 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 contendo o workspace do Log Analytics.

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

Projeção do grupo de recursos

Durante a implantação, você irá configurar seus locatários do Azure AD B2C e do Azure AD no local em que o espaço de trabalho 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 Azure AD usada para executar a implantação deve ser atribuída à função Proprietário na assinatura do Azure AD. 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 Azure AD). 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.

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. Verifique se você está usando o diretório que contém seu locatário do Azure AD. Selecione o ícone Diretórios + assinaturas na barra de ferramentas do portal.
  3. Na página Configurações do portal | Diretórios + assinaturas, encontre o diretório Azure Active Directory na lista Nome do diretório e selecione Alternar.
  4. 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. Verifique se você está usando o diretório que contém seu locatário do Azure AD. Selecione o ícone Diretórios + assinaturas na barra de ferramentas do portal.
  3. Na página Configurações do portal | Diretórios + assinaturas, encontre o diretório Azure Active Directory na lista Nome do diretório e selecione Alternar.
  4. 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 Azure AD.

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. Verifique se você está usando o diretório que contém seu locatário do Azure AD B2C. Selecione o ícone Diretórios + assinaturas na barra de ferramentas do portal.
  3. Na página Configurações do portal | Diretórios + assinaturas, encontre o diretório Azure Active Directory B2C na lista Nome do diretório e, em seguida, selecione Alternar.
  4. Selecione Azure Active Directory e, em seguida, Visão geral.
  5. 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 Azure AD 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 Azure AD, 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 o Azure Active Directory.

  1. Com o Azure Active Directory 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 Azure Active Directory.
  2. Selecione Visão geral e registre o ID de objeto do grupo.

3.3 Criar um modelo do Azure Resource Manager

Para criar uma autorização e delegação personalizadas no Azure Lighthouse, usaremos um modelo do Azure Resource Manager que concede ao Azure AD B2C acesso ao grupo de recursos do Azure AD 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 Azure AD (não ao do Azure AD B2C).

  1. Entre no portal do Azure.

  2. Verifique se você está usando o diretório que contém seu locatário do Azure AD. Selecione o ícone Diretórios + assinaturas na barra de ferramentas do portal.

  3. Na página Configurações do portal | Diretórios + assinaturas, encontre o diretório Azure Active Directory na lista Nome do diretório e selecione Alternar.

  4. 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.

    Implantar no Azure

  5. 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. Este nome será exibido no Azure Lighthouse.
    Descrição da oferta MSP Uma breve descrição da oferta. Por exemplo, habilita o Azure Monitor no Azure AD B2C.
    Gerenciado por ID do 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 Azure AD, 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 Azure AD. 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 Azure AD 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.

  1. Saia do portal do Azure se estiver conectado a ele no momento (isso permite que suas credenciais de sessão sejam atualizadas na próxima etapa).
  2. 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 Gerenciamento de recursos delegados.
  3. Selecione o ícone Diretórios + assinaturas na barra de ferramentas do portal.
  4. Na página Configurações do portal | Diretórios + assinaturas, na lista Nome do diretório, localize o diretório do Azure AD que contém a assinatura do Azure e o grupo de recursos azure-ad-b2c-monitor que você criou e selecione Alternar.
  5. Verifique se você selecionou o diretório e a assinatura corretos.

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. Verifique se você está usando o diretório que contém seu locatário do Azure AD B2C. Selecione o ícone Diretórios + assinaturas na barra de ferramentas do portal.

  3. Na página Configurações do portal | Diretórios + assinaturas, encontre o diretório Azure Active Directory B2C na lista Nome do diretório e, em seguida, selecione Alternar.

  4. Selecione Azure Active Directory

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

  6. 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 para editar uma existente. Cada configuração pode ter apenas um destino de cada tipo.

    Painel de configurações de diagnóstico no portal do Azure

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

  8. Marque a caixa de cada destino para enviar os logs. Selecione Configurar para especificar as configurações, conforme descrito na tabela a seguir.

  9. Selecione Enviar ao Log Analytics e, em seguida, o Nome do espaço de trabalho criado anteriormente (AzureAdB2C).

  10. Selecione AuditLogs e SignInLogs.

  11. Selecione 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 Azure AD quanto no do Azure AD B2C.

6.1 Criar uma consulta

As consultas de log ajudam você a aproveitar 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. No espaço de trabalho do Log Analytics, selecione Logs

  2. 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
    
  3. Selecione Executar. Os resultados da consulta são exibidos na parte inferior da tela.

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

    Editor de logs do Log Analytics

  5. Insira os seguintes detalhes:

    • Nome - insira o nome de sua consulta.
    • Salvar como - Selecione query.
    • Categoria - Selecione Log.
  6. 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

Pizza do editor de logs do Log Analytics

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. No espaço de trabalho do Log Analytics, selecione Pastas de trabalho.

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

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

    Modelo de galeria

  4. Selecione Modelo de galeria.

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

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

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

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

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

  10. Selecione Salvar.

    Salvar a pasta de trabalho

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

Primeiro painel da pasta de trabalho

Segundo painel da pasta de trabalho

Terceiro painel da pasta de trabalho

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. Crie alertas com base em métricas de desempenho específicas ou quando determinados eventos são criados, na ausência de um evento ou quando um número de eventos são criados em uma janela de tempo específica. 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 cinco minutos e irá 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. No espaço de trabalho do Log Analytics, selecione Logs.

  2. Crie uma nova Consulta Kusto com a 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.
    
  3. 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.

  4. 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.

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

  6. 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 que 0.
    • Avaliação baseada em: selecione 120 para o período (em minutos) e 5 para a frequência (em minutos)

    Criar uma condição de regra de alerta

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

Veja a seguir um exemplo de um email de notificação de alerta.

Notificação por email

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.

Próximas etapas