Configurare la crittografia delle colonne usando la procedura guidata Always Encrypted

Si applica a: sìSQL Server (tutte le versioni supportate) Sìdatabase SQL di Azure Sì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.

La procedura guidata funziona spostando i dati all'esterno del database ed eseguendo operazioni di crittografia all'interno del processo di 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.

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.

Nota

Se si usa SQL Server 2019 (15.x) e l'istanza di SQL Server è configurata con un'enclave sicura, è possibile eseguire le operazioni di crittografia sul posto, senza trasferire i dati all'esterno del database. Vedere Configurare la crittografia delle colonne sul posto usando Always Encrypted con enclave sicure. Si noti che la procedura guidata non supporta la crittografia sul posto.

Usare PowerShell è una procedura consigliata

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 chiavi per creare, accedere e usare la chiave master della colonna. Per informazioni dettagliate sulle autorizzazioni dell'archivio chiavi, vedere Creare e archiviare chiavi master della colonna per Always Encrypted e trovare una sezione pertinente per l'archivio 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

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 altre informazioni sulla creazione e l'archiviazione delle chiavi master di 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.

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 di colonna con la finestra di dialogo Nuova chiave master della colonna e Effettuare il provisioning delle chiavi di crittografia di colonna con la finestra di dialogo Nuova chiave di crittografia della colonna.

Passaggi successivi

Vedere anche