Condividi tramite


Effettuare il provisioning di chiavi Always Encrypted con SQL Server Management Studio

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di Azure

Questo articolo descrive la procedura necessaria per effettuare il provisioning di chiavi master della colonna e di chiavi di crittografia della colonna per Always Encrypted con SQL Server Management Studio (SSMS). Assicurarsi di installare la versione di disponibilità generale più recente di SSMS quando si effettua il provisioning delle chiavi di crittografia.

Per una panoramica della gestione delle chiavi Always Encrypted, incluse le raccomandazioni sulle procedure consigliate e importanti considerazioni sulla sicurezza, vedere Panoramica della gestione delle chiavi per Always Encrypted.

Effettuare il provisioning delle chiavi master di colonna con la finestra di dialogo Nuova chiave master della colonna

La finestra di dialogo Nuova chiave master colonna consente di generare una chiave master della colonna o di selezionare una chiave esistente in un archivio chiavi e di creare i metadati della chiave master della colonna per la chiave creata o selezionata nel database.

  1. Usando Esplora oggetti, passare al nodo Sicurezza -> Chiavi Always Encrypted nel tuo database.

  2. Fare clic con il pulsante destro del mouse sul nodo Chiavi master della colonna e selezionare Nuova chiave master della colonna...

  3. Nella finestra di dialogo Nuova chiave master della colonna immettere il nome dell'oggetto metadati della chiave master della colonna.

  4. Selezionare un archivio chiavi:

    • Archivio certificati - Utente corrente - indica l'ubicazione dell'archivio certificati dell'utente corrente nell'archivio certificati di Windows, ovvero l'archivio personale.

    • Archivio certificati - Computer locale - indica il percorso dell'archivio certificati del computer locale nell'archivio certificati di Windows.

    • Azure Key Vault : è necessario accedere ad Azure (fare clic su Accedi). Dopo aver eseguito l'accesso, è possibile selezionare una delle sottoscrizioni di Azure e un insieme di chiavi o un HSM gestito (richiede SSMS 18.9 o una versione successiva).

      Nota

      L'utilizzo delle chiavi master di colonna archiviate in un HSM gestito in Azure Key Vault richiede SSMS 18.9 o una versione successiva.

    • Provider dell'archivio chiavi (KSP): indica un archivio chiavi accessibile tramite un provider dell'archivio chiavi (KSP) che implementa l'API Cryptography Next Generation (CNG). In genere, questo tipo di negozio è un modulo di protezione hardware (HSM). Dopo aver selezionato questa opzione, dovrai scegliere un KSP. Il provider dell'archivio chiavi software Microsoft è selezionato per impostazione predefinita. Per utilizzare una chiave master di colonna archiviata in un HSM, selezionare un KSP (Key Storage Provider) per il dispositivo, che deve essere installato e configurato sul computer prima di aprire la finestra di dialogo.

    • Provider di servizi di crittografia (CSP): archivio chiavi accessibile tramite un provider di servizi di crittografia (CSP) che implementa l'API di crittografia (CAPI). In genere, questo archivio è un modulo hardware di sicurezza (HSM). Dopo aver selezionato questa opzione, è necessario selezionare un provider del servizio di crittografia. Per usare una chiave master della colonna archiviata in un HSM, selezionare un CSP per il dispositivo, che deve essere installato e configurato nel computer prima di aprire la finestra di dialogo.

    Nota

    Poiché CAPI è un'API deprecata, l'opzione Cryptographic Service Provider (CAPI) è disabilitata per impostazione predefinita. È possibile abilitare creando il valore DWORD abilitato per il provider CAPI nella chiave [HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\sql13\Tools\Client\Always Encrypted] nel Registro di sistema di Windows e impostandolo su 1. È consigliabile usare CNG anziché CAPI, a meno che l'archivio chiavi non supporti CNG.

    Per ulteriori informazioni sugli archivi di chiavi sopra elencati, vedere Creare e archiviare chiavi master di colonna per Always Encrypted.

  5. Se si usa SQL Server 2019 (15.x) e l'istanza di SQL Server è configurata con un enclave sicuro, è possibile selezionare la casella di controllo Consenti calcoli enclave per rendere abilitata l'enclave della chiave master. Per informazioni dettagliate, vedere Always Encrypted con enclave sicura.

    Nota

    La casella di controllo Consenti calcoli enclave non viene visualizzata se l'istanza di SQL Server non è configurata correttamente con un enclave sicuro.

  6. Selezionare una chiave esistente nell'archivio chiavi oppure fare clic sul pulsante Genera chiave o Genera certificato per creare una chiave nell'archivio chiavi.

    Nota

    Non viene verificata la validità delle chiavi o dei certificati usati per generare la chiave master della colonna.

  7. Fare clic su OK e la nuova chiave viene visualizzata nell'elenco.

Dopo aver completato la finestra di dialogo, SQL Server Management Studio crea i metadati per la chiave master della colonna nel database. La finestra di dialogo genera e emette un'istruzione CREATE COLUMN MASTER KEY (Transact-SQL).

Se si sta configurando una chiave master di colonna abilitata per enclave, SSMS usa la chiave master di colonna anche per firmare i metadati.

Autorizzazioni per la distribuzione di una chiave master della colonna

È necessaria l'autorizzazione ALTER ANY COLUMN MASTER KEY nel database per la finestra di dialogo per creare una chiave master della colonna. Sono necessarie anche le autorizzazioni dell'archivio di chiavi per accedere e usare la chiave master della colonna chiave. Per informazioni dettagliate sulle autorizzazioni del provider di archiviazione delle chiavi necessarie per le operazioni di gestione delle chiavi, consultare Creare e archiviare le chiavi master di colonna per Always Encrypted e rivedere la sezione pertinente per il proprio provider di archiviazione delle chiavi.

Configura le chiavi di crittografia delle colonne con la finestra di dialogo Nuova chiave di crittografia della colonna

La finestra di dialogo Nuova chiave di crittografia della colonna consente di generare una chiave di crittografia della colonna, di crittografarla con una chiave master della colonna e di creare i metadati della chiave di crittografia della colonna nel database.

  1. Usando Esplora oggetti passare alla cartella Security/Always Encrypted Keys nel database.
  2. Fare clic con il pulsante destro del mouse sulla cartella Chiavi di crittografia della colonna e selezionare Nuova chiave di crittografia della colonna... .
  3. Nella finestra di dialogo Nuova chiave di crittografia della colonna immettere il nome dell'oggetto metadati della chiave di crittografia della colonna.
  4. Selezionare un oggetto metadati che rappresenta la chiave principale della colonna nel database.
  5. Fare clic su OK.

Dopo aver completato l'interazione, SQL Server Management Studio (SSMS) genera una nuova chiave di crittografia della colonna. SSMS recupera quindi i metadati per la chiave master della colonna selezionata dal database. SSMS userà quindi i metadati della chiave master della colonna per contattare l'archivio chiavi contenente la chiave master della colonna e crittografare la chiave di crittografia della colonna. Infine, SSMS crea i dati dei metadati per la nuova crittografia di colonna nel database generando ed eseguendo un'istruzione CREATE COLUMN ENCRYPTION KEY (Transact-SQL).

Nota

L'uso in Azure Key Vault delle chiavi master della colonna archiviate in un modulo di protezione hardware gestito richiede SSMS 18.9 o una versione successiva.

Autorizzazioni per l'approvvigionamento di una chiave di crittografia della colonna

Hai bisogno delle autorizzazioni del database ALTER ANY COLUMN ENCRYPTION KEY e VIEW ANY COLUMN MASTER KEY DEFINITION per creare i metadati della chiave di crittografia della colonna e accedere ai metadati della chiave master della colonna. Sono necessarie anche le autorizzazioni dell'archivio di chiavi per usare e accedere alla chiave master della colonna. Per informazioni dettagliate sulle autorizzazioni dell'archivio delle chiavi necessarie per le operazioni di gestione delle chiavi, consulta Crea e archivia chiavi master della colonna per Always Encrypted e trova la sezione pertinente per il tuo archivio delle chiavi.

Fornire le chiavi Always Encrypted utilizzando la procedura guidata Always Encrypted

La procedura guidata Always Encrypted è uno strumento per crittografare, decrittografare e crittografare nuovamente le colonne di database selezionate. Può usare chiavi già configurate ma, al tempo stesso, consente anche di generare una nuova chiave master della colonna e una nuova crittografia di colonna.

Passaggi successivi

Vedi anche