Gestire le raccomandazioni di sicurezza con falsi positivi per Defender per archiviazione

Quando si abilita Microsoft Defender per Archiviazione a livello di sottoscrizione, vengono visualizzate raccomandazioni sulla sicurezza per tutti gli account di archiviazione protetti. Per gli account di archiviazione specializzati, come l'archiviazione radice di Azure Databricks File System (DBFS), alcune raccomandazioni rappresentano falsi positivi. L'implementazione di queste raccomandazioni può essere in conflitto con le normali operazioni, aumentare i costi inutilmente o interrompere la connettività del carico di lavoro.

Questo articolo illustra come identificare le raccomandazioni false positive, decidere quando esentare o correggere e creare esenzioni usando il portale di Azure, interfaccia della riga di comando di Azure o Criteri di Azure.

Prerequisiti

Account Defender per l'archiviazione e Archiviazione di Databricks

Importante

Defender per l'archiviazione non è supportato in account di archiviazione gestiti da Databricks (archiviazione radice DBFS). Databricks applica criteri di negazione che impediscono Defender per l'archiviazione di operare su questi account. Se Defender per il cloud consiglia di abilitare Defender per l'archiviazione in un account di archiviazione di Databricks, esentare completamente tale raccomandazione anziché tentare di abilitare il piano.

Quando si abilita Defender per l'archiviazione a livello di sottoscrizione, Defender per il cloud genera una raccomandazione per abilitarla in tutti gli account di archiviazione non protetti nella sottoscrizione, inclusi gli account gestiti da Databricks. Poiché i criteri di negazione di Databricks impediscono l'esecuzione del piano, questa raccomandazione è un falso positivo per tali account.

L'azione corretta consiste nell'esentare la raccomandazione Abilita Microsoft Defender per archiviazione per tutti gli account di archiviazione gestiti da Databricks. Per altre raccomandazioni specifiche dell'archiviazione visualizzate negli account Databricks, usare la matrice decisionale seguente per determinare l'azione corretta.

Decidere quando esentare e quando correggere

Usare la matrice seguente per determinare l'azione corretta per ogni raccomandazione in base al tipo di account di archiviazione.

Raccomandazione Archiviazione standard Databricks DBFS Azione per Databricks DBFS
Abilitare Microsoft Defender per l'archiviazione Rimediare Esente Non supportato nell'archiviazione gestita da Databricks a causa dei criteri di negazione di Databricks.
Abilitare l'eliminazione temporanea per i BLOB Rimediare Esente Conflitti con le operazioni di pulizia di Databricks.
Abilitare l'analisi malware Rimediare Esente Non supportato; I criteri di negazione di Databricks impediscono l'operazione.
Gli account di archiviazione devono limitare l'accesso alla rete Rimediare Esente Interrompe la connettività del cluster Databricks.
Abilitare la registrazione Rimediare Rimediare Utile per audit trail; nessun conflitto operativo.
Trasferimento sicuro obbligatorio Rimediare Rimediare Nessun conflitto con le operazioni di Databricks.
Abilitare il controllo delle versioni dei BLOB Rimediare Esente Aumenta i costi per i dati temporanei gestiti internamente da Databricks.

Creare un'esenzione per un account di archiviazione di Databricks

È possibile creare esenzioni usando il portale di Azure, il interfaccia della riga di comando di Azure o Criteri di Azure per le esenzioni automatizzate su larga scala.

Azure portal

  1. Nel portale di Azure passare a Microsoft Defender per il cloud>Recommendations.
  2. Trovare e aprire la raccomandazione da esentare.
  3. Nella scheda Risorse interessate selezionare l'account di archiviazione databricks.
  4. Selezionare Esentare.
  5. Nel riquadro Esenzione immettere un nome e selezionare una categoria:
    • Rischio accettato : l'organizzazione ha esaminato e accettato il rischio.
    • Mitigato : il rischio è stato risolto tramite un altro controllo.
  6. Facoltativamente, impostare una data di scadenza.
  7. Nel campo Giustificazione descrivere il motivo per cui questa raccomandazione non è applicabile. Ad esempio: l'archiviazione radice DBFS di Databricks richiede l'accesso di rete aperto per la connettività del cluster.
  8. Seleziona Salva.

interfaccia della riga di comando di Azure

Usare il comando seguente per creare un'esenzione con il interfaccia della riga di comando di Azure:

az policy exemption create \
  --name "DatabricksStorageExemption" \
  --resource-group "<resource-group>" \
  --scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>" \
  --policy-assignment "/subscriptions/<subscription-id>/providers/Microsoft.Authorization/policyAssignments/<assignment-id>" \
  --exemption-category "Waiver" \
  --description "Databricks DBFS root storage - network access restriction conflicts with cluster connectivity."

Sostituire <resource-group>, <subscription-id>, <storage-account-name> e <assignment-id> con i propri valori. Usare "Mitigated" invece di "Waiver" se si è risolto il rischio tramite un altro controllo.

Per trovare l'ID di assegnazione del criterio per una raccomandazione specifica, eseguire:

az policy assignment list --scope "/subscriptions/<subscription-id>" --query "[].{Name:name, DisplayName:displayName, Id:id}" -o table

Criteri di Azure per esenzioni automatizzate su larga scala

Per gli ambienti con molti account di archiviazione di Databricks, usare Criteri di Azure per creare automaticamente esenzioni in base ai tag delle risorse.

Passaggio 1: Contrassegna gli account di archiviazione di Databricks

Applicare un tag coerente a tutti gli account di archiviazione gestiti da Databricks:

az resource tag \
  --resource-group "<resource-group>" \
  --name "<storage-account-name>" \
  --resource-type "Microsoft.Storage/storageAccounts" \
  --tags workload=Databricks

Passaggio 2: Creare un'assegnazione di esenzione da un criterio

Crea una definizione dei criteri che riguarda gli account di archiviazione con il tag workload=Databricks e li esenti dalle raccomandazioni pertinenti. Distribuisci l'esenzione usando un modello ARM o un file Bicep.

Il seguente frammento di modello ARM crea un'esenzione per gli account di archiviazione contrassegnati workload=Databricks:

{
  "type": "Microsoft.Authorization/policyExemptions",
  "apiVersion": "2022-07-01-preview",
  "name": "DatabricksStorageSoftDeleteExemption",
  "properties": {
    "policyAssignmentId": "/subscriptions/<subscription-id>/providers/Microsoft.Authorization/policyAssignments/<assignment-id>",
    "exemptionCategory": "Waiver",
    "displayName": "Databricks DBFS - Soft delete exemption",
    "description": "Soft delete conflicts with Databricks DBFS cleanup operations.",
    "metadata": {
      "requestedBy": "Security team",
      "approvedBy": "Storage team"
    }
  }
}

Eseguire la distribuzione nell'ambito del gruppo di gestione o della sottoscrizione per coprire tutti gli account di archiviazione di Databricks esistenti e futuri.

Monitorare ed esaminare le esenzioni

Le esenzioni influiscono sul punteggio di sicurezza. Esaminare regolarmente le esenzioni per assicurarsi che rimangano valide:

  1. Nel portale di Azure passare a Microsoft Defender per il cloud>Recommendations.
  2. Selezionare Esenzioni per visualizzare tutte le esenzioni attive.
  3. Esaminare la giustificazione e la data di scadenza per ogni esenzione.
  4. Rimuovere le esenzioni che non si applicano più.

È anche possibile eseguire query sulle esenzioni tra sottoscrizioni usando Azure Resource Graph:

PolicyResources
| where type == "microsoft.authorization/policyexemptions"
| project name, properties.exemptionCategory, properties.description, properties.expiresOn