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: SQL Server 2019 (15.x) e versioni successive nel
database SQL di Windows Azure
Always Encrypted con enclave protette estende Always Encrypted consentendo funzionalità più avanzate per le query delle applicazioni su colonne sensibili crittografate del database. Sfrutta le tecnologie basate sulle enclave sicure per consentire all'executor della query nel motore di database di delegare i calcoli nelle colonne crittografate a un’enclave sicura all'interno del processo del motore di database.
Prerequisiti
L'ambiente deve soddisfare i requisiti seguenti per supportare Always Encrypted con enclave sicure.
- L'istanza di SQL Server o il server di database in database SQL di Azure devono essere configurati correttamente per supportare le enclave e l'attestazione, se applicabile o necessario. Per altre informazioni, vedere Configurare l'enclave sicura e l'attestazione.
- Assicurati che la tua applicazione:
Usi una versione del driver client che supporta Always Encrypted con enclave sicure.
Abiliti Always Encrypted durante la connessione al database.
Imposta un protocollo di attestazione, che determina se il driver client deve attestare l'enclave prima di inviare query dell'enclave e, in tal caso, quale servizio di attestazione deve utilizzare. Le versioni più recenti dei driver supportano i protocolli di attestazione seguenti:
- Attestazione di Azure di Microsoft: applica l'attestazione usando l'Attestazione di Azure di Microsoft.
- Host Guardian Service - impone l'attestazione tramite Host Guardian Service.
- Nessuna: consente di usare enclavi senza attestazione.
La tabella seguente specifica i protocolli di attestazione validi per determinati prodotti SQL e tecnologie enclave:
Prodotto Tecnologia di enclave Protocolli di attestazione supportati SQL Server 2019 (15.x) e versioni successive Enclave VBS Host Guardian Service, Nessuno Database SQL di Azure Enclavi SGX (nei database della serie DC) Attestazione di Microsoft Azure Database SQL di Azure Enclave VBS None Imposta un URL di attestazione valido per il proprio ambiente, se si utilizza l'attestazione.
- Se si usa SQL Server e Host Guardian Service (HGS), vedere Determinare e condividere l'URL di attestazione di HGS.
- Se si usano il database SQL di Azure con enclave Intel SGX e l'attestazione di Azure di Microsoft, vedere Determinare l'URL di attestazione per i criteri di attestazione.
Driver client per Always Encrypted con enclave sicure
Per sviluppare applicazioni usando Always Encrypted con enclave sicuri, è necessaria una versione del driver client di SQL che supporti enclave sicuri. Il driver client svolge il ruolo chiave seguente:
- Prima di inviare una query che usa un’enclave sicura a SQL Server o Database SQL di Azure per l'esecuzione, il driver avvia l'attestazione dell'enclave (se configurata) per verificare che l'enclave sicura sia attendibile e possa essere usata senza problemi per elaborare i dati sensibili. Per altre informazioni sull'attestazione, vedere Attestazione degli enclave sicuri.
- Il driver client stabilisce una sessione sicura con l'enclave negoziando un segreto condiviso.
- Il driver usa il segreto condiviso per crittografare le chiavi di crittografia della colonna necessarie all'enclave per elaborare la query e invia le chiavi a SQL Server, che le inoltra all'enclave sicura che decripta le chiavi.
- Il driver invia infine la query per l'esecuzione, che attiva i calcoli all'interno dell'enclave sicuro.
I driver client seguenti supportano Always Encrypted con enclave sicuri:
Provider di dati Microsoft .NET per SQL Server in .NET Framework 4.6 o versioni successive e .NET Core 2.1 o versioni successive. Se si vogliono usare enclave VBS senza attestazione, è necessaria la versione 4.1 o successive, compatibili con .NET Framework 4.6.1 o versioni successive e .NET Core 3.1.
- Per altre informazioni, vedere Uso di Always Encrypted con il provider di dati Microsoft .NET per SQL Server.
- Per un'esercitazione dettagliata, vedere Esercitazione: Sviluppare un'applicazione .NET usando Always Encrypted con enclave sicure.
- Vedere anche Esempio che dimostra l'uso del provider di Azure Key Vault e di Always Encrypted con enclave sicure.
Microsoft ODBC Driver for SQL Server, versione 17.4 o successiva. Se si vogliono usare enclave VBS senza attestazione, è necessaria la versione 18.1 o successiva.
- Per altre informazioni, vedere Uso di Always Encrypted con il driver ODBC.
- Per informazioni su come abilitare i calcoli dell'enclave per una connessione di database usando ODBC, vedere la sezione Abilitare Always Encrypted con enclave sicure.
Microsoft JDBC Driver per SQL Server, versione 8.2 o successiva. Se si vogliono usare enclave VBS senza attestazione, è necessaria la versione 12.2 o successiva.
- Per ulteriori informazioni, consultare Uso di Always Encrypted con enclave sicure nel driver JDBC
Provider di dati .NET Framework per SQL Server in .NET Framework 4.7.2 o versione successiva.
- Per altre informazioni, vedere Uso di Always Encrypted con il provider di dati .NET Framework per SQL Server.
- Per un'esercitazione dettagliata, vedere Esercitazione: Sviluppare un'applicazione .NET Framework usando Always Encrypted con enclave sicure
Nota
L'uso del provider di dati .NET Framework per SQL Server (System.Data.SqlClient) non è consigliato per il nuovo sviluppo. Per ulteriori informazioni, vedere System.Data.SqlClient.