Procedura guidata Always EncryptedAlways Encrypted Wizard

QUESTO ARGOMENTO SI APPLICA A: sìSQL Server (a partire dalla versione 2016)sìDatabase SQL di AzurenoAzure SQL Data Warehouse noParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2016)yesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Usare la procedura guidata Always Encrypted per proteggere i dati sensibili archiviati in un database di SQL Server.Use the Always Encrypted Wizard to help protect sensitive data stored in a SQL Server database. Always Encrypted consente ai client di eseguire la crittografia dei dati sensibili all'interno delle applicazioni client e non rivelare le chiavi di crittografia di SQL Server.Always Encrypted allows clients to encrypt sensitive data inside client applications and never reveal the encryption keys to SQL Server. Di conseguenza, Always Encrypted crea una separazione tra chi possiede i dati (e può visualizzarli) e chi gestisce i dati (ma non può accedervi).As a result, Always Encrypted provides a separation between those who own the data (and can view it) and those who manage the data (but should have no access). Per una descrizione completa della funzionalità, vedere Always Encrypted (Motore di database).For a full description of the feature, see Always Encrypted (Database Engine).

  • Per una procedura dettagliata end-to-end che spiega come configurare Always Encrypted con la procedura guidata e come usarlo in un'applicazione client, vedere Always Encrypted - Proteggere i dati sensibili nel database SQL con la crittografia del database e archiviare le chiavi di crittografia nell'archivio certificati di Windows.For an end-to-end walkthrough that shows how to configure Always Encrypted with the wizard and use it in a client application, see SQL Database tutorial: Protect sensitive data with Always Encrypted.
  • Per informazioni sull'uso della procedura guidata, vedere il video relativo alla protezione dei dati sensibili con Always Encrypted.For a video that includes using the wizard, see Keeping Sensitive Data Secure with Always Encrypted. Vedere anche il blog del team di sicurezza di SQL ServerSQL Server sulla procedura guidata per la crittografia di SSMS e su come abilitare Always Encrypted in pochi semplici passaggi.Also, see the SQL ServerSQL Server Security Team blog SSMS Encryption Wizard - Enabling Always Encrypted in a Few Easy Steps.
  • Autorizzazioni: per eseguire query su colonne crittografate e selezionare chiavi usando la procedura guidata è necessario avere le autorizzazioni VIEW ANY COLUMN MASTER KEY DEFINITION e VIEW ANY COLUMN ENCRYPTION KEY DEFINITION .Permissions: To query encrypted columns and to select keys using this wizard you must have the VIEW ANY COLUMN MASTER KEY DEFINITION and VIEW ANY COLUMN ENCRYPTION KEY DEFINITION permissions. Per creare nuove chiavi, sono necessarie anche le autorizzazioni ALTER ANY COLUMN MASTER KEY e ALTER ANY COLUMN ENCRYPTION KEY .To create new keys, you must also have the ALTER ANY COLUMN MASTER KEY and ALTER ANY COLUMN ENCRYPTION KEY permissions.
  • -#### Per aprire la procedura guidata Always Encrypted-#### To Open the Always Encrypted Wizard
  • -1.-1. Connettersi a SQL ServerSQL Server con il componente Esplora oggetti di SQL Server Management StudioSQL Server Management Studio.Connect to your SQL ServerSQL Server with the Object Explorer component of SQL Server Management StudioSQL Server Management Studio.
  • -2.-2. Fare clic con il pulsante destro del mouse sul database, scegliere Attività, quindi fare clic su Crittografa colonne.Right-click your database, point to Tasks, and then click Encrypt Columns.
  • -## Pagina Selezione colonna-## Column Selection Page
  • Individuare una tabella e una colonna e quindi selezionare un tipo di crittografia (deterministico o casuale) e una chiave di crittografia per le colonne selezionate.Locate a table and column, and then select an encryption type (deterministic or randomized) and an encryption key for selected columns. Per decrittografare una colonna attualmente crittografata, selezionare Testo non crittografato.To decrypt an column that is currently encrypted, select Plaintext. Per applicare una nuova chiave di crittografia a una colonna, selezionare una chiave di crittografia diversa e la procedura guidata decrittograferà la colonna per puoi crittografarla nuovamente con la nuova chiave.To rotate a column encryption key, select different encryption key and the wizard will decrypt the column and re-encrypt the column with the new key. La crittografia di tabelle temporali e in memoria è supportata da SQL ServerSQL Server , ma non può essere configurata con questa procedura guidata.(Encrypting temporal and In-Memory tables is supported by SQL ServerSQL Server but cannot be configured by this wizard.)
  • -## Pagina Configurazione della chiave master-## Master Key Configuration Page
  • Creare una nuova chiave master della colonna nell'archivio certificati di Windows o in Insieme di credenziali delle chiavi di Azure.Create a new column master key in the Windows Certificate Store or Azure Key Vault. Per altre informazioni, fare clic di seguito sui collegamenti nella sezione Archiviazione della chiave.For more information, see the links below under Key Storage.
  • Se si sceglie una chiave di crittografia della colonna generata automaticamente nella pagina Selezione colonna, è necessario configurare una chiave master della colonna con cui verrà crittografata la chiave di crittografia della colonna generata.If you chose an auto-generated column encryption key in the Column Selection page, you must configure a column master key that the generated column encryption key will be encrypted with. Se esiste già una chiave master della colonna definita nel database, è possibile selezionarla.If you already have a column master key defined in your database, you can select it. (Per usare una chiave master della colonna esistente, è necessario avere l'autorizzazione per accedere alla chiave.) In alternativa, è possibile generare una nuova chiave master della colonna nell'archivio chiavi selezionato (archivio certificati di Windows o Insieme di credenziali delle chiavi di Azure) e definire la chiave nel database.(To use an existing column master key, the user must have permission to access the key.) Or, you can generate a column master key in a selected key store (Windows Certificate Store or Azure Key Vault) and define the key in the database.
  • Archiviazione della chiaveKey Storage
  • Scegliere la posizione in cui verrà archiviata la chiave master della colonna.Choose where the column master key will be stored.
  • -- Archiviazione di una chiave master nell'archivio certificati di Windows Per altre informazioni, vedere Using Certificate Stores (Uso degli archivi certificati)-- Storing a master key in Windows cert For more information, see Using Certificate Stores
  • -- Archiviazione di una chiave master in Azure Key Vault Per altre informazioni, vedere Introduzione ad Azure Key Vault.-- Storing a master key in AKV For more information, see Get Started with Azure Key Vault.
  • Per generare una chiave master della colonna nell'insieme di credenziali delle chiavi di Azure, l'utente deve avere le autorizzazioni WrapKey, UnwrapKey, Verifye Sign per l'insieme di credenziali delle chiavi.To generate a column master key in the Azure Key Vault, the user must have the WrapKey, UnwrapKey, Verify, and Sign permissions to the key vault. Potrebbero essere necessarie anche le autorizzazioni Get, List, Create, Delete, Update, Import, Backupe Restore .Users might also need the Get, List, Create, Delete, Update, Import, Backup, and Restore permissions. Per altre informazioni, vedere Che cos'è un insieme di credenziali delle chiavi di Azure? e Set-AzureRmKeyVaultAccessPolicy.For more information, see What is Azure Key Vault? and Set-AzureRmKeyVaultAccessPolicy.
  • La procedura guidata supporta solo queste due opzioni.The wizard only supported two options. I moduli di protezione hardware e gli archivi dei clienti devono essere configurati con CREATE COLUMN MASTER KEY (Transact-SQL) Transact-SQLTransact-SQL.Hardware Security Modules and customer stores must be configured using CREATE COLUMN MASTER KEY (Transact-SQL) Transact-SQLTransact-SQL.
  • -## Terminologia di Always Encrypted-## Always Encrypted Terms
  • -- La crittografia deterministica usa un metodo che genera sempre lo stesso valore crittografato per qualsiasi valore di testo normale specificato.-- Deterministic encryption uses a method which always generates the same encrypted value for any given plain text value. L'uso della crittografia deterministica consente di eseguire operazioni di raggruppamento, filtro di uguaglianza e join di tabelle in base ai valori crittografati, ma può anche consentire a utenti non autorizzati di indovinare le informazioni sui valori crittografati esaminando i criteri nella colonna crittografata.Using deterministic encryption allows grouping, filtering by equality, and joining tables based on encrypted values, but can also allow unauthorized users to guess information about encrypted values by examining patterns in the encrypted column. Questa vulnerabilità aumenta quando è presente un piccolo set di possibili valori crittografati, ad esempio True/False o area geografica Nord/Sud/Est/Ovest.This weakness is increased when there is a small set of possible encrypted values, such as True/False, or North/South/East/West region. La crittografia deterministica deve usare regole di confronto a livello di colonna con un ordinamento binario2 per colonne di tipo carattere.Deterministic encryption must use a column collation with a binary2 sort order for character columns.
  • -- La crittografia casuale usa un metodo di crittografia dei dati meno prevedibile.-- Randomized encryption uses a method that encrypts data in a less predictable manner. La crittografia casuale è più sicura, ma impedisce le ricerche di uguaglianza, il raggruppamento, l'indicizzazione e il join su colonne crittografate.Randomized encryption is more secure, but prevents equality searches, grouping, indexing, and joining on encrypted columns.
  • -- Le chiavi master della colonna sono chiavi di protezione usate per crittografare le chiavi di crittografia della colonna.-- Column master keys are protecting keys used to encrypt column encryption keys. Le chiavi master della colonna devono essere archiviate in un archivio attendibile.Column master keys must be stored in a trusted key store. Le informazioni sulle chiavi master della colonna, incluso il relativo percorso, vengono archiviate nel database in viste del catalogo di sistema.Information about column master keys, including their location, is stored in the database in system catalog views.
  • -- Le chiavi di crittografia della colonna vengono usate per crittografare dati sensibili archiviati nelle colonne del database.-- Column encryption keys are used to encrypt sensitive data stored in database columns. Tutti i valori presenti in una colonna possono essere crittografati usando una chiave di crittografia di singola colonna.All values in a column can be encrypted using a single column encryption key. I valori crittografati delle chiavi di crittografia della colonna vengono archiviati nel database in viste del catalogo di sistema.Encrypted values of column encryption keys are stored in the database in system catalog views. È consigliabile archiviare le chiavi di crittografia della colonna in un percorso sicuro/attendibile per il backup.You should store column encryption keys in a secure/trusted location for backup.
  • -## Vedere anche-## See Also
  • Always Encrypted (Motore di database)Always Encrypted (Database Engine)
  • Extensible Key Management con l'insieme di credenziali delle chiavi di Azure (SQL Server)Extensible Key Management Using Azure Key Vault (SQL Server)