Tworzenie i konfigurowanie magazynu kluczy dla usługi Azure Disk Encryption

Usługa Azure Disk Encryption używa usługi Azure Key Vault do kontrolowania kluczy szyfrowania dysków i wpisów tajnych oraz zarządzania nimi. Aby uzyskać więcej informacji na temat magazynów kluczy, zobacz Wprowadzenie do usługi Azure Key Vault i Zabezpieczanie magazynu kluczy.

Tworzenie i konfigurowanie magazynu kluczy do użycia z usługą Azure Disk Encryption obejmuje trzy kroki:

  1. Utworzenie grupy zasobów w razie potrzeby.
  2. Tworzenie magazynu kluczy.
  3. Ustawianie zaawansowanych zasad dostępu magazynu kluczy.

Jeśli chcesz, możesz również wygenerować lub zaimportować klucz szyfrowania kluczy (KEK).

Instalowanie narzędzi i nawiązywanie połączenia z platformą Azure

Kroki opisane w tym artykule można wykonać za pomocą interfejsu wiersza polecenia platformy Azure, modułu Azure PowerShell Az lub Azure Portal.

Nawiąż połączenie z kontem platformy Azure

Przed użyciem interfejsu wiersza polecenia platformy Azure lub Azure PowerShell musisz najpierw nawiązać połączenie z subskrypcją platformy Azure. W tym celu należy zalogować się przy użyciu interfejsu wiersza polecenia platformy Azure, zalogować się przy użyciu Azure PowerShell lub podać poświadczenia do Azure Portal po wyświetleniu monitu.

az login
Connect-AzAccount

Tworzenie grupy zasobów

Jeśli masz już grupę zasobów, możesz przejść do sekcji Tworzenie magazynu kluczy.

Grupa zasobów to logiczny kontener przeznaczony do wdrażania zasobów platformy Azure i zarządzania nimi.

Utwórz grupę zasobów przy użyciu polecenia az group create interfejsu wiersza polecenia platformy Azure, polecenia New-AzResourceGroup Azure PowerShell lub z Azure Portal.

Interfejs wiersza polecenia platformy Azure

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

Azure PowerShell

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

Tworzenie magazynu kluczy

Jeśli masz już magazyn kluczy, możesz przejść do sekcji Ustawianie zaawansowanych zasad dostępu magazynu kluczy.

Utwórz magazyn kluczy przy użyciu polecenia az keyvault create interfejsu wiersza polecenia platformy Azure, polecenia New-AzKeyvault Azure PowerShell, Azure Portal lub szablonu Resource Manager.

Ostrzeżenie

Aby upewnić się, że wpisy tajne szyfrowania nie przekraczają granic regionalnych, należy utworzyć i użyć magazynu kluczy, który znajduje się w tym samym regionie i dzierżawie co maszyny wirtualne do szyfrowania.

Każda Key Vault musi mieć unikatową nazwę. Zastąp <ciąg your-unique-keyvault-name> nazwą magazynu kluczy w poniższych przykładach.

Interfejs wiersza polecenia platformy Azure

Podczas tworzenia magazynu kluczy przy użyciu interfejsu wiersza polecenia platformy Azure dodaj flagę "-enabled-for-disk-encryption".

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

Azure PowerShell

Podczas tworzenia magazynu kluczy przy użyciu Azure PowerShell dodaj flagę "-EnabledForDiskEncryption".

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

Szablon usługi Resource Manager

Magazyn kluczy można również utworzyć przy użyciu szablonu Resource Manager.

  1. W szablonie Szybkiego startu platformy Azure kliknij pozycję Wdróż na platformie Azure.
  2. Wybierz subskrypcję, grupę zasobów, lokalizację grupy zasobów, Key Vault nazwę, identyfikator obiektu, warunki prawne i umowę, a następnie kliknij przycisk Kup.

Ustawianie zaawansowanych zasad dostępu magazynu kluczy

Ważne

Nowo utworzone magazyny kluczy domyślnie mają nietrwałe usuwanie. Jeśli używasz wstępnie istniejącego magazynu kluczy, musisz włączyć usuwanie nietrwałe. Zobacz Omówienie usuwania nietrwałego w usłudze Azure Key Vault.

Platforma Azure potrzebuje dostępu do kluczy szyfrowania lub wpisów tajnych w magazynie kluczy, aby udostępnić je maszynie wirtualnej do rozruchu i odszyfrowywania woluminów.

Jeśli nie włączono magazynu kluczy na potrzeby szyfrowania dysków, wdrażania lub wdrażania szablonu podczas tworzenia (jak pokazano w poprzednim kroku), musisz zaktualizować jego zaawansowane zasady dostępu.

Interfejs wiersza polecenia platformy Azure

Użyj polecenia az keyvault update , aby włączyć szyfrowanie dysków dla magazynu kluczy.

  • Włącz Key Vault na potrzeby szyfrowania dysków: wymagane jest włączenie szyfrowania dysków.

    az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-disk-encryption "true"
    
  • Włącz Key Vault do wdrożenia, jeśli jest to konieczne: włącza Microsoft. Dostawca zasobów obliczeniowych do pobierania 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.

    az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-deployment "true"
    
  • Włącz Key Vault wdrożenia szablonu, jeśli jest to konieczne: zezwalaj Resource Manager na pobieranie wpisów tajnych z magazynu.

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

Azure PowerShell

Użyj polecenia cmdlet programu PowerShell magazynu kluczy Set-AzKeyVaultAccessPolicy , aby włączyć szyfrowanie dysków dla magazynu kluczy.

  • Włącz Key Vault na potrzeby szyfrowania dysków: dla szyfrowania dysków enabledForDiskEncryption jest wymagany szyfrowanie dysków platformy Azure.

    Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForDiskEncryption
    
  • Włącz Key Vault do wdrożenia, jeśli jest to konieczne: włącza Microsoft. Dostawca zasobów obliczeniowych do pobierania 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.

     Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForDeployment
    
  • Włącz Key Vault wdrożenia szablonu, jeśli jest to konieczne: umożliwia usłudze Azure Resource Manager uzyskiwanie wpisów tajnych z tego magazynu kluczy, gdy ten magazyn kluczy jest przywołyyny we wdrożeniu szablonu.

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

Azure Portal

  1. Wybierz magazyn kluczy i przejdź do pozycji Zasady dostępu.

  2. W obszarze "Włącz dostęp do" wybierz pole z etykietą Azure Disk Encryption na potrzeby szyfrowania woluminów.

  3. W razie potrzeby wybierz pozycję Azure Virtual Machines na potrzeby wdrażania i/lub usługi Azure Resource Manager na potrzeby wdrażania szablonu.

  4. Kliknij pozycję Zapisz.

    Zaawansowane zasady dostępu w usłudze Azure Key Vault

Usługa Azure Disk Encryption i automatyczna rotacja

Mimo że usługa Azure Key Vault ma teraz kluczową automatyczną rotację, nie jest obecnie zgodna z usługą Azure Disk Encryption. W szczególności usługa Azure Disk Encryption będzie nadal używać oryginalnego klucza szyfrowania, nawet po jej automatycznym obróceniu.

Rotacja klucza szyfrowania nie spowoduje przerwania usługi Azure Disk Encryption, ale wyłączenie "starego" klucza szyfrowania (innymi słowy, klucz usługi Azure Disk Encryption jest nadal używany).

Konfigurowanie klucza szyfrowania kluczy (KEK)

Ważne

Konto uruchomione w celu włączenia szyfrowania dysków w magazynie kluczy musi mieć uprawnienia "czytelnika".

Jeśli chcesz użyć klucza szyfrowania kluczy (KEK) do dodatkowej warstwy zabezpieczeń kluczy szyfrowania, dodaj klucz KEK do magazynu kluczy. Po określeniu klucza szyfrowania kluczy usługa Azure Disk Encryption używa tego klucza do opakowowania wpisów tajnych szyfrowania przed zapisaniem w Key Vault.

Nowy klucz KEK można wygenerować za pomocą polecenia interfejsu wiersza polecenia az keyvault key create platformy Azure, polecenia cmdlet Azure PowerShell Add-AzKeyVaultKey lub Azure Portal. Musisz wygenerować typ klucza RSA; Usługa Azure Disk Encryption nie obsługuje obecnie używania kluczy krzywej eliptycznej.

Zamiast tego możesz zaimportować klucz KEK z lokalnego modułu HSM zarządzania kluczami. Aby uzyskać więcej informacji, zobacz dokumentację Key Vault.

Adresy URL klucza klucza magazynu kluczy muszą być w wersji. Platforma Azure wymusza to ograniczenie przechowywania wersji. Aby uzyskać prawidłowe wpisy tajne i adresy URL klucza KEK, zobacz następujące przykłady:

Interfejs wiersza polecenia platformy Azure

Użyj polecenia interfejsu wiersza polecenia z keyvault key create platformy Azure, aby wygenerować nowy klucz KEK i zapisać go w magazynie kluczy.

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

Zamiast tego możesz zaimportować klucz prywatny przy użyciu polecenia az keyvault key import interfejsu wiersza polecenia platformy Azure:

W obu przypadkach należy podać nazwę klucza do parametru interfejsu wiersza polecenia az vm encryption enable platformy Azure --key-encryption-key.

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

Azure PowerShell

Użyj polecenia cmdlet Azure PowerShell Add-AzKeyVaultKey, aby wygenerować nowy klucz KEK i zapisać go w magazynie kluczy.

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

Zamiast tego możesz zaimportować klucz prywatny przy użyciu polecenia Azure PowerShellaz keyvault key import.

W obu przypadkach podasz identyfikator magazynu kluczy KEK i adres URL klucza kluczy do parametrów Azure PowerShell Set-AzVMDiskEncryptionExtension -KeyEncryptionKeyVaultId i -KeyEncryptionKeyUrl. W tym przykładzie założono, że używasz tego samego magazynu kluczy zarówno dla klucza szyfrowania dysku, jak i klucza 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 kroki