Tworzenie i konfigurowanie magazynu kluczy na Azure Disk Encryption wirtualnej z systemem WindowsCreate and configure a key vault for Azure Disk Encryption on a Windows VM

Azure Disk Encryption używa Azure Key Vault do kontrolowania kluczy szyfrowania dysków i wpisów tajnych oraz zarządzania nimi.Azure Disk Encryption uses Azure Key Vault to control and manage disk encryption keys and secrets. Aby uzyskać więcej informacji na temat magazynów kluczy, zobacz Get started with Azure Key Vault and Secure your key vault (Rozpoczynanie pracy z magazynem kluczy i zabezpieczanie magazynu kluczy).For more information about key vaults, see Get started with Azure Key Vault and Secure your key vault.

Ostrzeżenie

Tworzenie i konfigurowanie magazynu kluczy do użycia z Azure Disk Encryption obejmuje trzy kroki:Creating and configuring a key vault for use with Azure Disk Encryption involves three steps:

Uwaga

Należy wybrać opcję w ustawieniach zasad dostępu Azure Key Vault, aby włączyć dostęp do Azure Disk Encryption szyfrowania woluminu.You must select the option in the Azure Key Vault access policy settings to enable access to Azure Disk Encryption for volume encryption. Jeśli zapora w magazynie kluczy jest włączona, musisz przejść do karty Sieć w magazynie kluczy i włączyć dostęp do zaufanych usług firmy Microsoft.If you have enabled the firewall on the key vault, you must go to the Networking tab on the key vault and enable access to Microsoft Trusted Services.

  1. Tworzenie grupy zasobów, jeśli to konieczne.Creating a resource group, if needed.
  2. Tworzenie magazynu kluczy.Creating a key vault.
  3. Ustawianie zaawansowanych zasad dostępu magazynu kluczy.Setting key vault advanced access policies.

Te kroki zostały zilustrowane w następujących przewodnikach Szybki start:These steps are illustrated in the following quickstarts:

Jeśli chcesz, możesz również wygenerować lub zaimportować klucz szyfrowania klucza (KEK).You may also, if you wish, generate or import a key encryption key (KEK).

Uwaga

Kroki opisane w tym artykule są zautomatyzowane w skrypcie interfejsu wiersza polecenia Azure Disk Encryption wymagań wstępnych i Azure Disk Encryption wymagań wstępnych skryptu programu PowerShell.The steps in this article are automated in the Azure Disk Encryption prerequisites CLI script and Azure Disk Encryption prerequisites PowerShell script.

Instalowanie narzędzi i nawiązywanie połączenia z platformą AzureInstall tools and connect to Azure

Kroki opisane w tym artykule można wykonać za pomocą interfejsu wiersza polecenia platformy Azure,modułu Azure PowerShell Azlub Azure Portal .The steps in this article can be completed with the Azure CLI, the Azure PowerShell Az module, or the Azure portal.

Chociaż portal jest dostępny za pośrednictwem przeglądarki, interfejs wiersza polecenia platformy Azure Azure PowerShell wymaga instalacji lokalnej; Zobacz Azure Disk Encryption dla systemu Windows: Instalowanie narzędzi, aby uzyskać szczegółowe informacje.While the portal is accessible through your browser, Azure CLI and Azure PowerShell require local installation; see Azure Disk Encryption for Windows: Install tools for details.

Nawiąż połączenie z kontem platformy AzureConnect to your Azure account

Przed rozpoczęciem korzystania z interfejsu wiersza polecenia Azure PowerShell platformy Azure należy najpierw nawiązać połączenie z subskrypcją platformy Azure.Before using the Azure CLI or Azure PowerShell, you must first connect to your Azure subscription. Możesz to zrobić, logując się za pomocą interfejsu wiersza polecenia platformy Azure,logując się przy użyciu programu Azure PowerShelllub Azure Portal po wyświetleniu monitu.You do so by Signing in with Azure CLI, Signing in with Azure Powershell, or supplying your credentials to the Azure portal when prompted.

az login
Connect-AzAccount

Tworzenie grupy zasobówCreate a resource group

Jeśli masz już grupę zasobów, możesz od razu przejść do tworzenia magazynu kluczy.If you already have a resource group, you can skip to Create a key vault.

Grupa zasobów to logiczny kontener przeznaczony do wdrażania zasobów platformy Azure i zarządzania nimi.A resource group is a logical container into which Azure resources are deployed and managed.

Utwórz grupę zasobów za pomocą polecenia az group create interfejsu wiersza polecenia platformy Azure, polecenia Azure PowerShell New-AzResourceGroup lub polecenia Azure Portal.Create a resource group using the az group create Azure CLI command, the New-AzResourceGroup Azure PowerShell command, or from the Azure portal.

Interfejs wiersza polecenia platformy AzureAzure CLI

az group create --name "myResourceGroup" --location eastus

Azure PowerShellAzure PowerShell

New-AzResourceGroup -Name "myResourceGroup" -Location "EastUS"

Tworzenie magazynu kluczyCreate a key vault

Jeśli masz już magazyn kluczy, możesz od razu przejść do opcji Ustaw zaawansowane zasady dostępu magazynu kluczy.If you already have a key vault, you can skip to Set key vault advanced access policies.

Utwórz magazyn kluczy przy użyciu polecenia az keyvault create interfejsu wiersza polecenia platformy Azure, polecenia New-AzKeyvault Azure PowerShell, Azure Portal lubResource Manager szablonu.Create a key vault using the az keyvault create Azure CLI command, the New-AzKeyvault Azure PowerShell command, the Azure portal, or a Resource Manager template.

Ostrzeżenie

Magazyn kluczy i maszyny wirtualne muszą znajdować się w tej samej subskrypcji.Your key vault and VMs must be in the same subscription. Ponadto w celu zapewnienia, że wpisy tajne szyfrowania nie przekroczy granic regionalnych, Azure Disk Encryption wymaga, aby Key Vault i maszyny wirtualne znajdowały się w tym samym regionie.Also, to ensure that encryption secrets don't cross regional boundaries, Azure Disk Encryption requires the Key Vault and the VMs to be co-located in the same region. Utwórz maszynę Key Vault, która znajduje się w tej samej subskrypcji i tym samym regionie co maszyny wirtualne do zaszyfrowania.Create and use a Key Vault that is in the same subscription and region as the VMs to be encrypted.

Każda Key Vault musi mieć unikatową nazwę.Each Key Vault must have a unique name. Zastąp nazwą magazynu kluczy w poniższych przykładach.Replace with the name of your key vault in the following examples.

Interfejs wiersza polecenia platformy AzureAzure CLI

Podczas tworzenia magazynu kluczy przy użyciu interfejsu wiersza polecenia platformy Azure dodaj flagę "--enabled-for-disk-encryption".When creating a key vault using Azure CLI, add the "--enabled-for-disk-encryption" flag.

az keyvault create --name "<your-unique-keyvault-name>" --resource-group "myResourceGroup" --location "eastus" --enabled-for-disk-encryption

Azure PowerShellAzure PowerShell

Podczas tworzenia magazynu kluczy przy użyciu Azure PowerShell dodaj flagę "-EnabledForDiskEncryption".When creating a key vault using Azure PowerShell, add the "-EnabledForDiskEncryption" flag.

New-AzKeyvault -name "<your-unique-keyvault-name>" -ResourceGroupName "myResourceGroup" -Location "eastus" -EnabledForDiskEncryption

Szablon usługi Resource ManagerResource Manager template

Magazyn kluczy można również utworzyć przy użyciu szablonu Resource Manager .You can also create a key vault by using the Resource Manager template.

  1. W szablonie szybkiego startu platformy Azure kliknij pozycję Deploy to Azure (Wd wdrażaj na platformie Azure).On the Azure quickstart template, click Deploy to Azure.
  2. Wybierz subskrypcję, grupę zasobów, lokalizację grupy zasobów, nazwę Key Vault, identyfikator obiektu, postanowienia prawne i umowę, a następnie kliknij pozycję Kup.Select the subscription, resource group, resource group location, Key Vault name, Object ID, legal terms, and agreement, and then click Purchase.

Ustawianie zaawansowanych zasad dostępu magazynu kluczySet key vault advanced access policies

Platforma Azure musi mieć dostęp do kluczy szyfrowania lub wpisów tajnych w magazynie kluczy, aby udostępnić je maszynie wirtualnej na potrzeby rozruchu i odszyfrowywania woluminów.The Azure platform needs access to the encryption keys or secrets in your key vault to make them available to the VM for booting and decrypting the volumes.

Jeśli magazyn kluczy szyfrowania dysków, wdrażania lub wdrażania szablonu nie został włączyć w czasie tworzenia (jak pokazano w poprzednim kroku), należy zaktualizować jego zaawansowane zasady dostępu.If you did not enable your key vault for disk encryption, deployment, or template deployment at the time of creation (as demonstrated in the previous step), you must update its advanced access policies.

Interfejs wiersza polecenia platformy AzureAzure CLI

Użyj narzędzia az keyvault update, aby włączyć szyfrowanie dysków dla magazynu kluczy.Use az keyvault update to enable disk encryption for the key vault.

  • Włącz Key Vault szyfrowania dysków: Wymagana jest opcja włączonego szyfrowania dysków.Enable Key Vault for disk encryption: Enabled-for-disk-encryption is required.

    az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-disk-encryption "true"
    
  • Włącz Key Vault wdrożenia, jeśli to konieczne: Umożliwia dostawcy zasobów Microsoft.Compute pobieranie wpisów tajnych z tego magazynu kluczy, gdy ten magazyn kluczy jest przywołyny podczas tworzenia zasobów, na przykład podczas tworzenia maszyny wirtualnej.Enable Key Vault for deployment, if needed: Enables the Microsoft.Compute resource provider to retrieve secrets from this key vault when this key vault is referenced in resource creation, for example when creating a virtual machine.

    az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-deployment "true"
    
  • Włącz Key Vault wdrażania szablonu, jeśli to konieczne: Zezwalaj Resource Manager na pobieranie wpisów tajnych z magazynu.Enable Key Vault for template deployment, if needed: Allow Resource Manager to retrieve secrets from the vault.

    az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-template-deployment "true"
    

Azure PowerShellAzure PowerShell

Użyj polecenia cmdlet programu PowerShell magazynu kluczy Set-AzKeyVaultAccessPolicy, aby włączyć szyfrowanie dysków dla magazynu kluczy.Use the key vault PowerShell cmdlet Set-AzKeyVaultAccessPolicy to enable disk encryption for the key vault.

  • Włącz Key Vault szyfrowania dysków: Opcja EnabledForDiskEncryption jest wymagana do szyfrowania dysków platformy Azure.Enable Key Vault for disk encryption: EnabledForDiskEncryption is required for Azure Disk encryption.

    Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForDiskEncryption
    
  • Włącz Key Vault wdrożenia, jeśli to konieczne: Umożliwia dostawcy zasobów Microsoft.Compute pobieranie wpisów tajnych z tego magazynu kluczy, gdy ten magazyn kluczy jest przywołyny podczas tworzenia zasobów, na przykład podczas tworzenia maszyny wirtualnej.Enable Key Vault for deployment, if needed: Enables the Microsoft.Compute resource provider to retrieve secrets from this key vault when this key vault is referenced in resource creation, for example when creating a virtual machine.

     Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForDeployment
    
  • Włącz Key Vault wdrażania szablonu, jeśli to konieczne: Umożliwia Azure Resource Manager wpisów tajnych z tego magazynu kluczy, gdy ten magazyn kluczy jest przywołyny we wdrożeniu szablonu.Enable Key Vault for template deployment, if needed: Enables Azure Resource Manager to get secrets from this key vault when this key vault is referenced in a template deployment.

    Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForTemplateDeployment
    

Azure PortalAzure portal

  1. Wybierz magazyn kluczy, przejdź do opcji Zasady dostępu i kliknij, aby wyświetlić zaawansowane zasady dostępu.Select your key vault, go to Access Policies, and Click to show advanced access policies.

  2. Zaznacz pole z etykietą Włącz dostęp do Azure Disk Encryption szyfrowania woluminów.Select the box labeled Enable access to Azure Disk Encryption for volume encryption.

  3. Wybierz pozycję Włącz dostęp do usługi Azure Virtual Machines na potrzeby wdrażania i/lub Włącz dostęp do Azure Resource Manager na potrzeby wdrożenia szablonu, jeśli to konieczne.Select Enable access to Azure Virtual Machines for deployment and/or Enable Access to Azure Resource Manager for template deployment, if needed.

  4. Kliknij pozycję Zapisz.Click Save.

    Zaawansowane zasady dostępu usługi Azure Key Vault

Konfigurowanie klucza szyfrowania klucza (KEK)Set up a key encryption key (KEK)

Ważne

Konto uruchomione w celu włączenia szyfrowania dysków w magazynie kluczy musi mieć uprawnienia "czytelnika".The account running to enable disk encryption over the key vault must have "reader" permissions.

Jeśli chcesz użyć klucza szyfrowania klucza (KEK) dla dodatkowej warstwy zabezpieczeń kluczy szyfrowania, dodaj klucz szyfrowania kluczy do magazynu kluczy.If you want to use a key encryption key (KEK) for an additional layer of security for encryption keys, add a KEK to your key vault. Po podano klucz szyfrowania klucza, Azure Disk Encryption klucz ten jest używany do opakowywania wpisów tajnych szyfrowania przed Key Vault.When a key encryption key is specified, Azure Disk Encryption uses that key to wrap the encryption secrets before writing to Key Vault.

Nowy klucz szyfrowania kluczy można wygenerować za pomocą polecenia az keyvault key create interfejsu wiersza polecenia platformy Azure, polecenia cmdlet Azure PowerShell Add-AzKeyVaultKey lub Azure Portal.You can generate a new KEK using the Azure CLI az keyvault key create command, the Azure PowerShell Add-AzKeyVaultKey cmdlet, or the Azure portal. Należy wygenerować typ klucza RSA. Azure Disk Encryption nie obsługuje jeszcze używania kluczy krzywej wielokropka.You must generate an RSA key type; Azure Disk Encryption does not yet support using Elliptic Curve keys.

Zamiast tego można zaimportować klucz szyfrowania kluczy z lokalnego modułu HSM do zarządzania kluczami.You can instead import a KEK from your on-premises key management HSM. Aby uzyskać więcej informacji, zobacz dokumentację Key Vault .For more information, see Key Vault Documentation.

Adresy URL kluczy KEK magazynu kluczy muszą być wersjonarowane.Your key vault KEK URLs must be versioned. Platforma Azure wymusza to ograniczenie dotyczące wersji.Azure enforces this restriction of versioning. Aby uzyskać prawidłowy klucz tajny i adresy URL KEK, zobacz następujące przykłady:For valid secret and KEK URLs, see the following examples:

Azure Disk Encryption nie obsługuje określania numerów portów jako części wpisów tajnych magazynu kluczy i adresów URL klucza szyfrowania kluczy.Azure Disk Encryption doesn't support specifying port numbers as part of key vault secrets and KEK URLs. Aby uzyskać przykłady niespartych i obsługiwanych adresów URL magazynu kluczy, zobacz następujące przykłady:For examples of non-supported and supported key vault URLs, see the following examples:

Interfejs wiersza polecenia platformy AzureAzure CLI

Użyj polecenia az keyvault key create interfejsu wiersza polecenia platformy Azure, aby wygenerować nowy klucz szyfrowania kluczy i zapisać go w magazynie kluczy.Use the Azure CLI az keyvault key create command to generate a new KEK and store it in your key vault.

az keyvault key create --name "myKEK" --vault-name "<your-unique-keyvault-name>" --kty RSA

Zamiast tego możesz zaimportować klucz prywatny za pomocą polecenia az keyvault key import interfejsu wiersza polecenia platformy Azure:You may instead import a private key using the Azure CLI az keyvault key import command:

W obu przypadkach należy podać nazwę klucza szyfrowania klucza do polecenia az vm encryption enable interfejsu wiersza polecenia platformy Azure — parametr --key-encryption-key.In either case, you will supply the name of your KEK to the Azure CLI az vm encryption enable --key-encryption-key parameter.

az vm encryption enable -g "MyResourceGroup" --name "myVM" --disk-encryption-keyvault "<your-unique-keyvault-name>" --key-encryption-key "myKEK"

Azure PowerShellAzure PowerShell

Użyj Azure PowerShell cmdlet Add-AzKeyVaultKey, aby wygenerować nowy klucz KEK i zapisać go w magazynie kluczy.Use the Azure PowerShell Add-AzKeyVaultKey cmdlet to generate a new KEK and store it in your key vault.

Add-AzKeyVaultKey -Name "myKEK" -VaultName "<your-unique-keyvault-name>" -Destination "HSM"

Zamiast tego możesz zaimportować klucz prywatny za pomocą polecenia Azure PowerShell az keyvault key import.You may instead import a private key using the Azure PowerShell az keyvault key import command.

W obu przypadkach należy podać identyfikator magazynu kluczy KEK i adres URL klucza szyfrowania kluczy do parametrów Azure PowerShell Set-AzVMDiskEncryptionExtension -KeyEncryptionKeyVaultId i -KeyEncryptionKeyUrl.In either case, you will supply the ID of your KEK key Vault and the URL of your KEK to the Azure PowerShell Set-AzVMDiskEncryptionExtension -KeyEncryptionKeyVaultId and -KeyEncryptionKeyUrl parameters. Należy pamiętać, że w tym przykładzie przyjęto założenie, że używasz tego samego magazynu kluczy zarówno dla klucza szyfrowania dysku, jak i klucza szyfrowania kluczy.Note that this example assumes that you are using the same key vault for both the disk encryption key and the KEK.

$KeyVault = Get-AzKeyVault -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "myResourceGroup"
$KEK = Get-AzKeyVaultKey -VaultName "<your-unique-keyvault-name>" -Name "myKEK"

Set-AzVMDiskEncryptionExtension -ResourceGroupName MyResourceGroup -VMName "MyVM" -DiskEncryptionKeyVaultUrl $KeyVault.VaultUri -DiskEncryptionKeyVaultId $KeyVault.ResourceId -KeyEncryptionKeyVaultId $KeyVault.ResourceId -KeyEncryptionKeyUrl $KEK.Id -SkipVmBackup -VolumeType All

Następne krokiNext steps