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

Dotyczy: ✔️ Maszyny wirtualne z systemem Linux — elastyczne zestawy skalowania ✔️

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 Rozpoczynanie pracy z usługą Azure Key Vault i Zabezpieczanie magazynu kluczy.

Ostrzeżenie

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

  1. W razie potrzeby utwórz grupę zasobów.
  2. Tworzenie magazynu kluczy.
  3. Ustawianie zaawansowanych zasad dostępu magazynu kluczy.

Te kroki przedstawiono w następujących przewodnikach Szybki start:

Możesz również, jeśli chcesz, wygenerować lub zaimportować klucz szyfrowania klucza (KEK).

Uwaga

Kroki opisane w tym artykule są zautomatyzowane w skrycie interfejsu wiersza polecenia wymagań wstępnych usługi Azure Disk Encryption i skryptu programu PowerShell wymagań wstępnych usługi Azure Disk Encryption.

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 modułu Az programu PowerShell programu Azure PowerShell lub witryny Azure Portal.

Portal jest dostępny za pośrednictwem przeglądarki, interfejs wiersza polecenia platformy Azure i program Azure PowerShell wymagają instalacji lokalnej; Aby uzyskać szczegółowe informacje, zobacz Azure Disk Encryption for Linux: Install tools (Usługa Azure Disk Encryption dla systemu Linux: instalowanie narzędzi ).

Nawiąż połączenie z kontem platformy Azure

Przed rozpoczęciem korzystania z interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell musisz najpierw nawiązać połączenie z subskrypcją platformy Azure. Możesz to zrobić, logując się przy użyciu interfejsu wiersza polecenia platformy Azure, logując się przy użyciu programu Azure PowerShell lub podając poświadczenia w witrynie 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 programu Azure PowerShell lub w witrynie 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 programu Azure PowerShell, witryny Azure Portal lub szablonu usługi 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 usługa 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 programu 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 usługi 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, nazwę usługi Key Vault, identyfikator obiektu, postanowienia 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 istniejącego magazynu kluczy, musisz włączyć usuwanie nietrwałe. Zobacz Omówienie usuwania nietrwałego usługi 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 w momencie 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 usługę Key Vault na potrzeby szyfrowania dysków: wymagane jest włączenie szyfrowania na dysku.

    az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-disk-encryption "true"
    
  • Włącz usługę Key Vault do wdrożenia w razie potrzeby: 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.

    az keyvault update --name "<your-unique-keyvault-name>" --resource-group "MyResourceGroup" --enabled-for-deployment "true"
    
  • Włącz usługę Key Vault na potrzeby wdrażania szablonu, jeśli jest to konieczne: zezwalaj usłudze 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 dla magazynu kluczy Set-AzKeyVaultAccessPolicy , aby włączyć szyfrowanie dysków dla magazynu kluczy.

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

    Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForDiskEncryption
    
  • Włącz usługę Key Vault do wdrożenia w razie potrzeby: 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.

     Set-AzKeyVaultAccessPolicy -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup" -EnabledForDeployment
    
  • Włącz usługę Key Vault na potrzeby wdrażania szablonu, jeśli jest to konieczne: umożliwia usłudze Azure Resource Manager pobieranie wpisów tajnych z tego magazynu kluczy po odwołaniu się do tego magazynu kluczy 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 usługę Azure Virtual Machines do wdrożenia i/lub usługi Azure Resource Manager w celu wdrożenia szablonu.

  4. Kliknij przycisk Zapisz.

    Azure key vault advanced access policies

Usługa Azure Disk Encryption i automatyczna rotacja

Mimo że usługa Azure Key Vault ma teraz automatyczne obracanie kluczy, 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 jego 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 klucza (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 klucza (KEK) dla dodatkowej warstwy zabezpieczeń kluczy szyfrowania, dodaj klucz KEK do magazynu kluczy. Po określeniu klucza szyfrowania klucza usługa Azure Disk Encryption używa tego klucza do opakowania wpisów tajnych szyfrowania przed zapisaniem w usłudze Key Vault.

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

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

Adresy URL klucza klucza magazynu kluczy muszą być wersjonowane. Platforma Azure wymusza to ograniczenie przechowywania wersji. Prawidłowe wpisy tajne i adresy URL klucza KEK można znaleźć w następujących przykładach:

Interfejs wiersza polecenia platformy Azure

Użyj polecenia interfejsu wiersza polecenia az keyvault key create platformy Azure, aby wygenerować nowy klucz szyfrowania kluczy 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 szyfrowania klucza 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 Add-AzKeyVaultKey programu Azure PowerShell, 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 programu Azure PowerShell az keyvault key import .

W obu przypadkach podasz identyfikator magazynu kluczy KEK i adres URL klucza KEK do parametrów Set-AzVMDiskEncryptionExtension -KeyEncryptionKeyVaultId i -KeyEncryptionKeyUrl. 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 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