Proteggere SQL Edge di Azure
Importante
SQL Edge di Azure verrà ritirato il 30 settembre 2025. Per altre informazioni e per le opzioni di migrazione, vedere l'avviso di ritiro.
Nota
SQL Edge di Azure non supporta più la piattaforma ARM64.
Con l'aumento dell'adozione di IoT e Edge computing in tutti i settori, si ha un incremento del numero di dispositivi e dei dati da essi generati. L'aumento del volume di dati e il numero di endpoint del dispositivo rappresenta una sfida significativa in termini di sicurezza dei dati e dei dispositivi.
SQL Edge di Azure offre diverse caratteristiche e funzionalità che rendono relativamente più semplice la protezione dei dati IoT all'interno dei database di SQL Server. SQL Edge di Azure viene creato usando lo stesso motore di database che supporta Microsoft SQL Server e Azure SQL, condividendo le stesse funzionalità di sicurezza e semplificando l'estensione degli stessi criteri e procedure di sicurezza dal cloud all'edge.
Proprio come Microsoft SQL Server e Azure SQL, la protezione delle distribuzioni di SQL Edge di Azure può essere considerata come una serie di passaggi che coinvolgono quattro aree: la piattaforma, l'autenticazione, gli oggetti (inclusi i dati) e le applicazioni che accedono al sistema.
Sicurezza della piattaforma e del sistema
La piattaforma per SQL Edge di Azure include l'host Docker fisico, il sistema operativo nell'host e i sistemi di rete che connettono il dispositivo fisico alle applicazioni e ai client.
L'implementazione della sicurezza della piattaforma inizia con l'impedire agli utenti non autorizzati di accedere alla rete. Alcune delle procedure consigliate includono, ma non sono limitate a:
- Implementare le regole del firewall per garantire i criteri di sicurezza dell'organizzazione.
- Assicurarsi che nel dispositivo fisico nel sistema operativo siano applicati tutti gli aggiornamenti della sicurezza più recenti.
- Specificare e limitare le porte host usate per SQL Edge di Azure
- Garantire l'applicazione di un controllo di accesso appropriato a tutti i volumi di dati che ospitano i dati di SQL Edge di Azure.
Per altre informazioni sui protocolli di rete di SQL Edge di Azure e sugli endpoint TDS, vedere Protocolli di rete ed endpoint TDS.
Autenticazione e autorizzazione
Authentication
L'autenticazione è il processo atto a dimostrare che l'utente sia effettivamente chi dichiara di essere. SQL Edge di Azure supporta attualmente solo il meccanismo SQL Authentication
.
Autenticazione SQL:
Per autenticazione SQL si intende l'autenticazione di un utente quando questi si connette a SQL Edge di Azure usando nome utente e password. È necessario specificare la password di accesso di SQL sa durante la distribuzione di SQL Edge. In seguito, l'amministratore del server può creare altri utenti e accessi SQL, che consentono agli utenti di connettersi tramite nome utente e password.
Per altre informazioni sulla creazione e la gestione di account di accesso e utenti in SQL Edge, vedere Creare un accesso e Creare un utente del database.
Autorizzazione
L'autorizzazione fa riferimento alle autorizzazioni assegnate a un utente all'interno di un database in SQL Edge di Azure e determina ciò che l'utente è autorizzato a fare. Le autorizzazioni vengono controllate aggiungendo account utente ai ruoli del database e assegnando autorizzazioni a livello di database a tali ruoli o concedendo all'utente determinate autorizzazioni a livello di oggetto. Per altre informazioni, vedere Accessi e utenti.
Come procedura consigliata, creare ruoli personalizzati quando necessario. Come procedura consigliata, aggiungere utenti al ruolo con i privilegi minimi necessari per svolgere le proprie funzioni. Non assegnare autorizzazioni direttamente agli utenti. L'account amministratore del server è membro del ruolo di db_owner predefinito, che dispone di autorizzazioni estese e deve essere concesso solo a pochi utenti con compiti amministrativi. Per le applicazioni, usare il EXECUTE AS per specificare il contesto di esecuzione del modulo chiamato o usare i ruoli applicazione con autorizzazioni limitate. Questa procedura garantisce che l'applicazione che si connette al database disponga dei privilegi minimi necessari per l'applicazione. Seguendo queste procedure consigliate si promuove anche la separazione dei compiti.
Sicurezza degli oggetti del database
Le entità sono le persone, i gruppi e i processi a cui viene concesso l'accesso a SQL Edge. Le "entità a protezione diretta" sono il server, il database e gli oggetti contenuti nel database. Ogni entità dispone di un set di autorizzazioni configurabili per ridurre la superficie di attacco di . Nella tabella seguente sono disponibili informazioni su entità ed entità a protezione diretta.
Per informazioni su | Vedere |
---|---|
Utenti del server e del database, ruoli e processi | Motore di database Entità |
Sicurezza del server e degli oggetti di database | Entità a protezione diretta |
Crittografia e certificati
La crittografia non risolve i problemi relativi al controllo di accesso, ma migliora la sicurezza limitando la perdita di dati anche nel raro caso in cui il controllo degli accessi venga eluso. Ad esempio, se il computer host del database non è configurato correttamente e un utente malintenzionato ottiene dati sensibili, come i numeri di carta di credito, le informazioni rubate potrebbero essere inutili se crittografate. La tabella seguente contiene altre informazioni sulla crittografia in SQL Edge di Azure.
Per informazioni su | Vedere |
---|---|
Implementazione di connessioni protette | Crittografia delle connessioni |
Funzioni di crittografia | Funzioni di crittografia (Transact-SQL) |
Crittografia dei dati inattivi | Transparent Data Encryption |
Always Encrypted | Always Encrypted |
Nota
Le limitazioni di sicurezza descritte per SQL Server in Linux si applicano anche a SQL Edge di Azure.
Nota
SQL Edge di Azure non include l'utilità mssql-conf. Tutte le configurazioni, inclusa quella relativa alla crittografia, devono essere eseguite tramite il file mssql.conf o le variabili di ambiente.
Analogamente a SQL di Azure e Microsoft SQL Server, SQL Edge di Azure offre lo stesso meccanismo per creare e usare certificati per migliorare la sicurezza degli oggetti e delle connessioni. Per altre informazioni, vedere CREATE CERTIFICATE (TRANSACT-SQL).
Sicurezza delle applicazioni
Programmi client
Le procedure consigliate per la sicurezza di SQL Edge di Azure includono la scrittura di applicazioni client protette. Per altre informazioni sulla protezione delle applicazioni client a livello di rete, vedere Configurazione di rete dei client.
Viste e funzioni del catalogo di sicurezza
Le informazioni sulla sicurezza vengono esposte in diverse viste e funzioni ottimizzate per le prestazioni e l'utilità. La tabella seguente contiene informazioni sulle viste e sulle funzioni di sicurezza in SQL Edge di Azure.
Funzioni e viste | Collegamenti |
---|---|
Viste del catalogo di sicurezza, che restituiscono informazioni sulle autorizzazioni a livello di database e di server, entità, ruoli e così via. Sono presenti viste del catalogo che forniscono informazioni su chiavi di crittografia, certificati e credenziali. | Viste del catalogo della sicurezza (Transact-SQL) |
Funzioni di sicurezza, che restituiscono informazioni sull'utente corrente, le autorizzazioni e gli schemi. | Funzioni di sicurezza (Transact-SQL) |
Viste a gestione dinamica della sicurezza. | Funzioni e viste a gestione dinamica relative alla sicurezza (Transact-SQL) |
Eseguire i controlli
SQL Edge di Azure offre gli stessi meccanismi di controllo di SQL Server. Per altre informazioni, vedere SQL Server Audit (Motore di database).