Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:Database SQL di Azure
database SQL di Azure è un motore di database completamente gestito da piattaforma come servizio (PaaS) che gestisce la maggior parte delle funzioni di gestione del database, come aggiornamento, patch, backup e monitoraggio, senza coinvolgimento dell'utente. Poiché spesso memorizza dati aziendali critici, inclusi i dati dei clienti, le informazioni finanziarie e la proprietà intellettuale, mettere in sicurezza il tuo database SQL di Azure è essenziale per proteggerti da violazioni dei dati, accessi non autorizzati e violazioni della conformità.
Questo articolo fornisce raccomandazioni di sicurezza per aiutare a proteggere la tua distribuzione database SQL di Azure.
Le raccomandazioni sulla sicurezza in questo articolo implementano i principi Zero Trust: "Verificare in modo esplicito", "Usare l'accesso con privilegi minimi" e "Presupporre violazione". Per indicazioni complete su Zero Trust, vedere Zero Trust Guidance Center.
Ridurre la superficie d'attacco e mitigare le minacce
Poiché database SQL di Azure è un motore PaaS gestito, Microsoft rafforza il sistema operativo e l'infrastruttura. La tua responsabilità si concentra sulla riduzione della superficie di applicazioni e dati esposte agli attacchi e nel rilevare precocemente delle minacce.
Esegui valutazioni delle vulnerabilità SQL: Usa la valutazione delle vulnerabilità SQL per scoprire, monitorare e correggere potenziali configurazioni e vulnerabilità errate del database. Pianifica scansioni ricorrenti e agisci in base al riferimento che esse stabiliscono. Per altre informazioni, vedere Valutazione della vulnerabilità di SQL.
Proteggi da SQL injection: Usa query parametrizzate e procedure memorizzate nelle tue applicazioni e non concatenare mai l'input dell'utente nelle istruzioni SQL. L'iniezione SQL rimane uno dei vettori di attacco più comuni contro le applicazioni di database. Per altre informazioni, vedere Attacco intrusivo nel codice SQL.
Applicare la difesa in profondità: combinare isolamento di rete, controlli di identità, protezione dei dati e monitoraggio in modo che nessun singolo controllo sia un singolo punto di guasto. Per ulteriori informazioni, consulta il Playbook per affrontare i requisiti comuni di sicurezza.
Sicurezza della rete
La sicurezza di rete per database SQL di Azure aiuta a prevenire connessioni non autorizzate e riduce l'esposizione agli attacchi, così che solo fonti affidabili possano raggiungere i tuoi database.
Usare endpoint privati: Connettiti ad database SQL di Azure mediante indirizzi IP privati usando collegamento privato di Azure per evitare di esporre il database a Internet pubblica. La connettività privata riduce la superficie di attacco e il rischio di esfiltrazione dei dati. Per altre informazioni, vedere Collegamento privato di Azure per il database SQL di Azure.
Disabilita l'accesso alla rete pubblica: Quando ti affidi agli endpoint privati, disabilita completamente l'accesso alla rete pubblica in modo che tutte le connessioni instradano attraverso l'endpoint privato. Per altre informazioni, vedere Negare l'accesso alla rete pubblica.
Configura le regole firewall a livello di server: Controlla l'accesso al tuo server logico in Azure con regole firewall IP che specificano quali indirizzi o intervalli possono connettersi, seguendo il principio del minor privilegio. Per ulteriori informazioni, vedere Regole del firewall di Database SQL di Azure e dell'IP di Azure Synapse.
Configura le regole firewall a livello di database: Per un controllo più dettagliato, configura regole firewall a livello di database che si applicano ai singoli database, abilitando politiche di accesso per database. Per maggiori informazioni, vedi Regole firewall IP a livello di database.
Limita il traffico a specifiche reti virtuali: Usa regole di rete virtuale per consentire il traffico solo da specifiche sottoreti all'interno delle tue reti virtuali Azure, aggiungendo isolamento di rete oltre le regole basate su IP. Per altre informazioni, vedere Regole di rete virtuale per il database SQL di Azure.
Imposta la versione minima TLS: Configura la versione TLS minima del server logico a 1.2 o superiore, così che le connessioni che utilizzano protocolli più vecchi e deboli vengano rifiutate. Per ulteriori informazioni, vedi Versione TLS minima.
Scegli una policy di connessione appropriata: usa la policy di connessione Proxy quando vuoi che tutto il traffico scorra attraverso il gateway su una singola porta invece di esporre la gamma di porte node back-end, e usa Redirect per una latenza inferiore da Azure. Comprendere i vantaggi e gli svantaggi prima di modificare l'impostazione predefinita. Per altre informazioni, vedere Architettura della connettività del database SQL di Azure.
Gestione delle identità e degli accessi
Controlli forti di identità e autenticazione limitano l'accesso alle risorse del tuo database SQL di Azure agli utenti e alle applicazioni autorizzate, con una gestione centralizzata dell'identità e un controllo più semplice del ciclo di vita dell'account.
Autenticazione e gestione dell'account
Configura un amministratore Microsoft Entra: Designa un amministratore Microsoft Entra per il tuo server logico per abilitare la gestione centralizzata delle identità e politiche avanzate di autenticazione. Per altre informazioni, vedere Configurare l'autenticazione di Microsoft Entra.
Usa l'autenticazione Microsoft Entra: Preferisci l'autenticazione Microsoft Entra rispetto all'autenticazione SQL per una gestione centralizzata dell'identità e accesso a funzionalità come Accesso Condizionato e autenticazione multifattore. Per altre informazioni, vedere Autenticazione di Microsoft Entra.
Disabilita l'autenticazione SQL quando possibile: per la massima sicurezza, richiedi che tutte le connessioni utilizzino l'autenticazione Microsoft Entra e disattiva l'autenticazione SQL, eliminando il rischio di password SQL deboli o compromesse. Per altre informazioni, vedere Autenticazione solo Entra-only di Microsoft.
Creare utenti di database contenuti: Mappare gli utenti contenuti del database a identità o gruppi Microsoft Entra invece di login a livello di server quando possibile, semplificando la gestione dei permessi e riducendo l'accesso a livello di server. Per altre informazioni, vedere Utenti di database indipendenti.
Imporre l'autenticazione multifattoriale: richiedere l'autenticazione multifattore (MFA) tramite Accesso Condizionato per le identità Microsoft Entra che amministrano e si collegano al server logico, aggiungendo un livello di protezione oltre le password. Per maggiori informazioni, vedi Come funziona l'autenticazione multifattoriale.
Applicare le politiche di Accesso Condizionato: Utilizzare l'Accesso Condizionato per controllare l'accesso in base alla posizione dell'utente, alla conformità del dispositivo e al rischio, fornendo una sicurezza adattiva per ogni tentativo di accesso. Per altre informazioni, vedere Accesso condizionale.
Usa un'identità gestita per il server logico: assegna un'identità gestita assegnata dal sistema o dall'utente al server logico in modo che possa raggiungere Azure Key Vault (per le chiavi gestite dal cliente TDE) e Archiviazione di Azure (per l'audit) senza segreti memorizzati. Per ulteriori informazioni, vedi Managed identity in Microsoft Entra for Azure SQL.
Applica politiche di password forti: se usi l'autenticazione SQL, richiedi password complesse che non si possono indovinare facilmente, ruotale regolarmente ed evita di riutilizzarle tra account. Per altre informazioni, vedere Criteri password.
Accesso con privilegi
Concedere il privilegio minimo: Concedere agli utenti solo i permessi minimi richiesti per le loro funzioni lavorative e rivedere regolarmente i permessi. Per altre informazioni, vedere Introduzione alle autorizzazioni del motore di database.
Ruoli amministrativi separati: Evitare di concedere ampi diritti amministrativi a tutti gli amministratori. Usa permessi dettagliati e la separazione dei compiti tra le funzioni amministrative. Per altre informazioni, vedere Permissions.
Assegna l'accesso con ruoli nel database: Utilizza ruoli integrati e personalizzati nel database per implementare la sicurezza basata sui ruoli, assegnando agli utenti ruoli invece di concedere permessi individuali. Per altre informazioni, vedere Ruoli a livello di database.
Usa Azure RBAC per le operazioni di gestione: Controlla l'accesso alle operazioni di gestione database SQL di Azure con il controllo degli accessi basato su ruoli Azure, creando ruoli personalizzati che concedono solo i permessi necessari per compiti specifici. Per altre informazioni, vedere ruoli predefiniti di Azure per i database.
Fornisci accesso privilegiato just-in-time: usa Microsoft Entra Privileged Identity Management (PIM) per concedere, previa approvazione e per un periodo di tempo limitato, l’accesso ai ruoli amministrativi, in modo che gli utenti dispongano di privilegi elevati solo quando necessario. Per altre informazioni, vedere Privileged Identity Management.
Monitorare le attività privilegiate: abilita l'audit per monitorare le azioni eseguite dagli account privilegiati, esaminare i log per eventuali cambiamenti sospetti e avvisare operazioni sensibili. Per maggiori informazioni, vedere Controllo del database SQL di Azure.
Protezione dei dati
La protezione dei dati protegge le tue informazioni tramite crittografia, mascheramento e classificazione per prevenire divulgazione non autorizzata, manomissioni o perdita di informazioni sensibili.
Abilita la Crittografia dati trasparente (TDE): crittografa il database e i file di log e di backup archiviati. TDE è abilitato di default per i nuovi database; utilizzare le chiavi gestite dal cliente in Azure Key Vault per un controllo aggiuntivo sulle chiavi di crittografia. Per ulteriori informazioni, vedi Crittografia trasparente dei dati (TDE) e TDE con chiavi gestite dal cliente.
Proteggi i dati sensibili con Always Encrypted: Usa Always Encrypted per proteggere dati altamente sensibili in uso, a riposo e in transito, in modo che anche gli amministratori non possano visualizzare i valori del testo in chiaro. Usa enclave sicure per funzionalità più ricche. Per altre informazioni, vedere Always Encrypted.
Crea dati a prova di manomissione con il registro: Abilita al registro di creare un registro immutabile e crittograficamente verificabile delle modifiche ai dati sensibili, che può aiutare a soddisfare i requisiti normativi. Per altre informazioni, vedi Ledger.
Mascherare dati sensibili con il mascheramento dinamico dei dati: applicare il mascheramento dinamico dei dati per offuscare i dati sensibili per utenti non privilegiati, preservando al contempo la funzionalità per le applicazioni, senza modificare il codice applicativo. Per altre informazioni, vedere Maschera dati dinamica.
Classifica e etichetta dati sensibili: Usa SQL Data Discovery e Classification per identificare, classificare e etichettare i dati sensibili, così che funzionalità come audit e mascheramento possano utilizzare i metadati e tu possa segnalare dove risiedono i dati sensibili. Per altre informazioni, vedere Individuazione e classificazione dei dati.
Limitare l'accesso con permessi a livello di colonna: concedere o negare i permessi a livello di colonna affinché solo gli utenti che necessitano di una colonna sensibile possano leggerla o modificarla. Per ulteriori informazioni, vedere autorizzazioni sugli oggetti GRANT.
Limitare le righe con Row-Level Sicurezza (RLS): Implementare RLS in modo che gli utenti possano accedere solo alle righe di dati rilevanti per loro, fornendo una sicurezza a livello applicativo ideale per scenari multitenant. Per altre informazioni, vedere Row-Level Security.
Registrazione e monitoraggio
Una registrazione e un monitoraggio completi ti aiutano a rilevare attività anomale, indagare sugli incidenti e dimostrare la conformità ai tuoi database.
Abilita Microsoft Defender per SQL: Attiva Microsoft Defender per SQL per rilevare tentativi insoliti e potenzialmente dannosi di accedere o sfruttare i tuoi database, inclusa la valutazione delle vulnerabilità e la protezione avanzata contro le minacce. Per altre informazioni, vedere Microsoft Defender per SQL.
Integra con Microsoft Defender per il cloud: Usa Microsoft Defender per il cloud per una gestione centralizzata della sicurezza, raccomandazioni sulla sicurezza e protezione integrata contro le minacce su tutte le tue risorse Azure. Per ulteriori informazioni, consulta Microsoft Defender for SQL in Defender per il cloud.
Configura gli avvisi di protezione contro le minacce: imposta gli avvisi per attività sospette come tentativi di iniezione SQL, schemi di accesso anomali e autenticazione a forza bruta, e invoglia le notifiche ai destinatari giusti. Per maggiori informazioni, vedi Protezione avanzata contro le minacce.
Abilita l'auditing: Configura l'audit per tracciare gli eventi del database e scriverli su uno spazio di lavoro Log Analytics, Archiviazione di Azure o Event Hubs. Verifica sia gli eventi a livello server che quello a livello di database per una copertura completa. Per maggiori informazioni, vedere Controllo del database SQL di Azure.
Trasmetti i log diagnostici: Configura le impostazioni diagnostiche per inviare log, incluse categorie di sicurezza come
SQLSecurityAuditEvents, a Monitoraggio di Azure Logs, Event Hub o Archiviazione di Azure per la conservazione e l'analisi. Per ulteriori informazioni, consulta Monitor database SQL di Azure with Monitoraggio di Azure.Rivedi regolarmente i log di audit: Stabilisci un processo per esaminare i log di audit per attività sospette, concentrandosi sulle azioni privilegiate dell'account, tentativi di autenticazione falliti e accesso a dati sensibili. Per maggiori informazioni, vedere Controllo del database SQL di Azure.
Conformità e governance
I controlli di governance ti aiutano a dimostrare la conformità normativa e a far rispettare configurazioni di sicurezza coerenti nei tuoi database.
Monitora la conformità normativa con Microsoft Defender per il cloud: Usa il cruscotto della conformità normativa per valutare i tuoi database rispetto a standard come PCI DSS, ISO 27001 e SOC, e per monitorare la rimediazione dei controlli falliti. Per ulteriori informazioni, consulta il cruscotto di conformità normativa.
Applicare criteri di configurazione con Criteri di Azure: Assegnare le definizioni predefinite di Criteri di Azure per database SQL di Azure per verificare e applicare controlli come TDE, auditing, endpoint privati e autenticazione esclusivamente con Microsoft Entra. Per ulteriori informazioni, consulta le definizioni integrate di Criteri di Azure per database SQL di Azure.
Governa i dati sensibili con Microsoft Purview: registra e scansiona database SQL di Azure in Microsoft Purview per catalogare, classificare e governare i dati sensibili in tutto il tuo patrimonio dati. Per maggiori informazioni, consulta Connetti e gestisci database SQL di Azure in Microsoft Purview.
Applica il benchmark di sicurezza cloud Microsoft: Usa il benchmark di sicurezza cloud Microsoft come base a livello Azure per dare priorità e convalidare i controlli che applichi a database SQL di Azure. Per maggiori informazioni, consulta il benchmark di sicurezza cloud di Microsoft.
Backup e ripristino
I processi di backup e ripristino affidabili proteggono i dati dalla perdita a causa di errori, emergenze o attacchi. Ti aiutano anche a raggiungere i tuoi obiettivi di recupero.
Verifica la configurazione dei backup automatici: Verifica che i backup automatici siano configurati e che la conservazione soddisfi i tuoi requisiti. database SQL di Azure fornisce backup automatici di default con una conservazione configurabile da 1 a 35 giorni. Per altre informazioni, vedere Backup automatici.
Configura la ridondanza dell'archiviazione di backup: scegli la ridondanza dell'archiviazione di backup più adatta alle tue esigenze di disponibilità e ripristino di emergenza: ridondanza locale (LRS), ridondanza della zona (ZRS), ridondanza geografica (GRS) o ridondanza geografica della zona (GZRS). Per altre informazioni, vedere Ridondanza dell'archiviazione di backup.
Utilizzare la retention a lungo termine per la conformità: Configurare la retention a lungo termine (LTR) per conservare backup completi fino a 10 anni quando la conformità richiede la conservazione oltre il periodo predefinito. Per altre informazioni, vedere Long-term retention (Conservazione a lungo termine).
Testa le procedure di backup e ripristino: Verifica regolarmente i ripristini per confermare che soddisfino i tuoi obiettivi di tempo di recupero e che i database restaurati siano pienamente funzionanti con dati intatti. Per altre informazioni, vedere Ripristinare un database.
Implementare il ripristino geografico per il disaster recovery: usare il ripristino geografico per ripristinare un database dai backup con ridondanza geografica in qualsiasi area di Azure, proteggendo dalle interruzioni regionali. Per altre informazioni, vedere Ripristino geografico.
Monitora l'attività di backup: monitora le operazioni di backup e configura gli avvisi per i guasti utilizzando Monitoraggio di Azure. Per altre informazioni, vedere Monitorare e risolvere i problemi relativi all'utilizzo dell'archiviazione di backup.