> ## Documentation Index
> Fetch the complete documentation index at: https://docs.casebender.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Microsoft Sentinel

> Integração bidirecional entre o CaseBender e o Microsoft Sentinel para ingestão de incidentes (pull ou push) e sincronização de disposições.

## Visão geral

A integração do Microsoft Sentinel (**INT-009**) ingere os incidentes do Sentinel no CaseBender e
pode devolver as disposições dos casos ao Sentinel quando um caso é fechado.

<CardGroup cols={2}>
  <Card title="Ingestão de entrada" icon="arrow-right-to-bracket">
    Os incidentes do Sentinel são ingeridos — **extraídos automaticamente** de forma
    agendada (recomendado) ou **enviados** por webhook / Logic App — e então
    normalizados e convertidos em alertas.
  </Card>

  <Card title="Sincronização de saída" icon="arrow-right-from-bracket">
    Quando um caso vinculado é fechado no CaseBender, o status e a classificação do
    incidente do Sentinel são atualizados com um comentário de auditoria.
  </Card>
</CardGroup>

<Tip>
  **Recomendado: ative a sondagem automática.** O CaseBender pode extrair novos
  incidentes de forma agendada diretamente do seu workspace do Log Analytics — sem
  Logic App, conector de dados ou endpoint de entrada. Consulte
  [Sondagem automática](#entrada-sondagem-automatica).
</Tip>

<Note>
  Esta integração usa a **API REST do Azure Security Insights** e autentica com um
  **aplicativo do Azure AD (Entra ID)** via fluxo client-credentials (escopo
  `management.azure.com`).
</Note>

## Recursos

| Recurso                             | Direção      | Descrição                                                                                                 |
| ----------------------------------- | ------------ | --------------------------------------------------------------------------------------------------------- |
| **Sondagem de incidentes (pull)**   | Entrada      | O CaseBender consulta a API Security Insights de forma agendada e ingere novos incidentes automaticamente |
| Ingestão de incidentes (push)       | Entrada      | Os incidentes do Sentinel são enviados por webhook / Logic App                                            |
| Extração de observáveis e entidades | Entrada      | As entidades são extraídas do incidente                                                                   |
| Sincronização de disposições        | Saída        | O `status` + `classification` do incidente + comentário são enviados no fechamento do caso                |
| Teste de conexão                    | Bidirecional | Valida as credenciais OAuth2 e o acesso ao workspace                                                      |

## Pré-requisitos

<Steps>
  <Step title="Registrar um aplicativo do Azure AD">
    No [centro de administração do Microsoft Entra](https://entra.microsoft.com), registre um
    aplicativo e crie um **client secret**. Anote o **Directory (tenant) ID**, o
    **Application (client) ID** e o valor do secret.
  </Step>

  <Step title="Atribuir a função no workspace">
    Conceda ao aplicativo a função **Microsoft Sentinel Reader** no workspace do Log Analytics com
    o Sentinel habilitado (para entrada). Para o fechamento de saída, conceda **Microsoft Sentinel
    Responder**.
  </Step>

  <Step title="Reunir as coordenadas do workspace">
    Anote o **Subscription ID**, o **Resource Group** e o **nome do workspace do Log Analytics**.
  </Step>

  <Step title="Saída de rede">
    O sondador do CaseBender deve alcançar `login.microsoftonline.com` e `management.azure.com`.
  </Step>
</Steps>

## Configurar a integração no CaseBender

<Steps>
  <Step title="Abrir o catálogo de integrações">
    Vá em **Settings → Integrations → Create** e escolha **Microsoft Sentinel** na categoria
    **SIEM**.
  </Step>

  <Step title="Inserir as credenciais do Azure e o workspace">
    | Campo                        | Descrição                                  |
    | ---------------------------- | ------------------------------------------ |
    | Azure Tenant ID              | Directory (tenant) ID                      |
    | Application (Client) ID      | O client ID do registro do aplicativo      |
    | Client Secret                | O valor do client secret                   |
    | Subscription ID              | Assinatura do Azure que contém o workspace |
    | Resource Group               | Grupo de recursos do workspace             |
    | Log Analytics Workspace Name | Workspace com Sentinel a ser sondado       |
  </Step>

  <Step title="Ativar a sondagem automática (recomendado)">
    | Opção                         | Efeito                                                                          |
    | ----------------------------- | ------------------------------------------------------------------------------- |
    | `pollingEnabled`              | Ativa a extração agendada de incidentes do Sentinel                             |
    | `pollingIntervalMinutes`      | Frequência de sondagem (padrão `5`, intervalo 1–1440)                           |
    | `pollingInitialLookbackHours` | Na primeira execução, importa incidentes modificados nesta janela (padrão `24`) |
    | `pollMaxItemsPerRun`          | Limite de segurança de itens por execução (padrão `500`)                        |
  </Step>

  <Step title="Configurar a criação automática de casos">
    | Opção                | Efeito                                                                                                                                         |
    | -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
    | `autoCreateCases`    | Promove cada incidente ingerido a um **Caso** (deduplicado por nome de incidente). Se desativado, os incidentes permanecem na caixa de alertas |
    | `minSeverityForCase` | Cria casos automaticamente apenas a partir desta severidade                                                                                    |
  </Step>
</Steps>

## Entrada (sondagem automática)

<Steps>
  <Step title="Extração agendada">
    A cada intervalo, o CaseBender enumera os incidentes do workspace com
    `properties/lastModifiedTimeUtc` maior que o último cursor, em ordem crescente. Na primeira
    execução, os incidentes modificados dentro de `pollingInitialLookbackHours` são importados.
  </Step>

  <Step title="Cursor + deduplicação">
    O CaseBender avança um cursor por integração até o `lastModifiedTimeUtc` mais recente. Os
    incidentes são **deduplicados por nome de incidente**, de modo que janelas sobrepostas nunca
    criam duplicatas.
  </Step>

  <Step title="Normalização">
    Cada incidente é normalizado em um alerta do CaseBender, e o identificador do incidente do
    Sentinel é preservado para que o fechamento de saída possa encontrá-lo mais tarde.
  </Step>
</Steps>

<Info>
  A sondagem é executada no serviço de sondagem em segundo plano do CaseBender. Certifique-se de que
  ele consiga alcançar `login.microsoftonline.com` e `management.azure.com` (diretamente ou através
  do seu proxy).
</Info>

## Saída: sincronização de disposições para o Sentinel

Quando um caso vinculado é fechado, o CaseBender atualiza o `status` do incidente do Sentinel (para
`Closed`) e a `classification`, e adiciona um comentário de auditoria. A saída requer a função
**Microsoft Sentinel Responder**.

## Considerações de segurança

* **Privilégio mínimo** — conceda **Sentinel Reader** apenas para entrada; adicione **Sentinel
  Responder** somente se ativar o fechamento de saída.
* **Manejo de segredos** — faça a rotação do client secret conforme a política da sua organização.
* **Rede** — restrinja a saída a `login.microsoftonline.com` e `management.azure.com`.

## Solução de problemas

<AccordionGroup>
  <Accordion title="A autenticação falha">
    Verifique os IDs de tenant/cliente e o secret, e se o aplicativo tem a função Sentinel Reader no
    workspace. Confirme que o subscription ID, o resource group e o nome do workspace estão corretos.
  </Accordion>

  <Accordion title="A sondagem está ativada, mas nenhum incidente aparece">
    Confirme que **Enable automatic polling** está ativado e que as coordenadas do workspace estão
    corretas. Verifique se o sondador consegue alcançar `management.azure.com`. Na primeira execução,
    apenas os incidentes dentro de `pollingInitialLookbackHours` são importados.

    **Certifique-se de que todos os serviços do CaseBender estejam em execução** — com o Docker,
    `docker compose ps` deve mostrar os serviços `worker` e `misp-processor` como `Up`.
  </Accordion>

  <Accordion title="O fechamento do caso não atualiza o Sentinel">
    Certifique-se de que o aplicativo tem a função Sentinel Responder e que o caso está vinculado a
    um incidente do Sentinel. Consulte a linha do tempo do caso para o resultado da sincronização.
  </Accordion>
</AccordionGroup>

## Documentação relacionada

* [Visão geral das integrações](./introduction.mdx)
* [API REST do Microsoft Sentinel](https://learn.microsoft.com/en-us/rest/api/securityinsights/)
