Eventi
Ottieni gratuitamente la certificazione in Microsoft Fabric.
19 nov, 23 - 10 dic, 23
Per un periodo di tempo limitato, il team della community di Microsoft Fabric offre buoni per esami DP-600 gratuiti.
Prepara oraQuesto browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure
Questo articolo descrive le attività necessarie per ruotare chiavi master della colonna Always Encrypted e chiavi di crittografia della colonna con SQL Server Management Studio (SSMS).
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.
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.
La rotazione di una chiave master della colonna è il processo di sostituzione di una chiave master della colonna esistente con la nuova chiave. Potrebbe essere necessario ruotare una chiave se questa è stata compromessa oppure per conformità ai criteri e alle normative dell'organizzazione che impongono la rotazione a intervalli regolari delle chiavi crittografiche. La rotazione delle chiavi master della colonna interessa la decrittografia delle chiavi di crittografia della colonna che sono protette dalla chiave master corrente della colonna, la loro successiva crittografia tramite la chiave master nuova della colonna e l'aggiornamento dei metadati per entrambi i tipi di chiavi.
Seguire la procedura descritta in Effettuare il provisioning delle chiavi master di colonna con la finestra di dialogo Nuova chiave master della colonna.
Una chiave master della colonna protegge in genere uno o più chiavi di crittografia di colonna. Una chiave master della colonna protegge in genere una o più chiavi di crittografia della colonna. Ognuna di queste chiavi contiene un valore crittografato e archiviato nel database, che è il risultato della crittografia della chiave di crittografia con la chiave master della colonna. In questo passaggio è necessario crittografare tutte le chiavi di crittografia della colonna protette con la chiave master della colonna, eseguendo la rotazione con la nuova chiave master della colonna e archiviando il nuovo valore crittografato nel database. Di conseguenza, ogni chiave di crittografia della colonna interessata dalla rotazione avrà due valori crittografati: un valore crittografato con la chiave master della colonna esistente e un nuovo valore crittografato con la nuova chiave master della colonna.
SQL Server Management Studio ottiene i metadati delle chiavi di crittografia della colonna protette con la chiave master della colonna precedente e i metadati delle chiavi master della colonna vecchie e nuove. Quindi, SSMS usa i metadati della chiave master della colonna per accedere all'archivio dati contenente la chiave master della colonna precedente e decrittografare le chiavi di crittografia della colonna. Successivamente, SSMS accede all'archivio chiavi contenente la nuova chiave master della colonna per produrre un nuovo set di valori crittografati delle chiavi di crittografia della colonna e quindi aggiunge i nuovi valori ai metadati generando ed emettendo istruzioni ALTER COLUMN ENCRYPTION KEY (Transact-SQL) .
Nota
Verificare che ogni chiave di crittografia della colonna, crittografata con la chiave master della colonna precedente, non sia crittografata con altre chiavi master della colonna. In altre parole, ogni chiave di crittografia della colonna interessata dalla rotazione deve avere un solo valore crittografato nel database. Se una chiave di crittografia della colonna interessata contiene più di un valore crittografato, è necessario rimuovere il valore prima di procedere con la rotazione (vedere il passaggio 4 per la rimozione di un valore crittografato da una chiave di crittografia della colonna).
In questo passaggio è necessario verificare che tutte le applicazioni client in uso che eseguono query nelle colonne del database protette dalla chiave master della colonna in fase di rotazione siano in grado di accedere alla nuova chiave master della colonna, ad esempio le colonne del database crittografate con una chiave di crittografia della colonna crittografata con la chiave master della colonna. Questo passaggio dipende dal tipo di archivio chiavi in cui si trova la nuova chiave master della colonna. Ad esempio:
Per informazioni dettagliate, vedere Creare e archiviare chiavi master della colonna per Always Encrypted.
Nota
A questo punto della rotazione, sia la nuova chiave master della colonna che quella precedente sono valide e possono essere usate per accedere ai dati.
Dopo aver configurato tutte le applicazioni per l'uso con la nuova chiave master della colonna, rimuovere dal database i valori delle chiavi di crittografia della colonna, crittografate con la chiave master della colonna precedente . La rimozione dei valori precedenti predispone il sistema per la rotazione successiva. Tenere presente che ogni chiave di crittografia della colonna, protetta con una chiave master della colonna da ruotare, deve avere esattamente un valore crittografato.
Un altro motivo per cui è necessario pulire il valore precedente prima di archiviare o rimuovere la chiave master della colonna precedente riguarda le prestazioni: quando si eseguono query su una colonna crittografata, un driver client abilitato per la crittografia sempre attiva potrebbe tentare di decrittografare due valori, il valore precedente e quello nuovo. Il driver non riconosce quale delle due chiavi master della colonna sia valida nell'ambiente dell'applicazione, quindi recupera entrambi i valori dal server. Se la decrittografia di uno dei valori non va a buon fine in ragione del fatto che il valore è protetto con una chiave master della colonna non disponibile (ad esempio, la chiave master della colonna precedente rimossa dall'archivio), il driver tenterà di decrittografare un altro valore usando la nuova chiave master della colonna.
Avviso
Se si rimuove il valore di una chiave di crittografia della colonna prima che la relativa chiave master della colonna diventi disponibile per un'applicazione, l'applicazione non sarà più in grado di decrittografare la colonna del database.
SQL Server Management Studio rilascerà istruzioni ALTER COLUMN ENCRYPTION KEY (Transact-SQL) per eliminare i valori crittografati delle chiavi di crittografia della colonna crittografati con la chiave master della colonna precedente.
Se si sceglie di rimuovere la definizione della chiave master della colonna precedente dal database, eseguire la procedura descritta di seguito.
Nota
Si consiglia di non eliminare definitivamente la chiave master precedente della colonna dopo la rotazione. È opportuno invece conservare la chiave master precedente della colonna nell'archivio chiavi corrente o archiviarla in un altro posto sicuro. Se si ripristina il database da un file di backup creato prima che la nuova chiave master della colonna sia stata configurata, è necessaria la chiave precedente per accedere ai dati.
La rotazione di una chiave master della colonna richiede le seguenti autorizzazioni di database:
Sono necessarie le autorizzazioni dell'archivio di chiavi per poter accedere sia alla chiave master della colonna precedente sia alla nuova chiave master della colonna nei rispettivi archivi di chiavi. 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.
La rotazione di una chiave di crittografia della colonna comporta la decrittografia dei dati in tutte le colonne crittografate con la chiave da ruotare e la nuova crittografia dei dati che usano la nuova chiave di crittografia della colonna.
Nota
La rotazione di una chiave di crittografia della colonna può richiedere molto tempo, se le tabelle contenenti le colonne crittografate con la chiave da ruotare sono di grandi dimensioni. Durante la nuova crittografia dei dati, le applicazioni non possono scrivere nelle tabelle interessate. Pertanto, l'organizzazione deve pianificare con molta attenzione una rotazione della chiave di crittografia della colonna. Per ruotare una chiave di crittografia della colonna, usare la procedura guidata di Always Encrypted.
La rotazione di una chiave di crittografia della colonna richiede le seguenti autorizzazioni di database. ALTER ANY COLUMN MASTER KEY: richiesta se si usa una nuova chiave di crittografia della colonna generata automaticamente (verranno generati anche una nuova chiave master della colonna e i relativi metadati). ALTER ANY COLUMN ENCRYPTION KEY: richiesta per aggiungere metadati per la nuova chiave di crittografia della colonna.
Sono necessarie le autorizzazioni dell'archivio di chiavi per poter accedere alle chiavi master della colonna sia per la nuova chiave di crittografia della colonna sia per quella precedente. 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.
Eventi
Ottieni gratuitamente la certificazione in Microsoft Fabric.
19 nov, 23 - 10 dic, 23
Per un periodo di tempo limitato, il team della community di Microsoft Fabric offre buoni per esami DP-600 gratuiti.
Prepara ora