Procedura di installazione di Extensible Key Management con l'insieme di credenziali delle chiavi di AzureSetup Steps for Extensible Key Management Using the Azure Key Vault

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

Questa procedura dettagliata spiega come installare e configurare il Connettore SQL ServerSQL Server per Insieme credenziali chiavi Azure.The following steps walkthrough the installation and configuration of the SQL ServerSQL ServerConnector for Azure Key Vault.

Prima di iniziareBefore You Start

Per usare l'insieme di credenziali delle chiavi di Azure con SQL Server, vanno soddisfatti alcuni prerequisiti:To use Azure Key Vault with your SQL Server, there are a few prerequisites:

  • È necessaria una sottoscrizione di AzureYou must have an Azure subscription

  • Installare la versione più recente di Azure PowerShell 1.0.1 o successiva.Install the latest Azure PowerShell (1.0.1 or higher).

  • Creare Azure Active DirectoryCreate an Azure Active Directory

  • Acquisire familiarità con le entità di archiviazione EKM che usano l'insieme di credenziali delle chiavi di Azure leggendo l'argomento Extensible Key Management con l'insieme di credenziali delle chiavi di Azure (SQL Server).Familiarize yourself with the principals of EKM storage using the Azure Key Vault by reviewing Extensible Key Management Using Azure Key Vault (SQL Server).

  • Verificare che sia installata la versione appropriata di Visual Studio C++ Redistributable nella versione di SQL Server in esecuzione:Have the appropriate version of the Visual Studio C++ redistributable installed based on the version of SQL Server that you are running:

Versione di SQL ServerSQL Server Version Collegamento di installazione ridistribuibileRedistributable Install Link
2008, 2008 R2, 2012, 20142008, 2008 R2, 2012, 2014 Visual C++ Redistributable Package per Visual Studio 2013Visual C++ Redistributable Packages for Visual Studio 2013
20162016 Visual C++ Redistributable per Visual Studio 2015Visual C++ Redistributable for Visual Studio 2015

Parte 1: Configurare un'entità servizio di Azure Active DirectoryPart I: Set up an Azure Active Directory service principal

Per concedere le autorizzazioni di accesso di SQL Server all'insieme di credenziali delle chiavi di Azure, è necessario un account dell'entità servizio in Azure Active Directory (AAD).In order to grant SQL Server access permissions to your Azure Key Vault, you will need a Service Principal account in Azure Active Directory (AAD).

  1. Andare al portale di Azure classicoed eseguire l'accesso.Go to the Azure classic portal, and sign in.

  2. Registrare un'applicazione con Azure Active Directory.Register an application with Azure Active Directory. Per istruzioni dettagliate su come registrare un'applicazione, vedere la sezione Get an identity for the application (Ottenere un'identità per l'applicazione) del post di blog Azure Key Vault(Insieme di credenziali delle chiavi di Azure).For detailed step-by-step instructions to register an application, see the Get an identity for the application section of the Azure Key Vault blog post.

  3. Copiare l' ID client e il segreto client per un passaggio successivo durante il quale verranno usati per concedere l'accesso SQL ServerSQL Server all'insieme di credenziali delle chiavi.Copy the Client ID and Client Secret for a later step, where they will be used to grant SQL ServerSQL Server access to your key vault.

    ekm-client-idekm-client-id

    ekm-key-idekm-key-id

Parte 2: Creare un insieme di credenziali delle chiavi e una chiavePart II: Create a Key Vault and Key

L'insieme di credenziali delle chiavi e la chiave creata in questo passaggio verranno usate dal motore di database di SQL Server per la protezione della chiave di crittografia.The key vault and key created here will be used by the SQL Server Database Engine for encryption key protection.

Importante

La sottoscrizione in cui viene creato l'insieme di credenziali delle chiavi deve trovarsi nella stessa istanza predefinita di Azure Active Directory in cui è stata creata l'entità servizio di Azure Active Directory.The subscription where the key vault is created must be in the same default Azure Active Directory where the Azure Active Directory service principal was created. Per usare un'istanza di Active Directory diversa da quella predefinita per la creazione di un'entità servizio per il Connettore SQL Server, è necessario modificare Active Directory predefinito nell'account di Azure prima di creare l'insieme di credenziali delle chiavi.If you want to use an Active Directory other than your default Active Directory for creating a service principal for the SQL Server Connector, you must change the default Active Directory in your Azure account before creating your key vault. Per informazioni su come cambiare da Active Directory predefinito all'istanza desiderata, vedere le Domande frequentidi Connettore SQL Server.To learn how to change the default Active Directory to the one you'd like to use, please refer to the SQL Server Connector FAQs.

  1. Aprire e accedere a PowerShellOpen PowerShell and Sign in

    Installare e avviare la versione più recente di Azure PowerShell 1.0.1 o successiva.Install and start the latest Azure PowerShell (1.0.1 or higher). Accedere al proprio account Azure con il comando seguente:Sign in to your Azure account with the following command:

    Login-AzureRmAccount  
    

    L'istruzione restituisce:The statement returns:

    Environment           : AzureCloud  
    Account               : <account_name>  
    TenantId              : <tenant_id>  
    SubscriptionId        : <subscription_id>  
    CurrentStorageAccount :  
    

    Nota

    Se si hanno più sottoscrizioni e si vuole specificare quale usare per l'insieme di credenziali, usare Get-AzureRmSubscription per visualizzare le sottoscrizioni e Select-AzureRmSubscription per scegliere quella appropriata.If you have multiple subscriptions and want to specify a specific one to use for the vault, then use Get-AzureRmSubscription to see the subscriptions and Select-AzureRmSubscription to choose the correct subscription. In caso contrario, PowerShell ne selezionerà automaticamente una per impostazione predefinita.Otherwise, PowerShell will select one for you by default.

  2. Creare un nuovo gruppo di risorseCreate a new resource group

    Tutte le risorse di Azure create con Azure Resource Manager devono essere incluse in gruppi di risorse.All Azure resources created via Azure Resource Manager must be contained in resource groups. Creare un gruppo di risorse per ospitare l'insieme di credenziali delle chiavi.Create a resource group to house your key vault. In questo esempio viene utilizzato ContosoDevRG.This example uses ContosoDevRG. Scegliere un nome univoco per il gruppo di risorse e l'insieme di credenziali delle chiavi perché tutti i nomi di insiemi di credenziali delle chiavi sono univoci a livello globale.Choose your own unique resource group and key vault name as all key vault names are globally unique.

    New-AzureRmResourceGroup -Name ContosoDevRG -Location 'East Asia'  
    

    L'istruzione restituisce:The statement returns:

    ResourceGroupName: ContosoDevRG  
    Location         : eastasia  
    ProvisioningState: Succeeded  
    Tags             :   
    ResourceId       : /subscriptions/<subscription_id>/  
                        resourceGroups/ContosoDevRG  
    

    Nota

    Per -Location parameterusare il comando Get-AzureLocation per determinare come specificare un percorso alternativo rispetto a quello di questo esempio.For the -Location parameter, use the command Get-AzureLocation to identify how to specify an alternative location to the one in this example. Per altre informazioni, digitare: Get-Help Get-AzureLocationIf you need more information, type: Get-Help Get-AzureLocation

  3. Creare un insieme di credenziali delle chiaviCreate a Key Vault

    Il cmdlet New-AzureRmKeyVault richiede il nome di un gruppo di risorse, un nome dell'insieme di credenziali delle chiavi e una posizione geografica.The New-AzureRmKeyVault cmdlet requires a resource group name, a key vault name, and a geographic location. Ad esempio, per un insieme di credenziali delle chiavi denominato ContosoDevKeyVault, digitare:For example, for a key vault named ContosoDevKeyVault, type:

    New-AzureRmKeyVault -VaultName 'ContosoDevKeyVault' `  
       -ResourceGroupName 'ContosoDevRG' -Location 'East Asia'  
    

    Registrare il nome dell'insieme di credenziali delle chiavi.Record the name of your key vault.

    L'istruzione restituisce:The statement returns:

    Vault Name                       : ContosoDevKeyVault  
    Resource Group Name              : ContosoDevRG  
    Location                         : East Asia  
    ResourceId                       : /subscriptions/<subscription_id>/  
                                        resourceGroups/ContosoDevRG/providers/  
                                        Microsoft/KeyVault/vaults/ContosoDevKeyVault  
    Vault URI: https://ContosoDevKeyVault.vault.azure.net  
    Tenant ID                        : <tenant_id>  
    SKU                              : Standard  
    Enabled For Deployment?          : False  
    Enabled For Template Deployment? : False  
    Enabled For Disk Encryption?     : False  
    Access Policies                  :  
             Tenant ID              : <tenant_id>  
             Object ID              : <object_id>  
             Application ID         :   
             Display Name           : <display_name>  
             Permissions to Keys    : get, create, delete, list, update, import,   
                                      backup, restore  
             Permissions to Secrets : all  
    Tags                             :  
    
  4. Concedere le autorizzazioni per consentire all'entità servizio di Azure Active Directory di accedere all'insieme di credenziali delle chiaviGrant Permission for the Azure Active Directory Service Principal to Access the Key Vault

    È possibile autorizzare altri utenti e applicazioni a usare l'insieme di credenziali delle chiavi.You can authorize other users and applications to use your key vault.
    In questo caso, l'entità servizio di Azure Active Directory creata nella parte 1 viene usata per autorizzare l'istanza di SQL ServerSQL Server .In this case, let’s use the Azure Active Directory service principal created in Part I to authorize the SQL ServerSQL Server instance.

    Importante

    L'entità servizio di Azure Active Directory deve avere almeno le autorizzazioni get, list, wrapKeye unwrapKey per l'insieme di credenziali delle chiavi.The Azure Active Directory service principal must have at least the get, list, wrapKey, and unwrapKey permissions for the key vault.

    Come illustrato di seguito, usare l' ID client della parte 1 per il parametro ServicePrincipalName .As shown below, use the Client ID from Part I for the ServicePrincipalName parameter. Set-AzureRmKeyVaultAccessPolicy viene eseguito automaticamente e non produce output se riesce.The Set-AzureRmKeyVaultAccessPolicy runs silently with no output if it runs successfully.

    Set-AzureRmKeyVaultAccessPolicy -VaultName 'ContosoDevKeyVault'`  
      -ServicePrincipalName EF5C8E09-4D2A-4A76-9998-D93440D8115D `  
      -PermissionsToKeys get, list, wrapKey, unwrapKey  
    

    Chiamare il cmdlet Get-AzureRmKeyVault per verificare le autorizzazioni.Call the Get-AzureRmKeyVault cmdlet to confirm the permissions. Nella sezione "Criteri di accesso" dell'output dell'istruzione il nome dell'applicazione AAD dovrebbe essere elencato come un altro tenant che ha accesso a questo insieme di credenziali delle chiavi.In the statement output under ‘Access Policies,’ you should see your AAD application name listed as another tenant that has access to this key vault.

  5. Generare una chiave asimmetrica nell'insieme di credenziali delle chiaviGenerate an Asymmetric Key in the Key Vault

    Esistono due modi per generare una chiave nell'insieme di credenziali delle chiavi di Azure: 1) importare una chiave esistente o 2) crearne una nuova.There are two ways to generate a key in Azure Key Vault: 1) Import an existing key or 2) create a new key.

    Procedura consigliata:Best Practice:

    Per garantire un ripristino rapido della chiave e accedere ai dati all'esterno di Azure, si consiglia la procedura consigliata seguente:To ensure quick key recovery and be able to access your data outside of Azure, we recommend the following best practice:

    1. Creare la chiave di crittografia in locale in un dispositivo HSM locale.Create your encryption key locally on a local HSM device. Verificare che si tratti di una chiave RSA 2048 asimmetrica, in modo che possa essere archiviata nell'insieme di credenziali delle chiavi di Azure.(Make sure this is an asymmetric, RSA 2048 key so it's storable in Azure Key Vault.)
    2. Importare la chiave di crittografia nell'insieme di credenziali delle chiavi di Azure.Import the encryption key to Azure Key Vault. Vedere i passaggi seguenti per informazioni su come eseguire questa operazione.See the steps below for how to do that.
    3. Prima di usare la chiave nell'insieme di credenziali delle chiavi di Azure per la prima volta, eseguire un backup di questa chiave.Before using the key in Azure Key Vault for the first time, take an Azure Key Vault key backup. Altre informazioni sul comando Backup-AzureKeyVaultKey .Learn more about the Backup-AzureKeyVaultKey command.
    4. Ogni volta che vengono apportate modifiche alla chiave, ad esempio si aggiungono elenchi di controllo di accesso, tag o attributi chiave, assicurarsi di eseguire un altro backup della chiave nell'insieme di credenziali delle chiavi di Azure.Whenever any changes are made to the key (e.g. add ACLs, add tags, add key attributes), be sure to take another Azure Key Vault key backup.

      Nota

      Il backup di una chiave è un'operazione relativa alla chiave dell'insieme di credenziali delle chiavi di Azure che restituisce un file che può essere salvato in qualsiasi posizione".Backing up a key is an Azure Key Vault key operation which returns a file that can be saved anywhere."

    Tipi di chiavi:Types of keys:

    Nell'insieme di credenziali delle chiavi di Azure è possibile generare due tipi di chiavi.There are two types of keys you can generate in Azure Key Vault. Entrambe sono chiavi asimmetriche RSA a 2048 bit.Both are asymmetric 2048-bit RSA keys.

    • Protetta da software: elaborata nel software e crittografata quando inattiva.Software-protected: Processed in software and encrypted at rest. Le operazioni sulle chiavi protette da software vengono eseguite in Macchine virtuali di Azure.Operations on software-protected keys occur on Azure Virtual Machines. Consigliato per le chiavi non usate in una distribuzione di produzione.Recommended for keys not used in a production deployment.

    • Protetta da HSM: creata e protetta da un modulo di protezione hardware (HSM) per una maggiore sicurezza.HSM-protected: Created and protected by a hardware security module (HSM) for additional security. Costa circa 1 dollaro per ogni versione della chiave.Costs about $1 per key version.

      Importante

      Connettore SQL Server richiede che il nome della chiave usi solo i caratteri "a-z", "A-Z", "0-9", e "-", con un limite di 26 caratteri.The SQL Server Connector requires the key name to only use the characters “a-z”, “A-Z”, “0-9”, and “-“, with a 26-character limit.
      Versioni diverse della chiave con lo stesso nome di chiave nell'insieme di credenziali delle chiavi di Azure non funzioneranno con il Connettore SQL ServerSQL Server .Different key versions under the same key name in Azure Key Vault will not work with SQL ServerSQL Server Connector. Per ruotare una chiave dell'insieme di credenziali delle chiavi di Azure usata da SQL ServerSQL Server, vedere i passaggi relativi al rollover della chiave in Manutenzione e risoluzione dei problemi di Connettore SQL Server.To rotate an Azure Key Vault key that’s being used by SQL ServerSQL Server, please refer to the Key Rollover steps in the SQL Server Connector Maintenance & Troubleshooting.

    Importare una chiave esistenteImport an Existing Key

    Se si ha una chiave protetta da software RSA a 2048 bit, è possibile caricarla nell'insieme di credenziali delle chiavi di Azure.If you have an existing 2048-bit RSA software-protected key, you can upload the key to Azure Key Vault. Ad esempio, se si vuole caricare nell'insieme di credenziali delle chiavi di Azure un file PFX salvato nell'unità C:\\ in un file denominato softkey.pfx , digitare quanto segue per impostare la variabile securepfxpwd per una password di 12987553 per il file PFX:For example, if you had a .PFX file saved to your C:\\ drive in a file named softkey.pfx that you want to upload to Azure Key Vault, type the following to set the variable securepfxpwd for a password of 12987553 for the .PFX file:

    $securepfxpwd = ConvertTo-SecureString –String '12987553' `  
      –AsPlainText –Force  
    

    Quindi digitare quanto segue per importare la chiave dal file PFX, che protegge la chiave con l'hardware (consigliato) nel servizio dell'insieme di credenziali delle chiavi:Then you can type the following to import the key from the .PFX file, which protects the key by hardware (recommended) in the Key Vault service:

        Add-AzureKeyVaultKey -VaultName 'ContosoKeyVault' `  
          -Name 'ContosoFirstKey' -KeyFilePath 'c:\softkey.pfx' `  
          -KeyFilePassword $securepfxpwd $securepfxpwd  -Destination 'HSM'  
    

    Importante

    L'importazione della chiave asimmetrica è consigliata per gli scenari di produzione in quanto consente all'amministratore di depositare la chiave in un sistema di deposito delle chiavi.Importing the asymmetric key is highly recommended for production scenarios because it allows the administrator to escrow the key in a key escrow system. Se la chiave asimmetrica viene creata nell'insieme di credenziali, non potrà essere depositata perché la chiave privata non può mai lasciare l'insieme di credenziali.If the asymmetric key is created in the vault, it cannot be escrowed because the private key can never leave the vault. È consigliabile depositare le chiavi usate per proteggere i dati critici.Keys used to protect critical data should be escrowed. Se si perde una chiave asimmetrica, non sarà più possibile recuperare i dati.The loss of an asymmetric key will result in permanently unrecoverable data.

    Creare una nuova chiaveCreate a new key

    Esempio:Example:

    Se si vuole, è possibile creare una nuova chiave di crittografia direttamente nell'insieme di credenziali delle chiavi di Azure e proteggerla con il software o con il modulo di protezione hardware (HSM).If you'd like, you can create a new encryption key directly in Azure Key vault and have it be either software-protected or HSM-protected. In questo esempio viene creata una chiave protetta da software con Add-AzureKeyVaultKey cmdlet:In this example, let’s create a software-protected key using the Add-AzureKeyVaultKey cmdlet:

    Add-AzureKeyVaultKey -VaultName 'ContosoDevKeyVault' `  
      -Name 'ContosoRSAKey0' -Destination 'Software'  
    

    L'istruzione restituisce:The statement returns:

    Attributes : Microsoft.Azure.Commands.KeyVault.Models.KeyAttributes  
    Key        :  {"kid":"https:contosodevKeyVault.azure.net/keys/  
                   ContosoRSAKey0/<guid>","dty":"RSA:,"key_ops": ...  
    VaultName  : contosodevkeyvault  
    Name       : contosoRSAKey0  
    Version    : <guid>  
    Id         : https://contosodevkeyvault.vault.azure.net:443/  
                 keys/ContosoRSAKey0/<guid>  
    

    Importante

    L'insieme di credenziali delle chiavi supporta più versioni della stessa chiave denominata, ma le chiavi da usare con il Connettore SQL ServerSQL Server non devono essere con controllo delle versioni o rollback.The key vault supports multiple versions of the same named key, but keys to be used by SQL ServerSQL Server Connector should not be versioned or rolled. Se l'amministratore vuole eseguire il rollback della chiave usata per la crittografia di SQL ServerSQL Server , sarà necessario creare una nuova chiave con un nome diverso nell'insieme di credenziali e usarla per crittografare la chiave DEK.If the administrator wants to roll the key used for SQL ServerSQL Server encryption, a new key with a different name should be created in the vault and used to encrypt the DEK.

Parte 3: Installare il Connettore SQL ServerSQL ServerPart III: Install the SQL ServerSQL Server Connector

È possibile scaricare il Connettore SQL Server dall' Area download Microsoft.Download the SQL Server Connector from the Microsoft Download Center. Questa operazione deve essere eseguita dall'amministratore del computer SQL ServerSQL Server .(This should be done by the administrator of the SQL ServerSQL Server computer.)

Nota

Le versioni 1.0.0.440 e precedenti sono state sostituite e non sono più supportate negli ambienti di produzione.Versions 1.0.0.440 and older have been replaced and are no longer supported in production environments. Eseguire l'aggiornamento alla versione 1.0.1.0 o successiva visitando l' Area download Microsoft e seguendo le istruzioni nella pagina Manutenzione e risoluzione dei problemi di Connettore SQL Server in "Aggiornamento del Connettore SQL Server".Upgrade to version 1.0.1.0 or later by visiting the Microsoft Download Center and using the instructions on the SQL Server Connector Maintenance & Troubleshooting page under “Upgrade of SQL Server Connector.”

ekm-connector-installekm-connector-install

Per impostazione predefinita, il connettore viene installato in C:\Programmi\Connettore SQL Server per Insieme credenziali chiavi Microsoft Azure.By default, the connector installs at C:\Program Files\SQL Server Connector for Microsoft Azure Key Vault. Questo percorso può essere modificato durante l'installazione.This location can be changed during setup. Se si modifica il percorso, apportare la modifica negli script riportati di seguito.(If changed, adjust the scripts below.)

Non è disponibile alcuna interfaccia per il Connettore, ma se l'installazione è stata eseguita correttamente, nel computer viene installato Microsoft.AzureKeyVaultService.EKM.dll .There is no interface for the Connector, but if it is installed successfully, the Microsoft.AzureKeyVaultService.EKM.dll is installed on the machine. Si tratta della DLL del provider di crittografia EKM che deve essere registrata con SQL ServerSQL Server usando l'istruzione CREATE CRYPTOGRAPHIC PROVIDER .This is the cryptographic EKM provider DLL that needs to be registered with SQL ServerSQL Server by using the CREATE CRYPTOGRAPHIC PROVIDER statement.

L'installazione del Connettore SQL Server consente anche di scaricare facoltativamente gli script di esempio per la crittografia di SQL Server.The SQL Server Connector installation also allows you to optionally download sample scripts for SQL Server encryption.

Nell'appendice alla fine di questo argomento sono riportate le spiegazioni dei codici di errore, le impostazioni di configurazione o le attività di manutenzione di SQL Server Connector:To view error code explanations, configuration settings, or maintenance tasks for SQL Server Connector, visit the appendix at the bottom of this topic:

Parte 4: Eseguire la configurazione SQL ServerSQL ServerPart IV: Configure SQL ServerSQL Server

Vedere B. Domande frequenti per visualizzare una nota sui livelli minimi di autorizzazione necessari per ogni azione in questa sezione.Please refer to B. Frequently Asked Questions to see a note about the minimum permission levels needed for each action in this section.

  1. Avviare sqlcmd.exe o SQL ServerSQL Server Management StudioLaunch sqlcmd.exe or SQL ServerSQL Server Management Studio

  2. Configurare SQL ServerSQL Server per usare EKMConfigure SQL ServerSQL Server to use EKM

    Eseguire lo script Transact-SQLTransact-SQL seguente per configurare Motore di databaseDatabase Engine e usare un provider EKM.Execute the following Transact-SQLTransact-SQL script to configure the Motore di databaseDatabase Engine to use an EKM provider.

    -- Enable advanced options.  
    USE master;  
    GO  
    
    sp_configure 'show advanced options', 1;  
    GO  
    RECONFIGURE;  
    GO  
    
    -- Enable EKM provider  
    sp_configure 'EKM provider enabled', 1;  
    GO  
    RECONFIGURE;  
    
  3. Registrare (creare) il Connettore SQL ServerSQL Server come provider EKM con SQL ServerSQL ServerRegister (create) the SQL ServerSQL Server Connector as an EKM provider with SQL ServerSQL Server

    -- Creare un provider di crittografia usando il Connettore SQL ServerSQL Server che rappresenta un provider EKM per l'insieme di credenziali delle chiavi di Azure.-- Create a cryptographic provider, using the SQL ServerSQL Server Connector which is an EKM provider for the Azure Key Vault.
    Questo esempio usa il nome AzureKeyVault_EKM_Prov.This example uses the name AzureKeyVault_EKM_Prov.

    CREATE CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM_Prov   
    FROM FILE = 'C:\Program Files\SQL Server Connector for Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll';  
    GO  
    

    Nota

    La lunghezza del percorso file non può superare i 256 caratteri.The file path length cannot exceed 256 characters.

  4. Configurare le credenziali SQL ServerSQL Server di un account di accesso di SQL ServerSQL Server per usare l'insieme di credenziali delle chiaviSetup a SQL ServerSQL Server credential for a SQL ServerSQL Server login to use the key vault

    È necessario aggiungere le credenziali a ogni account di accesso che esegue la crittografia usando una chiave dall'insieme di credenziali delle chiavi.A credential must be added to each login that will be performing encryption using a key from the Key Vault. Ciò potrebbe includere:This might include:

    • L'account di accesso dell'amministratore di SQL ServerSQL Server che usa l'insieme di credenziali delle chiavi per configurare e gestire gli scenari di crittografia di SQL ServerSQL Server .A SQL ServerSQL Server administrator login who will use key vault in order to setup and manage SQL ServerSQL Server encryption scenarios.

    • Altri account di accesso di SQL ServerSQL Server che possono abilitare Transparent Data Encryption (TDE) o altre funzionalità di crittografia di SQL ServerSQL Server .Other SQL ServerSQL Server logins who might enable Transparent Data Encryption (TDE), or other SQL ServerSQL Server encryption features.

      Esiste un mapping uno-a-uno tra le credenziali e gli account di accesso.There is one-to-one mapping between credentials and logins. In altre parole, ogni account di accesso deve avere credenziali univoche.That is, each login must have a unique credential.

      Modificare lo script Transact-SQLTransact-SQL sottostante nei modi seguenti:Modify the Transact-SQLTransact-SQL script below in the following ways:

    • Modificare l'argomento IDENTITY (ContosoDevKeyVault) in modo che punti all'insieme di credenziali delle chiavi di Azure.Edit the IDENTITY argument (ContosoDevKeyVault) to point to your Azure Key Vault.

      • Se si usa Azure pubblico, sostituire l'argomento IDENTITY con il nome dell'insieme di credenziali delle chiavi di Azure della parte II.If you're using public Azure, replace the IDENTITY argument with the name of your Azure Key Vault from Part II.
      • Se si usa un cloud privato di Azure , ad esempioIf you're using a private Azure cloud (ex. Azure per enti pubblici, Azure Cina o Azure Germania, sostituire l'argomento IDENTITY con l'URI dell'insieme di credenziali restituito nella parte II, passaggio 3.Azure Government, Azure China, or Azure Germany), replace the IDENTITY argument with the Vault URI that is returned in Part II, step 3. Non includere "https://" nell'URI dell'insieme di credenziali.Do not include "https://" in the Vault URI.
    • Sostituire la prima parte dell'argomento SECRET con l' ID client di Azure Active Directory della parte 1. In questo esempio l' ID client è EF5C8E094D2A4A769998D93440D8115D.Replace the first part of the SECRET argument with the Azure Active Directory Client ID from Part I. In this example, the Client ID is EF5C8E094D2A4A769998D93440D8115D.

      Importante

      È necessario rimuovere i trattini dall' ID Client.You must remove the hyphens from the Client ID.

    • Completare la seconda parte dell'argomento SECRET con il segreto client della parte I. In questo esempio il segreto client della parte I è Replace-With-AAD-Client-Secret.Complete the second part of the SECRET argument with Client Secret from Part I. In this example the Client Secret from Part 1 is Replace-With-AAD-Client-Secret. La stringa finale dell'argomento SECRET sarà una lunga sequenza di lettere e numeri senza trattini.The final string for the SECRET argument will be a long sequence of letters and numbers, with no hyphens.

    USE master;  
    CREATE CREDENTIAL sysadmin_ekm_cred   
        WITH IDENTITY = 'ContosoDevKeyVault', -- for public Azure
        -- WITH IDENTITY = 'ContosoDevKeyVault.vault.usgovcloudapi.net', -- for Azure Government
        -- WITH IDENTITY = 'ContosoDevKeyVault.vault.azure.cn', -- for Azure China
        -- WITH IDENTITY = 'ContosoDevKeyVault.vault.microsoftazure.de', -- for Azure Germany   
        SECRET = 'EF5C8E094D2A4A769998D93440D8115DReplace-With-AAD-Client-Secret'   
    FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM_Prov;  
    
    -- Add the credential to the SQL Server administrator's domain login   
    ALTER LOGIN [<domain>\<login>]  
    ADD CREDENTIAL sysadmin_ekm_cred;  
    

    Per un esempio dell'uso delle variabili per gli argomenti CREATE CREDENTIAL e della rimozione dei trattini dall'ID client a livello di codice, vedere CREATE CREDENTIAL (Transact-SQL).For an example of using variables for the CREATE CREDENTIAL arguments and programmatically removing the hyphens from the Client ID, see CREATE CREDENTIAL (Transact-SQL).

  5. Aprire la chiave dell'insieme di credenziali delle chiavi di Azure in SQL ServerSQL ServerOpen your Azure Key Vault key in SQL ServerSQL Server

    Se è stata importata una chiave asimmetrica come descritto nella parte 2, aprire la chiave fornendo il nome della chiave nello script Transact-SQLTransact-SQL seguente.If you imported an asymmetric key as described in Part II, open the key by providing your key name in the following Transact-SQLTransact-SQL script.

    • Sostituire CONTOSO_KEY con il nome che si vuole assegnare alla chiave in SQL ServerSQL Server.Replace CONTOSO_KEY with the name you’d like the key to have in SQL ServerSQL Server.

    • Sostituire ContosoRSAKey0 con il nome della chiave nell'insieme di credenziali delle chiavi di Azure.Replace ContosoRSAKey0 with the name of your key in Azure Key Vault.

    CREATE ASYMMETRIC KEY CONTOSO_KEY   
    FROM PROVIDER [AzureKeyVault_EKM_Prov]  
    WITH PROVIDER_KEY_NAME = 'ContosoRSAKey0',  
    CREATION_DISPOSITION = OPEN_EXISTING;  
    

    Passaggio successivoNext Step

Ora che è stata completata la configurazione di base, vedere come Usare Connettore SQL Server con le funzionalità di crittografia SQLNow that you have completed the basic configuration, see how to Use SQL Server Connector with SQL Encryption Features

Vedere ancheSee Also

Extensible Key Management tramite l'insieme di credenziali delle chiavi di Azure Extensible Key Management Using Azure Key Vault
Manutenzione e risoluzione dei problemi di Connettore SQL ServerSQL Server Connector Maintenance & Troubleshooting