Aby zapoznać się z omówieniem zarządzanego modułu HSM, zobacz Co to jest zarządzany moduł HSM?
Wymagania wstępne
Wymagana jest subskrypcja Azure. Jeśli go nie masz, przed rozpoczęciem utwórz bezpłatne konto .
Potrzebne są również następujące elementy:
Uwaga / Notatka
Wszystkie poniższe polecenia pokazują dwa sposoby korzystania z CLI. Jedna metoda używa parametrów --hsm-name i --name (dla nazwy klucza). Druga metoda używa parametru --id , w którym można określić cały adres URL, w tym nazwę klucza, jeśli jest to konieczne. Ta ostatnia metoda jest przydatna, gdy obiekt wywołujący (użytkownik lub aplikacja) nie ma dostępu do odczytu na płaszczyźnie sterowania i tylko ograniczony dostęp na płaszczyźnie danych.
Niektóre interakcje z materiałem klucza wymagają określonych lokalnych uprawnień RBAC w zarządzanym HSM. Aby uzyskać pełną listę wbudowanych lokalnych ról RBAC i uprawnień zarządzanego modułu HSM, zobacz Zarządzanie lokalnymi rolami RBAC modułu HSM. Aby przypisać te uprawnienia do użytkownika, zobacz Bezpieczny dostęp do zarządzanych modułów HSM.
Tworzenie klucza HSM
Uwaga / Notatka
Nie można wyeksportować klucza wygenerowanego lub zaimportowanego do zarządzanego modułu HSM. Jedynym wyjątkiem od reguły braku eksportu jest utworzenie klucza z określonymi zasadami wydania klucza. Te zasady umożliwiają eksportowanie klucza tylko do zaufanych poufnych środowisk obliczeniowych (bezpiecznych enklaw), które jawnie definiujesz. Ta ograniczona funkcja eksportowania jest przeznaczona dla określonych scenariuszy bezpiecznego przetwarzania i nie jest taka sama jak eksport klucza ogólnego przeznaczenia. Aby zapoznać się z zalecanymi najlepszymi rozwiązaniami dotyczącymi przenośności i trwałości, zobacz artykuł połączony.
W portalu Azure przejdź do zasobu zarządzanego HSM.
W menu po lewej stronie w obszarze Ustawienia wybierz pozycję Klucze.
Wybierz opcję Generuj/Importuj z menu Generuj/Importuj/Przywróć kopię zapasową.
Wybierz typ klucza (RSA-HSM, EC-HSM lub oct-HSM), ustaw rozmiar klucza lub krzywą, nazwę i dozwolone operacje, a następnie wybierz pozycję Utwórz.
Użyj polecenia , az keyvault key create aby utworzyć klucz.
Tworzenie klucza RSA
W tym przykładzie pokazano, jak utworzyć 3072-bitowy klucz RSA , który jest używany tylko na potrzeby operacji wrapKey i unwrapKey (--ops).
az keyvault key create --hsm-name <hsm-name> --name myrsakey --ops wrapKey unwrapKey --kty RSA-HSM --size 3072
## OR
# Note the key name (myrsakey) in the URI
az keyvault key create --id https://<hsm-name>.managedhsm.azure.net/keys/myrsakey --ops wrapKey unwrapKey --kty RSA-HSM --size 3072
Operacja get zwraca tylko klucz publiczny i atrybuty klucza. Nie zwraca klucza prywatnego (jeśli klucz asymetryczny) lub materiału klucza (jeśli klucz symetryczny).
Tworzenie klucza EC
W poniższym przykładzie pokazano, jak utworzyć klucz EC z krzywą P-256. Klucz jest przeznaczony tylko do podpisywania i weryfikowania operacji (--ops) i ma dwa tagi, użycie i nazwę aplikacji. Użyj tagów, aby dodać dodatkowe metadane do klucza na potrzeby śledzenia i zarządzania nimi.
az keyvault key create --hsm-name <hsm-name> --name myec256key --ops sign verify --tags 'usage=signing' 'appname=myapp' --kty EC-HSM --curve P-256
## OR
# Note the key name (myec256key) in the URI
az keyvault key create --id https://<hsm-name>.managedhsm.azure.net/keys/myec256key --ops sign verify --tags 'usage=signing' 'appname=myapp' --kty EC-HSM --curve P-256
Tworzenie 256-bitowego klucza symetrycznego
W tym przykładzie pokazano, jak utworzyć 256-bitowy klucz symetryczny , który jest przeznaczony tylko dla operacji szyfrowania i odszyfrowywania (--ops).
az keyvault key create --hsm-name <hsm-name> --name myaeskey --ops encrypt decrypt --tags 'usage=encryption' 'appname=myapp' --kty oct-HSM --size 256
## OR
# Note the key name (myaeskey) in the URI
az keyvault key create --id https://<hsm-name>.managedhsm.azure.net/keys/myaeskey --ops encrypt decrypt --tags 'usage=encryption' 'appname=myapp' --kty oct-HSM --size 256
Add-AzKeyVaultKey Użyj polecenia cmdlet , aby utworzyć klucz.
Tworzenie klucza RSA
W tym przykładzie pokazano, jak utworzyć 3072-bitowy klucz RSA , który jest używany tylko na potrzeby operacji wrapKey i unwrapKey .
Add-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey -KeyType RSA-HSM -Size 3072 -KeyOps wrapKey,unwrapKey
Tworzenie klucza EC
W tym przykładzie pokazano, jak utworzyć klucz EC z krzywą P-256 na potrzeby podpisywania i weryfikowania operacji.
Add-AzKeyVaultKey -HsmName <hsm-name> -Name myec256key -KeyType EC-HSM -CurveName P-256 -KeyOps sign,verify -Tag @{usage='signing'; appname='myapp'}
Tworzenie 256-bitowego klucza symetrycznego
W tym przykładzie pokazano, jak utworzyć 256-bitowy klucz symetryczny na potrzeby operacji szyfrowania i odszyfrowywania .
Add-AzKeyVaultKey -HsmName <hsm-name> -Name myaeskey -KeyType oct-HSM -Size 256 -KeyOps encrypt,decrypt -Tag @{usage='encryption'; appname='myapp'}
W portalu Azure przejdź do zasobu zarządzanego HSM.
W menu po lewej stronie w obszarze Ustawienia wybierz pozycję Klucze.
Wybierz klucz, który chcesz wyświetlić. W portalu są wyświetlane atrybuty, wersje i tagi klucza.
az keyvault key show Użyj polecenia , aby wyświetlić atrybuty, wersje i tagi klucza.
az keyvault key show --hsm-name <hsm-name> --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key show --id https://<hsm-name>.managedhsm.azure.net/keys/myrsakey
Get-AzKeyVaultKey Użyj polecenia cmdlet, aby wyświetlić atrybuty, wersje i tagi klucza.
Get-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey
Lista kluczy
W portalu Azure przejdź do zasobu zarządzanego HSM.
W menu po lewej stronie w obszarze Ustawienia wybierz pozycję Klucze. W portalu wymieniono wszystkie klucze w zarządzanym module HSM.
Użyj polecenia , az keyvault key list aby wyświetlić listę wszystkich kluczy wewnątrz zarządzanego modułu HSM.
az keyvault key list --hsm-name <hsm-name>
## OR
# use full URI
az keyvault key list --id https://<hsm-name>.managedhsm.azure.net/
Get-AzKeyVaultKey Użyj polecenia cmdlet , aby wyświetlić listę wszystkich kluczy w zarządzanym module HSM.
Get-AzKeyVaultKey -HsmName <hsm-name>
Usuń klucz
W portalu Azure przejdź do zasobu zarządzanego HSM.
W menu po lewej stronie w obszarze Ustawienia wybierz pozycję Klucze.
Wybierz klucz, który chcesz usunąć.
Wybierz opcję Usuń, a następnie potwierdź.
Użyj polecenia , az keyvault key delete aby usunąć klucz z zarządzanego modułu HSM. Miękkie usuwanie jest zawsze włączone. W związku z tym usunięty klucz pozostaje w stanie usuniętym i można go odzyskać do czasu upływu liczby dni przechowywania. Następnie klucz jest czyszczony (trwale usunięty) bez możliwości odzyskania.
az keyvault key delete --hsm-name <hsm-name> --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key delete --id https://<hsm-name>.managedhsm.azure.net/keys/myrsakey
Remove-AzKeyVaultKey Użyj polecenia cmdlet , aby usunąć klucz. Usuwanie miękkie jest zawsze włączone, więc usunięty klucz pozostaje możliwy do odzyskania do momentu wygaśnięcia okresu retencji.
Remove-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey
Wyświetlanie listy usuniętych kluczy
W portalu Azure przejdź do zasobu zarządzanego HSM.
W menu po lewej stronie w obszarze Ustawienia wybierz pozycję Klucze.
Wybierz pozycję Zarządzaj usuniętymi kluczami , aby wyświetlić klucze w stanie usunięcia nietrwałego.
Użyj polecenia , az keyvault key list-deleted aby wyświetlić listę wszystkich kluczy w stanie usuniętym w zarządzanym module HSM.
az keyvault key list-deleted --hsm-name <hsm-name>
## OR
# use full URI
az keyvault key list-deleted --id https://<hsm-name>.managedhsm.azure.net/
Get-AzKeyVaultKey Użyj polecenia cmdlet z parametrem , -InRemovedState aby wyświetlić listę usuniętych kluczy.
Get-AzKeyVaultKey -HsmName <hsm-name> -InRemovedState
Przywrócenie usuniętego klucza
W portalu Azure przejdź do zasobu zarządzanego HSM.
W menu po lewej stronie w obszarze Ustawienia wybierz pozycję Klucze, a następnie wybierz pozycję Zarządzaj usuniętymi kluczami.
Wybierz usunięty klucz, który chcesz odzyskać.
Wybierz Odzyskaj.
Użyj polecenia , az keyvault key list-deleted aby wyświetlić listę wszystkich kluczy w stanie usuniętym w zarządzanym module HSM. Aby odzyskać (cofać) klucz, użyj parametru --id . Należy zanotować wartość recoveryId usuniętego klucza uzyskaną z polecenia az keyvault key list-deleted.
az keyvault key recover --hsm-name <hsm-name> --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key recover --id https://<hsm-name>.managedhsm.azure.net/deletedKeys/myrsakey
Użyj polecenia cmdlet , Undo-AzKeyVaultKeyRemoval aby odzyskać usunięty klucz.
Undo-AzKeyVaultKeyRemoval -HsmName <hsm-name> -Name myrsakey
Przeczyszczanie (trwałe usuwanie) klucza
Uwaga / Notatka
Jeśli zarządzana funkcja HSM ma włączoną ochronę przeczyszczania, operacja przeczyszczania nie jest dozwolona. Klucz jest automatycznie usuwany po upływie okresu przechowywania.
W portalu Azure przejdź do zasobu zarządzanego HSM.
W menu po lewej stronie w obszarze Ustawienia wybierz pozycję Klucze, a następnie wybierz pozycję Zarządzaj usuniętymi kluczami.
Wybierz usunięty klucz, który chcesz przeczyścić.
Wybierz Purge, a następnie zatwierdź.
Warning
Ta operacja trwale usuwa klucz.
az keyvault key purge Użyj polecenia , aby przeczyścić (trwale usunąć) klucz.
az keyvault key purge --hsm-name <hsm-name> --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key purge --id https://<hsm-name>.managedhsm.azure.net/deletedKeys/myrsakey
Remove-AzKeyVaultKey Użyj polecenia cmdlet z parametrem -InRemovedState , aby przeczyścić usunięty klucz.
Remove-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey -InRemovedState
Warning
Ta operacja trwale usuwa klucz.
Tworzenie pojedynczej kopii zapasowej klucza
Kopia zapasowa klucza nie jest obecnie dostępna w portalu Azure. Użyj Azure CLI lub Azure PowerShell.
Użyj az keyvault key backup polecenia , aby utworzyć kopię zapasową klucza. Plik kopii zapasowej to zaszyfrowany blob kryptograficznie powiązany z domeną bezpieczeństwa źródłowego modułu HSM. Można je przywrócić tylko w modułach HSM, które współdzielą tę samą domenę zabezpieczeń. Przeczytaj więcej na temat obszaru bezpieczeństwa.
az keyvault key backup --hsm-name <hsm-name> --name myrsakey --file myrsakey.backup
## OR
# Note the key name (myaeskey) in the URI
az keyvault key backup --id https://<hsm-name>.managedhsm.azure.net/keys/myrsakey --file myrsakey.backup
Użyj polecenia cmdlet , Backup-AzKeyVaultKey aby utworzyć kopię zapasową klucza. Plik kopii zapasowej to zaszyfrowany blob kryptograficznie powiązany z domeną bezpieczeństwa źródłowego modułu HSM.
Backup-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey -OutputFile myrsakey.backup
Przywracanie pojedynczego klucza z kopii zapasowej
W portalu Azure przejdź do zasobu zarządzanego HSM.
W menu po lewej stronie w obszarze Ustawienia wybierz pozycję Klucze.
Wybierz pozycję Generuj/Importuj/Przywróć kopię zapasową i wybierz pozycję Przywróć klucz z kopii zapasowej.
Przejdź do pliku kopii zapasowej i wybierz go, a następnie wybierz pozycję Przywróć.
Użyj polecenia az keyvault key restore , aby przywrócić pojedynczy klucz. Źródłowy moduł HSM, w którym utworzono kopię zapasową, musi współużytkować tę samą domenę zabezpieczeń co docelowy moduł HSM, w którym jest przywracany klucz.
Uwaga / Notatka
Operacja przywracania kończy się niepowodzeniem, jeśli klucz o tej samej nazwie istnieje w stanie aktywnym lub usuniętym.
az keyvault key restore --hsm-name <hsm-name> --name myrsakey --file myrsakey.backup
## OR
# Note the key name (myaeskey) in the URI
az keyvault key restore --id https://<hsm-name>.managedhsm.azure.net/keys/myrsakey --file myrsakey.backup
Użyj polecenia cmdlet , Restore-AzKeyVaultKey aby przywrócić pojedynczy klucz. Źródłowy moduł HSM, w którym utworzono kopię zapasową, musi współużytkować tę samą domenę zabezpieczeń co docelowy moduł HSM.
Uwaga / Notatka
Operacja przywracania kończy się niepowodzeniem, jeśli klucz o tej samej nazwie istnieje w stanie aktywnym lub usuniętym.
Restore-AzKeyVaultKey -HsmName <hsm-name> -InputFile myrsakey.backup
Importowanie klucza z pliku
Importowanie kluczy nie jest obecnie dostępne w portalu Azure. Użyj Azure CLI lub Azure PowerShell.
az keyvault key import Użyj polecenia , aby zaimportować klucz (tylko RSA i EC) z pliku. Plik certyfikatu musi mieć klucz prywatny i musi używać kodowania PEM (zgodnie z definicją w rfcs 1421, 1422, 1423, 1424).
az keyvault key import --hsm-name <hsm-name> --name myrsakey --pem-file mycert.key --pem-password 'mypassword'
## OR
# Note the key name (<key-name>) in the URI
az keyvault key import --id https://<hsm-name>.managedhsm.azure.net/keys/<key-name> --pem-file mycert.key --password 'mypassword'
Add-AzKeyVaultKey Użyj polecenia cmdlet z parametrem , -KeyFilePath aby zaimportować klucz z pliku PEM.
Add-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey -KeyFilePath ./mycert.key -KeyFilePassword (ConvertTo-SecureString -String 'mypassword' -AsPlainText -Force) -KeyType RSA-HSM
Aby zaimportować klucz z lokalnego modułu HSM do zarządzanego modułu HSM, zobacz Importowanie kluczy chronionych przez moduł HSM do zarządzanego modułu HSM (BYOK).
Dalsze kroki