Usługa Azure Disk Encryption wymagania wstępne dotyczące (poprzedniej wersji)Azure Disk Encryption prerequisites (previous release)

Nowa wersja usługi Azure Disk Encryption eliminuje wymaganie zapewniające parametrem aplikacji usługi Azure AD, aby włączyć szyfrowanie dysku maszyny Wirtualnej. Za pomocą nowej wersji już nie są wymagane poświadczenia usługi Azure AD podczas wykonywania kroku Włączanie szyfrowania. Wszystkie nowe maszyny wirtualne muszą być szyfrowane bez parametrów aplikacji usługi Azure AD przy użyciu nowej wersji. Aby wyświetlić instrukcje, aby włączyć szyfrowanie dysku maszyny Wirtualnej przy użyciu nowej wersji, zobacz wymagania wstępne dotyczące usługi Azure Disk Encryption. Maszyny wirtualne, które już zostały zaszyfrowane za pomocą aplikacji usługi Azure AD, parametry są nadal obsługiwane i powinno być kontynuowane przy użyciu składni usługi AAD.The new release of Azure Disk Encryption eliminates the requirement for providing an Azure AD application parameter to enable VM disk encryption. With the new release, you are no longer required to provide Azure AD credentials during the enable encryption step. All new VMs must be encrypted without the Azure AD application parameters using the new release. To view instructions to enable VM disk encryption using the new release, see Azure Disk Encryption prerequisites. VMs that were already encrypted with Azure AD application parameters are still supported and should continue to be maintained with the AAD syntax.

W tym artykule, wymagań wstępnych szyfrowania dysków Azure, opisano elementy, które muszą być spełnione, zanim użyjesz usługi Azure Disk Encryption.This article, Azure Disk Encryption Prerequisites, explains items that need to be in place before you can use Azure Disk Encryption. Wraz z ogólne wymagania wstępne, usługa Azure Disk Encryption jest zintegrowana z usługą usługi Azure Key Vault i aplikację usługi Azure AD używa do zapewnienia uwierzytelniania, aby można było zarządzać kluczami szyfrowania w magazynie kluczy.Along with general prerequisites, Azure Disk Encryption is integrated with Azure Key Vault and it uses an Azure AD application to provide authentication in order to manage encryption keys in the key vault. Możesz również użyć programu Azure PowerShell lub wiersza polecenia platformy Azure na konfigurowanie usługi Key Vault i aplikacji usługi Azure AD.You may also wish to use Azure PowerShell or the Azure CLI to set up or configure Key Vault and the Azure AD application.

Przed włączeniem usługi Azure Disk Encryption na maszynach wirtualnych IaaS platformy Azure w przypadku obsługiwanych scenariuszy, które zostały omówione w Omówienie szyfrowania dysków Azure artykuł, pamiętaj zostały spełnione wymagania wstępne w miejscu.Before you enable Azure Disk Encryption on Azure IaaS VMs for the supported scenarios that were discussed in the Azure Disk Encryption Overview article, be sure to have the prerequisites in place.

Ostrzeżenie

  • Zastosowanie niektórych zaleceń zamieszczonych może zwiększyć danych, sieci lub użycia zasobów obliczeniowych, wynikiem dodatkowych kosztów licencji lub subskrypcji.Certain recommendations might increase data, network, or compute resource usage, resulting in additional license or subscription costs. Musi mieć prawidłową aktywną subskrypcją platformy Azure do tworzenia zasobów na platformie Azure w obsługiwanych regionach.You must have a valid active Azure subscription to create resources in Azure in the supported regions.
  • Jeśli wcześniej używano usługi Azure Disk Encryption przy użyciu aplikacji Azure AD do zaszyfrowania tej maszyny Wirtualnej, konieczne będzie kontynuować ta opcja służy do szyfrowania maszyny Wirtualnej.If you have previously used Azure Disk Encryption with Azure AD app to encrypt this VM, you will have to continue use this option to encrypt your VM. Nie można użyć usługi Azure Disk Encryption na tej zaszyfrowanej maszyny Wirtualnej, ponieważ nie jest to obsługiwany scenariusz znaczenie przełączania się aplikacja usługi AAD dla to zaszyfrowanych maszyn wirtualnych nie jest jeszcze obsługiwane.You can’t use Azure Disk Encryption on this encrypted VM as this isn’t a supported scenario, meaning switching away from AAD application for this encrypted VM isn’t supported yet.

Uwaga

Ten artykuł został zaktualizowany o korzystanie z nowego modułu Azure PowerShell Az.This article has been updated to use the new Azure PowerShell Az module. Można nadal używać moduł AzureRM, który będzie w dalszym ciągu otrzymywać poprawek przynajmniej aż do grudnia 2020 r.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Aby dowiedzieć się więcej na temat nowego modułu Az i zgodności z modułem AzureRM, zobacz Wprowadzenie do nowego modułu Az programu Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Aby uzyskać instrukcje instalacji modułu Az, zobacz Instalowanie programu Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

Obsługiwane systemy operacyjneSupported operating systems

Usługa Azure Disk Encryption jest obsługiwana w następujących systemach operacyjnych:Azure Disk Encryption is supported on the following operating systems:

  • Wersje systemu Windows Server: Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2 i Windows Server 2016.Windows Server versions: Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, and Windows Server 2016.
    • Dla systemu Windows Server 2008 R2 musisz mieć zainstalowany przed włączeniem szyfrowania na platformie Azure program .NET Framework 4.5.For Windows Server 2008 R2, you must have .NET Framework 4.5 installed before you enable encryption in Azure. Zainstaluj go Windows Update z opcjonalną aktualizację programu Microsoft .NET Framework 4.5.2 systemów Windows Server 2008 R2 x64 64 (KB2901983).Install it from Windows Update with the optional update Microsoft .NET Framework 4.5.2 for Windows Server 2008 R2 x64-based systems (KB2901983).
  • Wersje klienta Windows: Klient systemu Windows 8 i klienta systemu Windows 10.Windows client versions: Windows 8 client and Windows 10 client.
  • Usługa Azure Disk Encryption jest tylko obsługiwana w określonych w galerii platformy Azure są dystrybucje systemu Linux serwera i wersje.Azure Disk Encryption is only supported on specific Azure Gallery based Linux server distributions and versions. Aby uzyskać listę aktualnie obsługiwanych wersji, zobacz często zadawane pytania dotyczące usługi Azure dysku szyfrowanie.For the list of currently supported versions, refer to the Azure Disk Encryption FAQ.
  • Usługa Azure Disk Encryption wymaga, że maszyny wirtualne i usługi key vault, na których znajdują się w tym samym regionie platformy Azure i subskrypcji.Azure Disk Encryption requires that your key vault and VMs reside in the same Azure region and subscription. Konfigurowanie zasobów w oddzielnych regionach powoduje awarię w włączenie funkcji usługi Azure Disk Encryption.Configuring the resources in separate regions causes a failure in enabling the Azure Disk Encryption feature.

Dodatkowe wymagania wstępne dotyczące maszyn wirtualnych IaaS z systemem LinuxAdditional prerequisites for Linux IaaS VMs

  • Usługa Azure Disk Encryption dla systemu Linux wymaga 7 GB pamięci RAM na maszynę Wirtualną, aby włączyć szyfrowanie dysku systemu operacyjnego na obsługiwane obrazy.Azure Disk Encryption for Linux requires 7 GB of RAM on the VM to enable OS disk encryption on supported images. Po zakończeniu procesu szyfrowania dysku systemu operacyjnego maszyny Wirtualnej można skonfigurować do uruchamiania przy użyciu mniejszej ilości pamięci.Once the OS disk encryption process is complete, the VM can be configured to run with less memory.
  • Przed włączeniem szyfrowania, dysków danych do zaszyfrowania muszą właściwie się na liście/etc/fstab.Before enabling encryption, the data disks to be encrypted need to be properly listed in /etc/fstab. Użyj nazwy urządzenia trwałego blok dla tego wpisu jako nazwy w formacie "/ dev/sdX" nie można polegać ma zostać skojarzony z tym samym dysku między ponownymi uruchomieniami, szczególnie w przypadku, po zastosowaniu szyfrowania urządzenia.Use a persistent block device name for this entry, as device names in the "/dev/sdX" format can't be relied upon to be associated with the same disk across reboots, particularly after encryption is applied. Aby uzyskać więcej szczegółowych informacji dotyczących tego zachowania zobacz: Rozwiązywanie problemów z zmiany nazwy urządzenia maszyny Wirtualnej systemu LinuxFor more detail on this behavior, see: Troubleshoot Linux VM device name changes
  • Upewnij się, że poprawnie skonfigurowano ustawienia/etc/fstab potrzeby instalowania.Make sure the /etc/fstab settings are configured properly for mounting. Aby skonfigurować te ustawienia, polecenie instalacji lub ponowne uruchomienie maszyny Wirtualnej i wyzwolić ponowne zainstalowanie w ten sposób.To configure these settings, run the mount -a command or reboot the VM and trigger the remount that way. Sprawdź dane wyjściowe polecenia lsblk, aby sprawdzić, czy żądany dysk jest wciąż zainstalowany, po zakończeniu tej operacji.Once that is complete, check the output of the lsblk command to verify that the desired drive is still mounted.
    • Jeśli plik/etc/fstab nie zainstalować dysk prawidłowo przed włączeniem szyfrowania, usługa Azure Disk Encryption nie będzie mogła poprawnie go zainstalować.If the /etc/fstab file doesn't mount the drive properly prior to enabling encryption, Azure Disk Encryption won't be able to mount it properly.
    • Proces szyfrowania dysków Azure zostanie przesunięty informacji dotyczących instalacji poza/etc/fstab i w jej własnym pliku konfiguracji w ramach procesu szyfrowania.The Azure Disk Encryption process will move the mount information out of /etc/fstab and into its own configuration file as part of the encryption process. Zostać zignorowany, aby zobaczyć, że kończy zapis brakuje/etc/fstab po szyfrowaniem dysków danych.Don't be alarmed to see the entry missing from /etc/fstab after data drive encryption completes.
    • Po ponownym uruchomieniu potrwa czas procesu szyfrowania dysków Azure na instalowanie nowo zaszyfrowanych dysków.After reboot, it will take time for the Azure Disk Encryption process to mount the newly encrypted disks. Natychmiast będą dostępne po ponownym uruchomieniu.They won't immediately be available after a reboot. Proces wymaga czasu do uruchomienia, odblokowywania i następnie zainstalować zaszyfrowanych dysków przed ich jest dostępna na potrzeby dostępu do innych procesów.The process needs time to start, unlock, and then mount the encrypted drives prior to their being available for other processes to access. Ten proces może potrwać ponad minutę po ponownym uruchomieniu, w zależności od charakterystyki systemu.This process may take more than a minute after reboot depending on the system characteristics.

Przykład polecenia, które mogą służyć do zamontowania dysków z danymi oraz tworzenie niezbędne/etc/fstab wpisów można znaleźć w linii 197-205 tego pliku skryptu.An example of commands that can be used to mount the data disks and create the necessary /etc/fstab entries can be found in lines 197-205 of this script file.

Sieci i zasad grupyNetworking and Group Policy

Aby włączyć funkcję usługi Azure Disk Encryption przy użyciu starszej usługi AAD składnia parametru, maszyny wirtualne IaaS musi spełniać następujące wymagania dotyczące konfiguracji punktu końcowego sieci:To enable the Azure Disk Encryption feature using the older AAD parameter syntax, the IaaS VMs must meet the following network endpoint configuration requirements:

  • Aby uzyskać tokenu, połączyć się z magazynem kluczy, maszyn wirtualnych IaaS musi być w stanie połączyć się z punktem końcowym usługi Azure Active Directory, [login.microsoftonline.com].To get a token to connect to your key vault, the IaaS VM must be able to connect to an Azure Active Directory endpoint, [login.microsoftonline.com].

  • Można zapisać klucze szyfrowania do magazynu kluczy, maszyn wirtualnych IaaS musi być możliwe nawiązanie połączenia z punktu końcowego magazynu kluczy.To write the encryption keys to your key vault, the IaaS VM must be able to connect to the key vault endpoint.

  • Maszyn wirtualnych IaaS musi być możliwe nawiązanie połączenia z punktu końcowego usługi Azure storage, który hostuje repozytorium rozszerzenie platformy Azure i konto magazynu platformy Azure, w którym przechowywane są pliki wirtualnego dysku twardego.The IaaS VM must be able to connect to an Azure storage endpoint that hosts the Azure extension repository and an Azure storage account that hosts the VHD files.

  • Zasady zabezpieczeń ogranicza dostęp do Internetu z maszyn wirtualnych platformy Azure, przypadku rozwiązać poprzedni identyfikator URI i skonfigurowania określonych Reguła zezwalająca na łączności wychodzącej do adresów IP.If your security policy limits access from Azure VMs to the Internet, you can resolve the preceding URI and configure a specific rule to allow outbound connectivity to the IPs. Aby uzyskać więcej informacji, zobacz usługi Azure Key Vault za zaporą.For more information, see Azure Key Vault behind a firewall.

  • W Windows Jeśli jawnie wyłączyć protokół TLS 1.0, a nie zaktualizowano programu .NET w wersji 4.6 lub nowszy następującą zmianę w rejestrze powoduje włączenie ADE wybrać nowszą wersję protokołu TLS:On Windows, if TLS 1.0 has been explicitly disabled and the .NET version has not been updated to 4.6 or higher, the following registry change will enable ADE to select the more recent TLS version:

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
    "SystemDefaultTlsVersions"=dword:00000001
    "SchUseStrongCrypto"=dword:00000001
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319]
    "SystemDefaultTlsVersions"=dword:00000001
    "SchUseStrongCrypto"=dword:00000001` 
    

Zasady grupy:Group Policy:

  • Rozwiązanie Azure Disk Encryption dla maszyn wirtualnych IaaS Windows korzysta z zewnętrznego ochrony klucza funkcji BitLocker.The Azure Disk Encryption solution uses the BitLocker external key protector for Windows IaaS VMs. Dla maszyn wirtualnych przyłączonych do domeny, nie Wypchnij żadnych zasad grupy, które wymuszają modułu TPM funkcje ochrony kluczy.For domain joined VMs, don't push any group policies that enforce TPM protectors. Aby uzyskać informacje o zasadach grupy "Zezwalaj na funkcję BitLocker bez zgodnego modułu TPM", zobacz dokumentacja zasad grupy funkcji BitLocker.For information about the group policy for “Allow BitLocker without a compatible TPM,” see BitLocker Group Policy Reference.

  • Zasad funkcji BitLocker na maszynach wirtualnych przyłączonych do domeny za pomocą zasad grupy niestandardowe, należy uwzględnić następujące ustawienia: Konfigurowanie magazynu użytkownika informacji o odzyskiwaniu -> Zezwalaj na 256-bitowego klucza odzyskiwania funkcji bitlocker.BitLocker policy on domain joined virtual machines with custom group policy must include the following setting: Configure user storage of bitlocker recovery information -> Allow 256-bit recovery key. Usługa Azure Disk Encryption zakończy się niepowodzeniem, jeśli ustawienia zasad grupy niestandardowe do używania funkcji BitLocker są niezgodne.Azure Disk Encryption will fail when custom group policy settings for BitLocker are incompatible. Na komputerach, które nie mają poprawne ustawienie, należy zastosować nowe zasady, wymusić nowe zasady w celu aktualizacji (/ Force gpupdate.exe) i ponowne uruchomienie, może być wymagane.On machines that didn't have the correct policy setting, apply the new policy, force the new policy to update (gpupdate.exe /force), and then restarting may be required.

Program Azure PowerShellAzure PowerShell

Program Azure PowerShell udostępnia zestaw poleceń cmdlet, który używa usługi Azure Resource Manager modelu do zarządzania zasobami platformy Azure.Azure PowerShell provides a set of cmdlets that uses the Azure Resource Manager model for managing your Azure resources. Używasz go w przeglądarce za pośrednictwem usługi Azure Cloud Shell, lub można go zainstalować na komputerze lokalnym wykonując poniższe instrukcje z niej korzystać w dowolnej sesji programu PowerShell.You can use it in your browser with Azure Cloud Shell, or you can install it on your local machine using the instructions below to use it in any PowerShell session. Jeśli masz już zainstalowany lokalnie, upewnij się, że używasz najnowszej wersji programu Azure PowerShell do konfigurowania usługi Azure Disk Encryption.If you already have it installed locally, make sure you use the latest version of Azure PowerShell to configure Azure Disk Encryption.

Instalowanie programu Azure PowerShell do użytku na komputerze lokalnym (opcjonalnie):Install Azure PowerShell for use on your local machine (optional):

  1. Instalowanie i konfigurowanie programu Azure PowerShell.Install and configure Azure PowerShell.

  2. Zainstaluj modułu programu PowerShell usługi Azure Active Directory.Install the Azure Active Directory PowerShell module.

    Install-Module AzureAD
    
  3. Sprawdź zainstalowane wersje modułów.Verify the installed versions of the modules.

    Get-Module Az -ListAvailable | Select-Object -Property Name,Version,Path
    Get-Module AzureAD -ListAvailable | Select-Object -Property Name,Version,Path
    
  4. Zaloguj się do platformy Azure za pomocą Connect AzAccount polecenia cmdlet.Sign in to Azure using the Connect-AzAccount cmdlet.

    Connect-AzAccount
    # For specific instances of Azure, use the -Environment parameter.
    Connect-AzAccount –Environment (Get-AzEnvironment –Name AzureUSGovernment)
    
    <# If you have multiple subscriptions and want to specify a specific one, 
    get your subscription list with Get-AzSubscription and 
    specify it with Set-AzContext.  #>
    Get-AzSubscription
    Set-AzContext -SubscriptionId "xxxx-xxxx-xxxx-xxxx"
    
  5. Łączenie z usługą Azure AD Connect-AzureAD.Connect to Azure AD Connect-AzureAD.

    Connect-AzureAD
    
  6. Przegląd wprowadzenie do programu Azure PowerShell i AzureAD, jeśli to konieczne.Review Getting started with Azure PowerShell and AzureAD, if needed.

Wiersza polecenia platformy AzureAzure CLI

Interfejsu wiersza polecenia platformy Azure w wersji 2.0 jest narzędziem wiersza polecenia do zarządzania zasobami platformy Azure.The Azure CLI 2.0 is a command-line tool for managing Azure resources. Interfejs wiersza polecenia służy do elastyczne wykonywanie zapytań o dane, obsługi długotrwałych operacji jak nieblokujące procesy i ułatwienia tworzenia skryptów.The CLI is designed to flexibly query data, support long-running operations as non-blocking processes, and make scripting easy. Można go również używać w przeglądarce z usługą Azure Cloud Shell albo można go zainstalować na maszynie lokalnej i używać w dowolnej sesji programu PowerShell.You can use it in your browser with Azure Cloud Shell, or you can install it on your local machine and use it in any PowerShell session.

  1. Zainstaluj interfejs wiersza polecenia platformy Azure do użytku na komputerze lokalnym (opcjonalnie):Install Azure CLI for use on your local machine (optional):

  2. Sprawdź zainstalowaną wersję.Verify the installed version.

    az --version
    
  3. Zaloguj się do platformy Azure za pomocą az login.Sign in to Azure using az login.

    az login
    
    # If you would like to select a tenant, use: 
    az login --tenant "<tenant>"
    
    # If you have multiple subscriptions, get your subscription list with az account list and specify with az account set.
    az account list
    az account set --subscription "<subscription name or ID>"
    
  4. Przegląd Rozpoczynanie pracy z usługą Azure CLI 2.0 w razie potrzeby.Review Get started with Azure CLI 2.0 if needed.

Wymagań wstępnych przepływ pracy dla usługi Key Vault i aplikację usługi Azure ADPrerequisite workflow for Key Vault and the Azure AD app

Jeśli już znasz z usługi Key Vault i Azure AD wymagania wstępne dotyczące usługi Azure Disk Encryption, możesz użyć skrypt programu PowerShell wymagania wstępne dotyczące usługi Azure Disk Encryption.If you're already familiar with the Key Vault and Azure AD prerequisites for Azure Disk Encryption, you can use the Azure Disk Encryption prerequisites PowerShell script. Aby uzyskać więcej informacji na temat używania skryptu wymagań wstępnych, zobacz szyfrowania VM Quickstart i dodatku szyfrowania dysków Azure.For more information on using the prerequisites script, see the Encrypt a VM Quickstart and the Azure Disk Encryption Appendix.

  1. Tworzenie magazynu kluczy.Create a key vault.
  2. Konfigurowanie aplikacji usługi Azure AD i jednostkę usługi.Set up an Azure AD application and service principal.
  3. Ustawianie zasad dostępu magazynu kluczy dla aplikacji usługi Azure AD.Set the key vault access policy for the Azure AD app.
  4. Zaawansowane zasady dostępu magazynu kluczy zestawu.Set key vault advanced access policies.

Tworzenie magazynu kluczyCreate a key vault

Usługa Azure Disk Encryption jest zintegrowana z usługą usługi Azure Key Vault ułatwiają kontrolowanie i zarządzanie kluczami szyfrowania dysku i wpisami tajnymi w ramach subskrypcji usługi key vault.Azure Disk Encryption is integrated with Azure Key Vault to help you control and manage the disk-encryption keys and secrets in your key vault subscription. Można utworzyć magazyn kluczy lub użyć istniejącego dla usługi Azure Disk Encryption.You can create a key vault or use an existing one for Azure Disk Encryption. Aby uzyskać więcej informacji dotyczących magazynów kluczy, zobacz Rozpoczynanie pracy z usługą Azure Key Vault i zabezpieczanie własnego magazynu kluczy.For more information about key vaults, see Get started with Azure Key Vault and Secure your key vault. Szablon usługi Resource Manager, programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure umożliwia tworzenie magazynu kluczy.You can use a Resource Manager template, Azure PowerShell, or the Azure CLI to create a key vault.

Ostrzeżenie

Upewnij się, że klucze tajne szyfrowania nie przekracza granic regionalnych, usługa Azure Disk Encryption musi znajdować się w tym samym regionie usługi Key Vault i maszyn wirtualnych.In order to make sure the encryption secrets don’t cross regional boundaries, Azure Disk Encryption needs the Key Vault and the VMs to be co-located in the same region. Tworzenie i używanie usługi Key Vault, który znajduje się w tym samym regionie co maszyna wirtualna do zaszyfrowania.Create and use a Key Vault that is in the same region as the VM to be encrypted.

Tworzenie magazynu kluczy przy użyciu programu PowerShellCreate a key vault with PowerShell

Można utworzyć magazynu kluczy przy użyciu programu Azure PowerShell New AzKeyVault polecenia cmdlet.You can create a key vault with Azure PowerShell using the New-AzKeyVault cmdlet. Aby uzyskać dodatkowe polecenia cmdlet usługi Key Vault, zobacz Az.KeyVault.For additional cmdlets for Key Vault, see Az.KeyVault.

  1. Jeśli to konieczne, nawiązać połączenie z subskrypcją platformy Azure.If needed, connect to your Azure subscription.

  2. Utwórz nową grupę zasobów, jeśli to konieczne, za pomocą New AzResourceGroup.Create a new resource group, if needed, with New-AzResourceGroup. Aby wyświetlić lokalizacje centrów danych, użyj Get AzLocation.To list data center locations, use Get-AzLocation.

    # Get-AzLocation 
    New-AzResourceGroup –Name 'MyKeyVaultResourceGroup' –Location 'East US'
    
  3. Tworzenie nowego magazynu kluczy przy użyciu New AzKeyVaultCreate a new key vault using New-AzKeyVault

    New-AzKeyVault -VaultName 'MySecureVault' -ResourceGroupName 'MyKeyVaultResourceGroup' -Location 'East US'
    
  4. Uwaga nazwa magazynu, Nazwa grupy zasobów, identyfikator zasobu, identyfikator URI magazynui obiekt o identyfikatorze które są zwracane do późniejszego użycia podczas szyfrowania dysków.Note the Vault Name, Resource Group Name, Resource ID, Vault URI, and the Object ID that are returned for later use when you encrypt the disks.

Tworzenie magazynu kluczy przy użyciu wiersza polecenia platformy AzureCreate a key vault with Azure CLI

Można zarządzać magazynem kluczy przy użyciu wiersza polecenia platformy Azure az keyvault poleceń.You can manage your key vault with Azure CLI using the az keyvault commands. Aby utworzyć magazyn kluczy, użyj tworzenie az keyvault.To create a key vault, use az keyvault create.

  1. Jeśli to konieczne, nawiązać połączenie z subskrypcją platformy Azure.If needed, connect to your Azure subscription.

  2. Utwórz nową grupę zasobów, jeśli to konieczne, za pomocą Tworzenie grupy az.Create a new resource group, if needed, with az group create. Aby wyświetlić lokalizacje, użyj konta az list-locationsTo list locations, use az account list-locations

    # To list locations: az account list-locations --output table
    az group create -n "MyKeyVaultResourceGroup" -l "East US"
    
  3. Tworzenie nowego magazynu kluczy przy użyciu tworzenie az keyvault.Create a new key vault using az keyvault create.

    az keyvault create --name "MySecureVault" --resource-group "MyKeyVaultResourceGroup" --location "East US"
    
  4. Uwaga nazwa magazynu (nazwa), nazwy grupy zasobów, identyfikator zasobu (ID), identyfikator URI magazynui obiektu o identyfikatorze później, które są zwracane do użycia.Note the Vault Name (name), Resource Group Name, Resource ID (ID), Vault URI, and the Object ID that are returned for use later.

Tworzenie magazynu kluczy przy użyciu szablonu usługi Resource ManagerCreate a key vault with a Resource Manager template

Można utworzyć magazynu kluczy przy użyciu szablonu usługi Resource Manager.You can create a key vault by using the Resource Manager template.

  1. Szablon szybkiego startu platformy Azure, wybierz polecenie Wdróż na platformie Azure.On the Azure quickstart template, click Deploy to Azure.
  2. Wybierz subskrypcję, grupy zasobów, lokalizację grupy zasobów, usługi Key Vault nazwa, identyfikator obiektu, postanowienia prawne i umowy, a następnie kliknij przycisk zakupu.Select the subscription, resource group, resource group location, Key Vault name, Object ID, legal terms, and agreement, and then click Purchase.

Konfigurowanie aplikacji usługi Azure AD i usługę podmiotu zabezpieczeńSet up an Azure AD app and service principal

Jeśli potrzebujesz szyfrowania była włączona na uruchomionej maszyny Wirtualnej na platformie Azure, usługi Azure Disk Encryption generuje i zapisuje klucze szyfrowania w magazynie kluczy.When you need encryption to be enabled on a running VM in Azure, Azure Disk Encryption generates and writes the encryption keys to your key vault. Zarządzanie kluczami szyfrowania w magazynie kluczy wymaga uwierzytelniania usługi Azure AD.Managing encryption keys in your key vault requires Azure AD authentication. Utwórz aplikację usługi Azure AD, w tym celu.Create an Azure AD application for this purpose. Na potrzeby uwierzytelniania, można użyć albo uwierzytelnianie oparte na klucz tajny klienta lub uwierzytelnianie klienta oparte na certyfikatach usługi Azure AD.For authentication purposes, you can use either client secret-based authentication or client certificate-based Azure AD authentication.

Konfigurowanie aplikacji usługi Azure AD i usługi głównej przy użyciu programu Azure PowerShellSet up an Azure AD app and service principal with Azure PowerShell

Aby wykonać następujące polecenia i korzystaj modułu Azure AD PowerShell.To execute the following commands, get and use the Azure AD PowerShell module.

  1. Jeśli to konieczne, nawiązać połączenie z subskrypcją platformy Azure.If needed, connect to your Azure subscription.

  2. Użyj New AzADApplication polecenia cmdlet programu PowerShell, aby utworzyć aplikację usługi Azure AD.Use the New-AzADApplication PowerShell cmdlet to create an Azure AD application. MyApplicationHomePage i MyApplicationUri może być żadnych wartości, którą chcesz.MyApplicationHomePage and the MyApplicationUri can be any values you wish.

    $aadClientSecret = "My AAD client secret"
    $aadClientSecretSec = ConvertTo-SecureString -String $aadClientSecret -AsPlainText -Force
    $azureAdApplication = New-AzADApplication -DisplayName "My Application Display Name" -HomePage "https://MyApplicationHomePage" -IdentifierUris "https://MyApplicationUri" -Password $aadClientSecretSec
    $servicePrincipal = New-AzADServicePrincipal –ApplicationId $azureAdApplication.ApplicationId
    
  3. $AzureAdApplication.ApplicationId jest ClientID usługi AD platformy Azure i $aadClientSecret jest klucz tajny klienta, który będzie później używane do włączenia usługi Azure Disk Encryption.The $azureAdApplication.ApplicationId is the Azure AD ClientID and the $aadClientSecret is the client secret that you will use later to enable Azure Disk Encryption. Chroń klucz tajny klienta usługi Azure AD, odpowiednio.Safeguard the Azure AD client secret appropriately. Uruchamianie $azureAdApplication.ApplicationId pokaże identyfikator aplikacji.Running $azureAdApplication.ApplicationId will show you the ApplicationID.

Konfigurowanie aplikacji usługi Azure AD i usługi głównej przy użyciu wiersza polecenia platformy AzureSet up an Azure AD app and service principal with Azure CLI

Można zarządzać z jednostki usługi przy użyciu wiersza polecenia platformy Azure az ad sp poleceń.You can manage your service principals with Azure CLI using the az ad sp commands. Aby uzyskać więcej informacji, zobacz Tworzenie jednostki usługi platformy Azure.For more information, see Create an Azure service principal.

  1. Jeśli to konieczne, nawiązać połączenie z subskrypcją platformy Azure.If needed, connect to your Azure subscription.

  2. Utwórz nową jednostkę usługi.Create a new service principal.

    az ad sp create-for-rbac --name "ServicePrincipalName" --password "My-AAD-client-secret" --skip-assignment 
    
  3. Identyfikator aplikacji zwracany jest identyfikatora klienta usługi Azure AD używane w innych poleceniach.The appId returned is the Azure AD ClientID used in other commands. Jest to również nazwę SPN, użyjesz az keyvault set-policy.It's also the SPN you'll use for az keyvault set-policy. Hasło jest klucz tajny klienta, którego należy później włączyć usługi Azure Disk Encryption.The password is the client secret that you should use later to enable Azure Disk Encryption. Chroń klucz tajny klienta usługi Azure AD, odpowiednio.Safeguard the Azure AD client secret appropriately.

Konfigurowanie aplikacji usługi Azure AD i usługi głównej do witryny Azure portalSet up an Azure AD app and service principal though the Azure portal

Skorzystaj z procedury w obsłudze portalu do tworzenia aplikacji i usługi jednostki, które mogą uzyskiwać dostęp do zasobów usługi Azure Active Directory artykuł, aby utworzyć aplikację usługi Azure AD.Use the steps from the Use portal to create an Azure Active Directory application and service principal that can access resources article to create an Azure AD application. Poszczególne kroki wymienione poniżej spowoduje przejście bezpośrednio do sekcji artykułu, aby zakończyć.Each step listed below will take you directly to the article section to complete.

  1. Sprawdź wymagane uprawnieniaVerify required permissions
  2. Tworzenie aplikacji usługi Azure Active DirectoryCreate an Azure Active Directory application
    • Można użyć dowolnej nazwy i chcesz przy tworzeniu aplikacji adres URL logowania.You can use any name and sign-on URL you would like when creating the application.
  3. Pobierz identyfikator aplikacji i klucza uwierzytelniania.Get the application ID and the authentication key.
    • Klucz uwierzytelniania jest klucz tajny klienta i służy jako AadClientSecret AzVMDiskEncryptionExtension zestawu.The authentication key is the client secret and is used as the AadClientSecret for Set-AzVMDiskEncryptionExtension.
      • Klucz uwierzytelniania jest używany przez aplikację jako poświadczeń do logowania do usługi Azure AD.The authentication key is used by the application as a credential to sign in to Azure AD. W witrynie Azure portal ten klucz tajny jest nazywany kluczy, ale nie zawiera żadnych relacji do magazynów kluczy.In the Azure portal, this secret is called keys, but has no relation to key vaults. Zabezpiecz ten wpis tajny odpowiednio.Secure this secret appropriately.
    • Identyfikator aplikacji posłuży później jako AadClientId dla zestawu AzVMDiskEncryptionExtension i ServicePrincipalName dla AzKeyVaultAccessPolicy zestawu.The application ID will be used later as the AadClientId for Set-AzVMDiskEncryptionExtension and as the ServicePrincipalName for Set-AzKeyVaultAccessPolicy.

Ustawianie zasad dostępu magazynu kluczy dla aplikacji usługi Azure ADSet the key vault access policy for the Azure AD app

Do zapisu kluczy tajnych szyfrowania określonej usługi Key Vault, usługa Azure Disk Encryption wymaga Identyfikatora klienta i klucz tajny klienta aplikacji usługi Azure Active Directory, która ma uprawnienia do zapisu kluczy tajnych w usłudze Key Vault.To write encryption secrets to a specified Key Vault, Azure Disk Encryption needs the Client ID and the Client Secret of the Azure Active Directory application that has permissions to write secrets to the Key Vault.

Uwaga

Usługa Azure Disk Encryption wymaga skonfigurowania następujących zasad dostępu do aplikacji klienta usługi Azure AD: WrapKey i ustaw uprawnienia.Azure Disk Encryption requires you to configure the following access policies to your Azure AD client application: WrapKey and Set permissions.

Ustawianie zasad dostępu magazynu kluczy dla aplikacji usługi Azure AD przy użyciu programu Azure PowerShellSet the key vault access policy for the Azure AD app with Azure PowerShell

Aplikacja usługi Azure AD wymaga praw dostępu do kluczy lub wpisów tajnych w magazynie.Your Azure AD application needs rights to access the keys or secrets in the vault. Użyj AzKeyVaultAccessPolicy zestaw polecenia cmdlet, aby udzielić uprawnień do aplikacji przy użyciu Identyfikatora klienta, (który został wygenerowany, gdy aplikacja została zarejestrowana) jako — ServicePrincipalName wartość parametru.Use the Set-AzKeyVaultAccessPolicy cmdlet to grant permissions to the application, using the client ID (which was generated when the application was registered) as the –ServicePrincipalName parameter value. Aby dowiedzieć się więcej, zobacz wpis w blogu usługi Azure Key Vault — krok po kroku.To learn more, see the blog post Azure Key Vault - Step by Step.

  1. Jeśli to konieczne, nawiązać połączenie z subskrypcją platformy Azure.If needed, connect to your Azure subscription.

  2. Ustawianie zasad dostępu magazynu kluczy dla aplikacji usługi AD za pomocą programu PowerShell.Set the key vault access policy for the AD application with PowerShell.

    $keyVaultName = 'MySecureVault'
    $aadClientID = 'MyAadAppClientID'
    $KVRGname = 'MyKeyVaultResourceGroup'
    Set-AzKeyVaultAccessPolicy -VaultName $keyVaultName -ServicePrincipalName $aadClientID -PermissionsToKeys 'WrapKey' -PermissionsToSecrets 'Set' -ResourceGroupName $KVRGname
    

Ustawianie zasad dostępu magazynu kluczy dla aplikacji usługi Azure AD przy użyciu wiersza polecenia platformy AzureSet the key vault access policy for the Azure AD app with Azure CLI

Użyj az keyvault set-policy ustawić zasady dostępu.Use az keyvault set-policy to set the access policy. Aby uzyskać więcej informacji, zobacz Zarządzanie Key Vault przy użyciu interfejsu wiersza polecenia 2.0.For more information, see Manage Key Vault using CLI 2.0.

  1. Jeśli to konieczne, nawiązać połączenie z subskrypcją platformy Azure.If needed, connect to your Azure subscription.

  2. Zapewniają utworzonej jednostki usługi, za pośrednictwem dostępu wiersza polecenia platformy Azure, aby uzyskać klucze tajne i zawijania klucze za pomocą następującego polecenia:Give the service principal you created via the Azure CLI access to get secrets and wrap keys with the following command:

    az keyvault set-policy --name "MySecureVault" --spn "<spn created with CLI/the Azure AD ClientID>" --key-permissions wrapKey --secret-permissions set
    

Ustawianie zasad dostępu magazynu kluczy dla aplikacji usługi Azure AD za pomocą portaluSet the key vault access policy for the Azure AD app with the portal

  1. Otwórz grupę zasobów za pomocą usługi key vault.Open the resource group with your key vault.
  2. Wybierz magazyn kluczy, przejdź do zasady dostępu, następnie kliknij przycisk Dodaj nowe.Select your key vault, go to Access Policies, then click Add new.
  3. W obszarze Wybierz podmiot zabezpieczeń, wyszukaj utworzoną aplikację usługi Azure AD i wybierz ją.Under Select principal, search for the Azure AD application you created and select it.
  4. Aby uzyskać uprawnienia klucza, sprawdź Opakuj klucz w obszarze operacje kryptograficzne.For Key permissions, check Wrap Key under Cryptographic Operations.
  5. Dla uprawnienia klucza tajnego, sprawdź ustaw w obszarze operacji zarządzania wpisu tajnego.For Secret permissions, check Set under Secret Management Operations.
  6. Kliknij przycisk OK Aby zapisać zasady dostępu.Click OK to save the access policy.

Usługa Azure Key Vault operacje kryptograficzne - Opakuj klucz

Ustaw uprawnienia klucza wpisu tajnego z magazynu platformy Azure —

Zestaw magazynu kluczy, zaawansowane zasady dostępuSet key vault advanced access policies

Platforma Azure wymaga dostępu do kluczy szyfrowania i wpisy tajne w magazynie kluczy, aby udostępnić je do maszyny Wirtualnej do 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. Włącz szyfrowanie dysków w magazynie kluczy lub wdrożenia zakończy się niepowodzeniem.Enable disk encryption on the key vault or deployments will fail.

Zestaw magazynu kluczy, zaawansowane zasady dostępu przy użyciu programu Azure PowerShellSet key vault advanced access policies with Azure PowerShell

Użyj polecenia cmdlet programu PowerShell usługi key vault AzKeyVaultAccessPolicy zestaw umożliwia szyfrowanie dysków dla magazynu kluczy.Use the key vault PowerShell cmdlet Set-AzKeyVaultAccessPolicy to enable disk encryption for the key vault.

  • Włącz magazyn kluczy do szyfrowania dysku: EnabledForDiskEncryption jest wymagany dla usługi Azure Disk encryption.Enable Key Vault for disk encryption: EnabledForDiskEncryption is required for Azure Disk encryption.

    Set-AzKeyVaultAccessPolicy -VaultName 'MySecureVault' -ResourceGroupName 'MyKeyVaultResourceGroup' -EnabledForDiskEncryption
    
  • Włączenie usługi Key Vault w przypadku wdrożenia w razie potrzeby: Umożliwia dostawcy zasobów Microsoft.Compute można pobrać Wpisy tajne z tego magazynu kluczy, podczas tworzenia zasobu, na przykład podczas tworzenia maszyny wirtualnej odwołuje się do tego magazynu kluczy.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 'MySecureVault' -ResourceGroupName 'MyKeyVaultResourceGroup' -EnabledForDeployment
    
  • Włącz usługi Key Vault dla wdrożenia szablonu, w razie potrzeby: Włącza usługi Azure Resource Manager można pobrać Wpisy tajne z tego magazynu kluczy, podczas wdrażania szablonu odwołuje się ten magazyn kluczy.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 'MySecureVault' -ResourceGroupName 'MyKeyVaultResourceGroup' -EnabledForTemplateDeployment
    

Zestaw magazynu kluczy, zaawansowane zasady dostępu przy użyciu wiersza polecenia platformy AzureSet key vault advanced access policies using the Azure CLI

Użyj az keyvault update umożliwia szyfrowanie dysków dla magazynu kluczy.Use az keyvault update to enable disk encryption for the key vault.

  • Włącz magazyn kluczy do szyfrowania dysku: Włączone for szyfrowania dysków jest wymagana.Enable Key Vault for disk encryption: Enabled-for-disk-encryption is required.

    az keyvault update --name "MySecureVault" --resource-group "MyKeyVaultResourceGroup" --enabled-for-disk-encryption "true"
    
  • Włączenie usługi Key Vault w przypadku wdrożenia w razie potrzeby: Zezwalaj na maszyny wirtualne, aby pobrać certyfikaty zapisane jako wpisy tajne z magazynu.Enable Key Vault for deployment, if needed: Allow Virtual Machines to retrieve certificates stored as secrets from the vault.

    az keyvault update --name "MySecureVault" --resource-group "MyKeyVaultResourceGroup" --enabled-for-deployment "true"
    
  • Włącz usługi Key Vault dla wdrożenia szablonu, w razie potrzeby: Zezwalaj na Menedżera zasobów można pobrać Wpisy tajne z magazynu.Enable Key Vault for template deployment, if needed: Allow Resource Manager to retrieve secrets from the vault.

    az keyvault update --name "MySecureVault" --resource-group "MyKeyVaultResourceGroup" --enabled-for-template-deployment "true"
    

Zestaw magazynu kluczy, zaawansowane zasady dostępu w witrynie Azure portalSet key vault advanced access policies through the Azure portal

  1. Wybierz z magazynu kluczy, przejdź do zasady dostępu, i kliknij, aby wyświetlić zaawansowane zasady dostępu.Select your keyvault, go to Access Policies, and Click to show advanced access policies.
  2. Zaznacz pole opcji zapewnianie dostępu do usługi Azure Disk Encryption dla szyfrowania woluminu.Select the box labeled Enable access to Azure Disk Encryption for volume encryption.
  3. Wybierz włączyć dostęp do usługi Azure Virtual Machines na potrzeby wdrożenia i/lub Włącz dostęp do usługi Azure Resource Manager dla 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 magazynu kluczy Azure

Konfigurowanie klucza szyfrowania (opcjonalnie)Set up a key encryption key (optional)

Jeśli chcesz użyć klucz szyfrowania klucza (KEK) Aby uzyskać dodatkową warstwę zabezpieczeń dla kluczy szyfrowania, należy dodać KEK 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. Użyj AzKeyVaultKey Dodaj polecenia cmdlet, aby utworzyć klucz szyfrowania klucza w magazynie kluczy.Use the Add-AzKeyVaultKey cmdlet to create a key encryption key in the key vault. Można także zaimportować KEK, z usługi zarządzania kluczami w środowisku lokalnym przez moduł HSM.You can also import a KEK from your on-premises key management HSM. Aby uzyskać więcej informacji, zobacz Key Vault dokumentacji.For more information, see Key Vault Documentation. Jeśli klucz szyfrowania jest określony, usługi Azure Disk Encryption używa tego klucza do opakowania wpisów tajnych szyfrowania przed zapisaniem w usłudze 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.

Skonfiguruj klucz szyfrowania klucza przy użyciu programu Azure PowerShellSet up a key encryption key with Azure PowerShell

Przed użyciem skryptu programu PowerShell, należy zapoznać się z wstępnie wymagane składniki usługi Azure Disk Encryption, aby zrozumieć kroki w skrypcie.Before using the PowerShell script, you should be familiar with the Azure Disk Encryption prerequisites to understand the steps in the script. Przykładowy skrypt może wymagać zmiany w danym środowisku.The sample script might need changes for your environment. Ten skrypt tworzy wszystkie wymagania wstępne usługi Azure Disk Encryption i szyfruje istniejącej maszyny Wirtualnej IaaS, zawijanie klucz szyfrowania dysku przy użyciu klucza szyfrowania.This script creates all Azure Disk Encryption prerequisites and encrypts an existing IaaS VM, wrapping the disk encryption key by using a key encryption key.

# Step 1: Create a new resource group and key vault in the same location.
    # Fill in 'MyLocation', 'MyKeyVaultResourceGroup', and 'MySecureVault' with your values.
    # Use Get-AzLocation to get available locations and use the DisplayName.
    # To use an existing resource group, comment out the line for New-AzResourceGroup
    
    $Loc = 'MyLocation';
    $KVRGname = 'MyKeyVaultResourceGroup';
    $KeyVaultName = 'MySecureVault'; 
    New-AzResourceGroup –Name  $KVRGname –Location $Loc;
    New-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname -Location $Loc;
    $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName  $KVRGname;
    $KeyVaultResourceId = (Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName  $KVRGname).ResourceId;
    $diskEncryptionKeyVaultUrl = (Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName  $KVRGname).VaultUri;
    
# Step 2: Create the AD application and service principal.
    # Fill in 'MyAADClientSecret', "<My Application Display Name>", "<https://MyApplicationHomePage>", and "<https://MyApplicationUri>" with your values.
    # MyApplicationHomePage and the MyApplicationUri can be any values you wish.
    
    $aadClientSecret =  'MyAADClientSecret';
    $aadClientSecretSec = ConvertTo-SecureString -String $aadClientSecret -AsPlainText -Force;
    $azureAdApplication = New-AzADApplication -DisplayName "<My Application Display Name>" -HomePage "<https://MyApplicationHomePage>" -IdentifierUris "<https://MyApplicationUri>" -Password $aadClientSecretSec
    $servicePrincipal = New-AzADServicePrincipal –ApplicationId $azureAdApplication.ApplicationId;
    $aadClientID = $azureAdApplication.ApplicationId;
    
#Step 3: Enable the vault for disk encryption and set the access policy for the Azure AD application.
    
    Set-AzKeyVaultAccessPolicy -VaultName $KeyVaultName -ResourceGroupName $KVRGname -EnabledForDiskEncryption;
    Set-AzKeyVaultAccessPolicy -VaultName $keyVaultName -ServicePrincipalName $aadClientID -PermissionsToKeys 'WrapKey' -PermissionsToSecrets 'Set' -ResourceGroupName  $KVRGname;
    
#Step 4: Create a new key in the key vault with the Add-AzKeyVaultKey cmdlet.
    # Fill in 'MyKeyEncryptionKey' with your value.
    
    $keyEncryptionKeyName = 'MyKeyEncryptionKey';
    Add-AzKeyVaultKey -VaultName $KeyVaultName -Name $keyEncryptionKeyName -Destination 'Software';
    $keyEncryptionKeyUrl = (Get-AzKeyVaultKey -VaultName $KeyVaultName -Name $keyEncryptionKeyName).Key.kid;
    
#Step 5: Encrypt the disks of an existing IaaS VM
    # Fill in 'MySecureVM' and 'MyVirtualMachineResourceGroup' with your values. 
    
    $VMName = 'MySecureVM';
     $VMRGName = 'MyVirtualMachineResourceGroup';
    Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $vmName -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -KeyEncryptionKeyUrl $keyEncryptionKeyUrl -KeyEncryptionKeyVaultId $KeyVaultResourceId;

Uwierzytelnianie oparte na certyfikatach (opcjonalnie)Certificate-based authentication (optional)

Jeśli chcesz użyć uwierzytelniania certyfikatu, możesz przekazać jeden do magazynu kluczy i wdrożyć ją do klienta.If you would like to use certificate authentication, you can upload one to your key vault and deploy it to the client. Przed użyciem skryptu programu PowerShell, należy zapoznać się z wstępnie wymagane składniki usługi Azure Disk Encryption, aby zrozumieć kroki w skrypcie.Before using the PowerShell script, you should be familiar with the Azure Disk Encryption prerequisites to understand the steps in the script. Przykładowy skrypt może wymagać zmiany w danym środowisku.The sample script might need changes for your environment.


# Fill in "MyKeyVaultResourceGroup", "MySecureVault", and 'MyLocation' ('My location' only if needed)

  $KVRGname = 'MyKeyVaultResourceGroup'
  $KeyVaultName= 'MySecureVault'

  # Create a key vault and set enabledForDiskEncryption property on it. 
  # Comment out the next three lines if you already have an existing key vault enabled for encryption. No need to set 'My location' in this case.

  $Loc = 'MyLocation'
  New-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname -Location $Loc
  Set-AzKeyVaultAccessPolicy -VaultName $KeyVaultName -ResourceGroupName $KVRGname -EnabledForDiskEncryption

  #Setting some variables with the key vault information 
  $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname
  $DiskEncryptionKeyVaultUrl = $KeyVault.VaultUri
  $KeyVaultResourceId = $KeyVault.ResourceId

  # Create the Azure AD application and associate the certificate with it. 
  # Fill in "C:\certificates\mycert.pfx", "Password", "<My Application Display Name>", "<https://MyApplicationHomePage>", and "<https://MyApplicationUri>" with your values.
  # MyApplicationHomePage and the MyApplicationUri can be any values you wish

  $CertPath = "C:\certificates\mycert.pfx"
  $CertPassword = "Password"
  $Cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($CertPath, $CertPassword)
  $CertValue = [System.Convert]::ToBase64String($cert.GetRawCertData())

  $AzureAdApplication = New-AzADApplication -DisplayName "<My Application Display Name>" -HomePage "<https://MyApplicationHomePage>" -IdentifierUris "<https://MyApplicationUri>" -CertValue $CertValue 
  $ServicePrincipal = New-AzADServicePrincipal -ApplicationId $AzureAdApplication.ApplicationId

  $AADClientID = $AzureAdApplication.ApplicationId
  $aadClientCertThumbprint= $cert.Thumbprint

  Set-AzKeyVaultAccessPolicy -VaultName $keyVaultName -ServicePrincipalName $aadClientID -PermissionsToKeys 'WrapKey' -PermissionsToSecrets 'Set' -ResourceGroupName $KVRGname
  
  # Upload the pfx file to the key vault. 
  # Fill in "MyAADCert".  

  $KeyVaultSecretName = "MyAADCert"
  $FileContentBytes = get-content $CertPath -Encoding Byte
  $FileContentEncoded = [System.Convert]::ToBase64String($fileContentBytes)
          $JSONObject = @"
          { 
              "data" : "$filecontentencoded", 
              "dataType" : "pfx", 
              "password" : "$CertPassword" 
          } 
"@

  $JSONObjectBytes = [System.Text.Encoding]::UTF8.GetBytes($jsonObject)
  $JSONEncoded = [System.Convert]::ToBase64String($jsonObjectBytes)

  #Set the secret and set the key vault policy for -EnabledForDeployment

  $Secret = ConvertTo-SecureString -String $JSONEncoded -AsPlainText -Force
  Set-AzKeyVaultSecret -VaultName $KeyVaultName -Name $KeyVaultSecretName -SecretValue $Secret
  Set-AzKeyVaultAccessPolicy -VaultName $KeyVaultName -ResourceGroupName $KVRGname -EnabledForDeployment

  # Deploy the certificate to the VM
  # Fill in 'MySecureVM' and 'MyVirtualMachineResourceGroup' with your values.

  $VMName = 'MySecureVM'
  $VMRGName = 'MyVirtualMachineResourceGroup'
  $CertUrl = (Get-AzKeyVaultSecret -VaultName $KeyVaultName -Name $KeyVaultSecretName).Id
  $SourceVaultId = (Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGName).ResourceId
  $VM = Get-AzVM -ResourceGroupName $VMRGName -Name $VMName 
  $VM = Add-AzVMSecret -VM $VM -SourceVaultId $SourceVaultId -CertificateStore "My" -CertificateUrl $CertUrl
  Update-AzVM -VM $VM -ResourceGroupName $VMRGName 

  #Enable encryption on the VM using Azure AD client ID and the client certificate thumbprint

  Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $VMName -AadClientID $AADClientID -AadClientCertThumbprint $AADClientCertThumbprint -DiskEncryptionKeyVaultUrl $DiskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId

Uwierzytelnianie oparte na certyfikatach oraz KEK (opcjonalnie)Certificate-based authentication and a KEK (optional)

Jeśli chcesz użyć uwierzytelniania certyfikatu, a następnie opakuj klucz szyfrowania za pomocą klucza KEK, możesz użyć poniższego skryptu jako przykład.If you would like to use certificate authentication and wrap the encryption key with a KEK, you can use the below script as an example. Przed użyciem skryptu programu PowerShell, należy zapoznać się z wszystkie poprzednie wymagania wstępne usługi Azure Disk Encryption, aby zrozumieć kroki w skrypcie.Before using the PowerShell script, you should be familiar with all of the previous Azure Disk Encryption prerequisites to understand the steps in the script. Przykładowy skrypt może wymagać zmiany w danym środowisku.The sample script might need changes for your environment.

Ważne

Uwierzytelnianie usługi Azure AD na podstawie certyfikatu nie jest obecnie obsługiwane na maszynach wirtualnych z systemem Linux.Azure AD certificate-based authentication is currently not supported on Linux VMs.

# Fill in 'MyKeyVaultResourceGroup', 'MySecureVault', and 'MyLocation' (if needed)

  $KVRGname = 'MyKeyVaultResourceGroup'
  $KeyVaultName= 'MySecureVault'

  # Create a key vault and set enabledForDiskEncryption property on it. 
  # Comment out the next three lines if you already have an existing key vault enabled for encryption.

  $Loc = 'MyLocation'
  New-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname -Location $Loc
  Set-AzKeyVaultAccessPolicy -VaultName $KeyVaultName -ResourceGroupName $KVRGname -EnabledForDiskEncryption

  # Create the Azure AD application and associate the certificate with it.  
  # Fill in "C:\certificates\mycert.pfx", "Password", "<My Application Display Name>", "<https://MyApplicationHomePage>", and "<https://MyApplicationUri>" with your values.
  # MyApplicationHomePage and the MyApplicationUri can be any values you wish

  $CertPath = "C:\certificates\mycert.pfx"
  $CertPassword = "Password"
  $Cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($CertPath, $CertPassword)
  $CertValue = [System.Convert]::ToBase64String($cert.GetRawCertData())

  $AzureAdApplication = New-AzADApplication -DisplayName "<My Application Display Name>" -HomePage "<https://MyApplicationHomePage>" -IdentifierUris "<https://MyApplicationUri>" -CertValue $CertValue 
  $ServicePrincipal = New-AzADServicePrincipal -ApplicationId $AzureAdApplication.ApplicationId

  $AADClientID = $AzureAdApplication.ApplicationId
  $aadClientCertThumbprint= $cert.Thumbprint

  ## Give access for setting secrets and wraping keys
  Set-AzKeyVaultAccessPolicy -VaultName $keyVaultName -ServicePrincipalName $aadClientID -PermissionsToKeys 'WrapKey' -PermissionsToSecrets 'Set' -ResourceGroupName $KVRGname

  # Upload the pfx file to the key vault. 
  # Fill in "MyAADCert". 

  $KeyVaultSecretName = "MyAADCert"
  $FileContentBytes = get-content $CertPath -Encoding Byte
  $FileContentEncoded = [System.Convert]::ToBase64String($fileContentBytes)
          $JSONObject = @"
          { 
              "data" : "$filecontentencoded", 
              "dataType" : "pfx", 
              "password" : "$CertPassword" 
          } 
"@

  $JSONObjectBytes = [System.Text.Encoding]::UTF8.GetBytes($jsonObject)
  $JSONEncoded = [System.Convert]::ToBase64String($jsonObjectBytes)

  #Set the secret and set the key vault policy for deployment

  $Secret = ConvertTo-SecureString -String $JSONEncoded -AsPlainText -Force
  Set-AzKeyVaultSecret -VaultName $KeyVaultName -Name $KeyVaultSecretName -SecretValue $Secret
  Set-AzKeyVaultAccessPolicy -VaultName $KeyVaultName -ResourceGroupName $KVRGname -EnabledForDeployment

  #Setting some variables with the key vault information and generating a KEK 
  # FIll in 'KEKName'
  
  $KEKName ='KEKName'
  $KeyVault = Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGname
  $DiskEncryptionKeyVaultUrl = $KeyVault.VaultUri
  $KeyVaultResourceId = $KeyVault.ResourceId
  $KEK = Add-AzKeyVaultKey -VaultName $KeyVaultName -Name $KEKName -Destination "Software"
  $KeyEncryptionKeyUrl = $KEK.Key.kid



  # Deploy the certificate to the VM
  # Fill in 'MySecureVM' and 'MyVirtualMachineResourceGroup' with your values.

  $VMName = 'MySecureVM';
  $VMRGName = 'MyVirtualMachineResourceGroup';
  $CertUrl = (Get-AzKeyVaultSecret -VaultName $KeyVaultName -Name $KeyVaultSecretName).Id
  $SourceVaultId = (Get-AzKeyVault -VaultName $KeyVaultName -ResourceGroupName $KVRGName).ResourceId
  $VM = Get-AzVM -ResourceGroupName $VMRGName -Name $VMName 
  $VM = Add-AzVMSecret -VM $VM -SourceVaultId $SourceVaultId -CertificateStore "My" -CertificateUrl $CertUrl
  Update-AzVM -VM $VM -ResourceGroupName $VMRGName

  #Enable encryption on the VM using Azure AD client ID and the client certificate thumbprint

  Set-AzVMDiskEncryptionExtension -ResourceGroupName $VMRGName -VMName $VMName -AadClientID $AADClientID -AadClientCertThumbprint $AADClientCertThumbprint -DiskEncryptionKeyVaultUrl $DiskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -KeyEncryptionKeyUrl $keyEncryptionKeyUrl -KeyEncryptionKeyVaultId $KeyVaultResourceId

Kolejne krokiNext steps