> ## 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

> Integrazione bidirezionale tra CaseBender e Microsoft Sentinel per l'acquisizione degli incidenti (pull o push) e la sincronizzazione delle disposizioni.

## Panoramica

L'integrazione di Microsoft Sentinel (**INT-009**) acquisisce gli incidenti di Sentinel in
CaseBender e può restituire le disposizioni dei casi a Sentinel quando un caso viene chiuso.

<CardGroup cols={2}>
  <Card title="Acquisizione in entrata" icon="arrow-right-to-bracket">
    Gli incidenti di Sentinel vengono acquisiti — **estratti automaticamente** in
    modo pianificato (consigliato) o **inviati** tramite webhook / Logic App —
    quindi normalizzati e trasformati in avvisi.
  </Card>

  <Card title="Sincronizzazione in uscita" icon="arrow-right-from-bracket">
    Quando un caso collegato viene chiuso in CaseBender, lo stato e la
    classificazione dell'incidente di Sentinel vengono aggiornati con un commento
    di audit.
  </Card>
</CardGroup>

<Tip>
  **Consigliato: abilita il polling automatico.** CaseBender può estrarre nuovi
  incidenti in modo pianificato direttamente dal tuo workspace di Log Analytics —
  senza Logic App, connettore dati o endpoint in entrata. Vedi
  [Polling automatico](#entrata-polling-automatico).
</Tip>

<Note>
  Questa integrazione utilizza l'**API REST di Azure Security Insights** e si
  autentica con un'**applicazione Azure AD (Entra ID)** tramite il flusso
  client-credentials (ambito `management.azure.com`).
</Note>

## Funzionalità

| Funzionalità                        | Direzione     | Descrizione                                                                                                     |
| ----------------------------------- | ------------- | --------------------------------------------------------------------------------------------------------------- |
| **Polling degli incidenti (pull)**  | Entrata       | CaseBender interroga l'API Security Insights in modo pianificato e acquisisce automaticamente i nuovi incidenti |
| Acquisizione degli incidenti (push) | Entrata       | Gli incidenti di Sentinel vengono inviati tramite webhook / Logic App                                           |
| Estrazione di osservabili ed entità | Entrata       | Le entità vengono estratte dall'incidente                                                                       |
| Sincronizzazione delle disposizioni | Uscita        | Lo `status` + `classification` dell'incidente + un commento vengono inviati alla chiusura del caso              |
| Test di connessione                 | Bidirezionale | Convalida le credenziali OAuth2 e l'accesso al workspace                                                        |

## Prerequisiti

<Steps>
  <Step title="Registra un'applicazione Azure AD">
    Nel [centro di amministrazione Microsoft Entra](https://entra.microsoft.com), registra
    un'applicazione e crea un **client secret**. Annota il **Directory (tenant) ID**,
    l'**Application (client) ID** e il valore del secret.
  </Step>

  <Step title="Assegna il ruolo sul workspace">
    Concedi all'applicazione il ruolo **Microsoft Sentinel Reader** sul workspace di Log Analytics
    con Sentinel abilitato (per l'entrata). Per la chiusura in uscita, concedi **Microsoft Sentinel
    Responder**.
  </Step>

  <Step title="Raccogli le coordinate del workspace">
    Annota il **Subscription ID**, il **Resource Group** e il **nome del workspace di Log
    Analytics**.
  </Step>

  <Step title="Uscita di rete">
    Il poller di CaseBender deve raggiungere `login.microsoftonline.com` e `management.azure.com`.
  </Step>
</Steps>

## Configurare l'integrazione in CaseBender

<Steps>
  <Step title="Apri il catalogo delle integrazioni">
    Vai su **Settings → Integrations → Create** e scegli **Microsoft Sentinel** nella categoria
    **SIEM**.
  </Step>

  <Step title="Inserisci le credenziali Azure e il workspace">
    | Campo                        | Descrizione                                        |
    | ---------------------------- | -------------------------------------------------- |
    | Azure Tenant ID              | Directory (tenant) ID                              |
    | Application (Client) ID      | Il client ID della registrazione dell'applicazione |
    | Client Secret                | Il valore del client secret                        |
    | Subscription ID              | Sottoscrizione Azure che contiene il workspace     |
    | Resource Group               | Gruppo di risorse del workspace                    |
    | Log Analytics Workspace Name | Workspace con Sentinel da interrogare              |
  </Step>

  <Step title="Abilita il polling automatico (consigliato)">
    | Opzione                       | Effetto                                                                                       |
    | ----------------------------- | --------------------------------------------------------------------------------------------- |
    | `pollingEnabled`              | Attiva l'estrazione pianificata degli incidenti di Sentinel                                   |
    | `pollingIntervalMinutes`      | Frequenza di polling (predefinito `5`, intervallo 1–1440)                                     |
    | `pollingInitialLookbackHours` | Alla prima esecuzione, importa gli incidenti modificati in questa finestra (predefinito `24`) |
    | `pollMaxItemsPerRun`          | Limite di sicurezza di elementi per esecuzione (predefinito `500`)                            |
  </Step>

  <Step title="Configura la creazione automatica dei casi">
    | Opzione              | Effetto                                                                                                                                         |
    | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
    | `autoCreateCases`    | Promuove ogni incidente acquisito a **Caso** (deduplicato per nome incidente). Se disattivato, gli incidenti restano nella casella degli avvisi |
    | `minSeverityForCase` | Crea automaticamente casi solo a partire da questa gravità                                                                                      |
  </Step>
</Steps>

## Entrata (polling automatico)

<Steps>
  <Step title="Estrazione pianificata">
    A ogni intervallo, CaseBender enumera gli incidenti del workspace con
    `properties/lastModifiedTimeUtc` maggiore dell'ultimo cursore, in ordine crescente. Alla prima
    esecuzione vengono importati gli incidenti modificati entro `pollingInitialLookbackHours`.
  </Step>

  <Step title="Cursore + deduplicazione">
    CaseBender avanza un cursore per integrazione fino al `lastModifiedTimeUtc` più recente. Gli
    incidenti vengono **deduplicati per nome incidente**, quindi finestre sovrapposte non creano
    mai duplicati.
  </Step>

  <Step title="Normalizzazione">
    Ogni incidente viene normalizzato in un avviso di CaseBender e l'identificatore dell'incidente
    di Sentinel viene conservato affinché la chiusura in uscita possa ritrovarlo in seguito.
  </Step>
</Steps>

<Info>
  Il polling viene eseguito nel servizio di polling in background di CaseBender. Assicurati che
  possa raggiungere `login.microsoftonline.com` e `management.azure.com` (direttamente o tramite il
  tuo proxy).
</Info>

## Uscita: sincronizzazione delle disposizioni verso Sentinel

Quando un caso collegato viene chiuso, CaseBender aggiorna lo `status` dell'incidente di Sentinel (a
`Closed`) e la `classification`, e aggiunge un commento di audit. L'uscita richiede il ruolo
**Microsoft Sentinel Responder**.

## Considerazioni sulla sicurezza

* **Privilegio minimo** — concedi **Sentinel Reader** solo per l'entrata; aggiungi **Sentinel
  Responder** solo se abiliti la chiusura in uscita.
* **Gestione dei segreti** — ruota il client secret secondo la policy della tua organizzazione.
* **Rete** — limita l'uscita a `login.microsoftonline.com` e `management.azure.com`.

## Risoluzione dei problemi

<AccordionGroup>
  <Accordion title="L'autenticazione fallisce">
    Verifica gli ID di tenant/client e il secret, e che l'applicazione abbia il ruolo Sentinel
    Reader sul workspace. Conferma che il subscription ID, il resource group e il nome del workspace
    siano corretti.
  </Accordion>

  <Accordion title="Il polling è abilitato ma non appaiono incidenti">
    Conferma che **Enable automatic polling** sia attivo e che le coordinate del workspace siano
    corrette. Verifica che il poller possa raggiungere `management.azure.com`. Alla prima esecuzione
    vengono importati solo gli incidenti entro `pollingInitialLookbackHours`.

    **Assicurati che tutti i servizi di CaseBender siano in esecuzione** — con Docker,
    `docker compose ps` deve mostrare i servizi `worker` e `misp-processor` come `Up`.
  </Accordion>

  <Accordion title="La chiusura del caso non aggiorna Sentinel">
    Assicurati che l'applicazione abbia il ruolo Sentinel Responder e che il caso sia collegato a un
    incidente di Sentinel. Controlla la cronologia del caso per l'esito della sincronizzazione.
  </Accordion>
</AccordionGroup>

## Documentazione correlata

* [Panoramica delle integrazioni](./introduction.mdx)
* [API REST di Microsoft Sentinel](https://learn.microsoft.com/en-us/rest/api/securityinsights/)
