Configurare la crittografia delle colonne usando la procedura guidata Always Encrypted

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure

La procedura guidata Always Encrypted è un potente strumento che consente di impostare la configurazione Always Encrypted desiderata per le colonne di database selezionate. In base alla configurazione corrente e alla configurazione di destinazione desiderata, la procedura guidata è in grado di crittografare una colonna, rimuovere la crittografia o riapplicarla, ad esempio usando una nuova chiave di crittografia della colonna o un tipo di crittografia diverso da quello in uso, configurato per la colonna. È possibile configurare più colonne in una singola sessione della procedura guidata.

La procedura guidata consente di crittografare le colonne con chiavi di crittografia della colonna esistenti. In alternativa, si può scegliere di generare una nuova chiave di crittografia della colonna oppure sia una nuova chiave di crittografia della colonna che una nuova chiave master di colonna.

Quando il database è configurato con un'enclave sicura, è possibile eseguire le operazioni di crittografia sul posto, senza trasferire i dati all'esterno del database. La procedura guidata rimuove tutte le dipendenze che bloccano la modifica dello schema della colonna da crittografare. Esegue una crittografia sul posto per ogni colonna usando l'enclave all'interno del motore di database. Al termine della crittografia, la procedura guidata ricrea le dipendenze. Per altre informazioni sulle Always Encrypted con enclavi sicure, vedere Always Encrypted con enclavi sicure.

Quando il database non è configurato con un'enclave sicura, la procedura guidata consente di abilitarla. Se si sceglie di non abilitare un'enclave sicura o non si usano chiavi abilitate per l'enclave, la procedura guidata sposta i dati dal database ed esegue operazioni di crittografia all'interno del processo SSMS. La procedura guidata crea una o più nuove tabelle con la configurazione di crittografia desiderata nel database, carica tutti i dati dalle tabelle originali, esegue le operazioni di crittografia richieste, carica i dati nelle nuove tabelle e quindi scambia le tabelle originali con le nuove tabelle.

Suggerimento

L'uso della crittografia sul posto con Always Encrypted con enclave sicure, se disponibile nell'ambiente, può ridurre notevolmente il tempo e l'affidabilità delle operazioni di crittografia.

Nota

L'esecuzione di operazioni di crittografia può richiedere molto tempo. Durante questo periodo, il database non è disponibile per la scrittura di transazioni. Per le operazioni di crittografia in tabelle di grandi dimensioni, lo strumento consigliato è PowerShell. Vedere Configurare la crittografia delle colonne usando Always Encrypted con PowerShell o Configurare la crittografia delle colonne sul posto con PowerShell.

Autorizzazioni

Per eseguire operazioni di crittografia tramite la procedura guidata sono necessarie le autorizzazioni VIEW ANY COLUMN MASTER KEY DEFINITION e VIEW ANY COLUMN ENCRYPTION KEY DEFINITION. Sono necessarie anche le autorizzazioni dell'archivio di chiavi per creare, accedere e usare la chiave master della colonna. Per informazioni dettagliate sulle autorizzazioni dell'archivio di chiavi, vedere Creare e archiviare chiavi master della colonna per Always Encrypted e consultare la sezione relativa all'archivio di chiavi.

Aprire la procedura guidata Always Encrypted

È possibile avviare la procedura guidata a tre livelli diversi:

  • A livello di database, se si vogliono crittografare più colonne situate in tabelle diverse.
  • A livello di tabella, se si vogliono crittografare più colonne situate nella stessa tabella.
  • A livello di colonna, se si vuole crittografare una specifica colonna.
  1. Connettersi a SQL Server con il componente Esplora oggetti di SQL Server Management Studio.

  2. Per crittografare:

    1. Più colonne situate in una tabella diversa in un database, fare clic con il pulsante destro del mouse sul database, scegliere Attività e quindi selezionare Crittografa colonne.
    2. Più colonne situate nella stessa tabella, passare alla tabella, fare clic con il pulsante destro del mouse su di essa, quindi selezionare Crittografa colonne.
    3. Una singola colonna, passare alla colonna, fare clic con il pulsante destro del mouse su di essa, quindi selezionare Crittografa colonne.

Pagina Selezione colonna

In questa pagina è possibile selezionare le colonne da crittografare, crittografare nuovamente o decrittografare, oltre che definire la configurazione di crittografia di destinazione per le colonne selezionate.

Per crittografare una colonna in testo non crittografato, selezionare un tipo di crittografia (Deterministica o Casuale) e una chiave di crittografia per la colonna.

Per modificare un tipo di crittografia o per ruotare (modificare) una chiave di crittografia della colonna per una colonna già crittografata, selezionare il tipo di crittografia desiderato e la chiave.

Se si vuole che la procedura guidata crittografi o ricrittografi una o più colonne usando una nuova chiave di crittografia della colonna, selezionare una chiave il cui nome contiene (Nuova). La procedura guidata genererà la chiave.

Per decrittografare una colonna attualmente crittografata, selezionare il tipo di crittografia Testo non crittografato.

Nota

Se si vuole sfruttare la crittografia sul posto e si usano chiavi esistenti, assicurarsi di selezionare chiavi abilitate per l'enclave, annotate con (enclave-enabled).

Nota

La procedura guidata non supporta le operazioni di crittografia in tabelle temporali e in memoria. È possibile creare tabelle temporali o in memoria vuote usando Transact-SQL e inserire dati usando l'applicazione.

Pagina Configurazione della chiave master

Se per qualsiasi colonna nella pagina precedente è stata selezionata una chiave di crittografia della colonna generata automaticamente, in questa pagina occorre selezionare una chiave master di colonna esistente oppure configurare una nuova chiave master di colonna che crittograferà la chiave di crittografia della colonna.

Quando si configura una nuova chiave master di colonna, è possibile selezionare una chiave esistente nell'archivio certificati di Windows o in Azure Key Vault e fare in modo che la procedura guidata crei nel database solo un oggetto metadati per la chiave. In alternativa, si può scegliere di generare nel database sia la chiave che l'oggetto metadati che descrive la chiave.

Per usare la crittografia sul posto, assicurarsi di selezionare Consenti calcoli enclave per una nuova chiave master della colonna. È possibile selezionare questa casella di controllo solo se il database è configurato con un'enclave sicura.

Per ulteriori informazioni sulla creazione e l'archiviazione delle chiavi master della colonna nell'archivio certificati di Windows, in Azure Key Vault o in altri archivi di chiavi, vedere Creare e archiviare chiavi master della colonna per Always Encrypted o Gestire le chiavi per Always Encrypted con le enclave sicure.

Suggerimento

La procedura guidata consente di esplorare e creare chiavi solo nell'archivio certificati Windows e in Azure Key Vault. Inoltre, genera automaticamente i nomi delle nuove chiavi e degli oggetti metadati del database che descrivono le chiavi. Per avere un maggiore controllo sulla modalità di provisioning delle chiavi e più possibilità di scelta per un archivio chiavi contenente una chiave master della colonna, è possibile usare le finestre di dialogo Nuova chiave master della colonna e Nuova chiave di crittografia della colonna per creare le chiavi, quindi eseguire la procedura guidata e selezionare le chiavi create. Vedere Effettuare il provisioning delle chiavi master della colonna con la finestra di dialogo Nuova chiave master della colonna o Effetturare il provisioning delle chiavi abilitate per l'enclave e Effettuare il provisioning delle chiavi di crittografia della colonna con la finestra di dialogo Nuova chiave di crittografia della colonna.

Pagina delle impostazioni di crittografia sul posto

Se è stata configurata un'enclave sicura nel database e si usano chiavi abilitate per l'enclave, questa pagina consente di specificare i parametri di attestazione dell'enclave, necessari per la crittografia sul posto. Se non si vuole usare la crittografia sul posto, deselezionare Usa crittografia sul posto per le colonne idonee per procedere con la crittografia lato client. È consigliabile lasciare abilitata questa casella di controllo in modo che la procedura guidata possa usare la crittografia sul posto.

Per ulteriori informazioni sull'attestazione dell'enclave, vedere Configurare l'attestazione per Always Encrypted tramite attestazione di Azure

Passaggi successivi

Vedi anche