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 (GA) più recente di SSMS durante il provisioning delle chiavi di crittografia.

Per una panoramica sulla gestione delle chiavi Always Encrypted, incluse indicazioni 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 della colonna consente di generare una chiave master della colonna o selezionare una chiave esistente in un archivio chiavi e di creare i metadati della chiave master della colonna per la chiave selezionata o creata nel database.

  1. In Esplora oggetti, passare a Sicurezza - > Chiavi Always Encrypted nel database.

  2. Fare clic con il pulsante destro del mouse su 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 il percorso dell'archivio certificati Utente corrente nell'archivio certificati di Windows, ovvero nell'archivio personale.

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

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

      Nota

      L'uso delle chiavi master della 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 che è accessibile tramite un provider dell'archivio chiavi (KSP) che implementa l'API CNG (Cryptography Next Generation). In genere, questo tipo di archivio è un modulo di protezione hardware (HSM). Dopo aver selezionato questa opzione, è necessario selezionare un provider dell'archivio chiavi. Viene selezionato per impostazione predefinita ilprovider dell'archivio chiavi del software Microsoft . Per usare una chiave master della colonna archiviata in un HSM, selezionare un provider dell'archivio chiavi per il dispositivo, che deve essere installato e configurato nel computer prima di aprire la finestra di dialogo.

    • Provider del servizio di crittografia (CSP): un archivio chiavi accessibile attraverso un provider del servizio di crittografia (CSP) che implementa l'API di crittografia (CAPI). In genere, questo archivio è un modulo di protezione hardware (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 provider del servizio di crittografia per il dispositivo, che deve essere installato e configurato nel computer prima di aprire la finestra di dialogo.

    Nota

    Poiché CAPI è un'API deprecata, il provider del servizio di crittografia è disabilitato per impostazione predefinita. È possibile abilitarlo creando il valore DWORD CAPI Provider Enabled sotto la chiave [HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\sql13\Tools\Client\Always Encrypted] nel Registro di sistema di Windows e impostando il valore su 1. È consigliabile usare CNG anziché CAPI, a meno che l'archivio chiavi non supporti CNG.

    Per altre informazioni sugli archivi di chiavi sopra indicati, vedere Creare e archiviare chiavi master della colonna per Always Encrypted.

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

    Nota

    La casella di controllo Consenti calcoli enclave non viene visualizzata se l'istanza di SQL Server non è stata correttamente configurata 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.

  7. Fare clic su Ok e la nuova chiave apparirà nell'elenco.

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

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

Autorizzazioni per il provisioning di una chiave master della colonna

È necessaria l'autorizzazione ALTER ANY COLUMN MASTER KEY nel database perché nella finestra di dialogo venga creata 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 dell'archivio di chiavi necessarie per le operazioni di gestione delle chiavi, vedere Creare e archiviare chiavi master della colonna per Always Encrypted e controllare la sezione relativa all'archivio di chiavi.

Effettuare il provisioning di chiavi di crittografia di colonna 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, crittografarla con una chiave master della colonna e creare i metadati della chiave di crittografia della colonna nel database.

  1. In Esplora oggettipassare alla cartella Sicurezza/Chiavi con crittografia sempre attiva del 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 master 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. SSMS creerà infine i dati dei metadati per la nuova crittografia di colonna nel database generando ed emettendo un'istruzione CREATE COLUMN ENCRYPTION KEY (Transact-SQL).

Nota

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

Autorizzazioni per il provisioning di una chiave di crittografia della colonna

Sono necessarie le autorizzazioni di database ALTER ANY COLUMN ENCRYPTION KEY e VIEW ANY COLUMN MASTER KEY DEFINITION per creare nella finestra di dialogo 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 accedere e usare la chiave master della colonna. Per informazioni dettagliate sulle autorizzazioni dell'archivio di chiavi necessarie per le operazioni di gestione delle chiavi, vedere Creare e archiviare chiavi master della colonna per Always Encrypted e trovare la sezione relativa all'archivio di chiavi.

Effettuare il provisioning di chiavi Always Encrypted con la relativa procedura guidata

Lo strumento Procedura guidata Always Encrypted consente di eseguire la crittografia, la decrittografia e una nuova crittografia delle 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