Zarządzanie zarządzanym modułem HSM przy użyciu interfejsu wiersza polecenia platformy Azure
Uwaga
Usługa Key Vault obsługuje dwa typy zasobów: magazyny i zarządzane moduły HSM. Ten artykuł dotyczy zarządzanego modułu HSM. Jeśli chcesz dowiedzieć się, jak zarządzać magazynem, zobacz Zarządzanie usługą Key Vault przy użyciu interfejsu wiersza polecenia platformy Azure.
Aby zapoznać się z omówieniem zarządzanego modułu HSM, zobacz Co to jest zarządzany moduł HSM?
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
Wymagania wstępne
Aby wykonać kroki opisane w tym artykule, musisz mieć następujące elementy:
- Subskrypcja Microsoft Azure. Jeśli go nie masz, możesz utworzyć konto bezpłatnej wersji próbnej.
- Interfejs wiersza polecenia platformy Azure w wersji 2.25.0 lub nowszej. Uruchom polecenie
az --version
, aby dowiedzieć się, jaka wersja jest używana. Jeśli konieczna będzie instalacja lub uaktualnienie interfejsu, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure. - Zarządzany moduł HSM w ramach subskrypcji. Zobacz Szybki start: aprowizuj i aktywuj zarządzany moduł HSM przy użyciu interfejsu wiersza polecenia platformy Azure, aby aprowizować i aktywować zarządzany moduł HSM.
Azure Cloud Shell
Na platforma Azure hostowane jest Azure Cloud Shell, interaktywne środowisko powłoki, z którego można korzystać w przeglądarce. Do pracy z usługami platformy Azure można używać programu Bash lub PowerShell w środowisku Cloud Shell. Aby uruchomić kod w tym artykule, możesz użyć wstępnie zainstalowanych poleceń usługi Cloud Shell bez konieczności instalowania niczego w środowisku lokalnym.
Aby uruchomić środowisko Azure Cloud Shell:
Opcja | Przykład/link |
---|---|
Wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu lub polecenia. Wybranie pozycji Wypróbuj nie powoduje automatycznego skopiowania kodu lub polecenia do usługi Cloud Shell. | |
Przejdź do witryny https://shell.azure.com lub wybierz przycisk Uruchom Cloud Shell, aby otworzyć środowisko Cloud Shell w przeglądarce. | |
Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu witryny Azure Portal. |
Aby użyć usługi Azure Cloud Shell:
Uruchom usługę Cloud Shell.
Wybierz przycisk Kopiuj w bloku kodu (lub bloku poleceń), aby skopiować kod lub polecenie.
Wklej kod lub polecenie do sesji usługi Cloud Shell, wybierając Ctrl+Shift V w systemach Windows i Linux lub wybierając pozycję Cmd+Shift++V w systemie macOS.
Wybierz Enter, aby uruchomić kod lub polecenie.
Logowanie się do platformy Azure
Aby zalogować się do platformy Azure przy użyciu interfejsu wiersza polecenia, możesz wpisać:
az login
Aby uzyskać więcej informacji na temat opcji logowania za pośrednictwem interfejsu wiersza polecenia, zobacz Logowanie się za pomocą interfejsu wiersza polecenia platformy Azure
Uwaga
Wszystkie poniższe polecenia pokazują dwie metody użycia. Jeden z parametrów --hsm-name i --name (dla nazwy klucza) i drugi przy użyciu parametru --id , gdzie 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.
Uwaga
Niektóre interakcje z materiałem klucza wymagają określonych lokalnych uprawnień kontroli dostępu opartej na rolach. Pełną listę wbudowanych ról i uprawnień RBAC lokalnych można znaleźć w temacie Managed HSM local RBAC built-in roles (Zarządzane role wbudowane RBAC zarządzanego modułu HSM). Aby przypisać te uprawnienia do użytkownika, zobacz Bezpieczny dostęp do zarządzanych modułów HSM
Tworzenie klucza HSM
Uwaga
Nie można wyeksportować klucza wygenerowanego lub zaimportowanego do zarządzanego modułu HSM. Zapoznaj się z zalecanymi najlepszymi rozwiązaniami dotyczącymi przenośności i trwałości.
Użyj az keyvault key create
polecenia , aby utworzyć klucz.
Tworzenie klucza RSA
W poniższym przykładzie pokazano, jak utworzyć 3072-bitowy klucz RSA , który będzie używany tylko do operacji wrapKey, unwrapKey (--ops).
az keyvault key create --hsm-name ContosoMHSM --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://ContosoMHSM.managedhsm.azure.net/keys/myrsakey --ops wrapKey unwrapKey --kty RSA-HSM --size 3072
Należy pamiętać, że get
operacja zwraca tylko klucz publiczny i atrybuty klucza. Nie zwraca klucza prywatnego (w przypadku klucza asymetrycznego lub materiału klucza (w przypadku klucza symetrycznego).
Tworzenie klucza EC
W poniższym przykładzie pokazano, jak utworzyć klucz EC z krzywą P-256, która będzie używana tylko do podpisywania i weryfikowania operacji (--ops) i ma dwa tagi, użycie i nazwę aplikacji. Tagi ułatwiają dodawanie dodatkowych metadanych do klucza na potrzeby śledzenia i zarządzania nimi.
az keyvault key create --hsm-name ContosoMHSM --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://ContosoMHSM.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 poniższym przykładzie pokazano, jak utworzyć 256-bitowy klucz symetryczny , który będzie używany tylko do operacji szyfrowania i odszyfrowywania (--ops).
az keyvault key create --hsm-name ContosoMHSM --name myaeskey --ops encrypt decrypt --tags --kty oct-HSM --size 256
## OR
# Note the key name (myaeskey) in the URI
az keyvault key create --id https://ContosoMHSM.managedhsm.azure.net/keys/myaeskey --ops encrypt decrypt --tags ‘usage=signing] appname=myapp’ --kty oct-HSM --size 256
Wyświetlanie atrybutów kluczy i tagów
Użyj az keyvault key show
polecenia , aby wyświetlić atrybuty, wersje i tagi klucza.
az keyvault key show --hsm-name ContosoHSM --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key show --id https://ContosoMHSM.managedhsm.azure.net/keys/myrsakey
Wyświetlanie listy kluczy
Użyj az keyvault key list
polecenia , aby wyświetlić listę wszystkich kluczy wewnątrz zarządzanego modułu HSM.
az keyvault key list --hsm-name ContosoHSM
## OR
# use full URI
az keyvault key list --id https://ContosoMHSM.managedhsm.azure.net/
Usuń klucz
Użyj az keyvault key delete
polecenia , aby usunąć klucz z zarządzanego modułu HSM. Należy pamiętać, że usuwanie nietrwałe jest zawsze włączone. W związku z tym usunięty klucz pozostanie w stanie usunięcia i można go odzyskać, dopóki liczba dni przechowywania nie upłynął, gdy klucz zostanie przeczyszczone (trwale usunięte) bez możliwości odzyskiwania.
az keyvault key delete --hsm-name ContosoHSM --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key delete --id https://ContosoMHSM.managedhsm.azure.net/keys/myrsakey
Wyświetlanie listy usuniętych kluczy
Użyj az keyvault key list-deleted
polecenia , aby wyświetlić listę wszystkich kluczy w stanie usuniętym w zarządzanym module HSM.
az keyvault key list-deleted --hsm-name ContosoHSM
## OR
# use full URI
az keyvault key list-deleted --id https://ContosoMHSM.managedhsm.azure.net/
Odzyskiwanie (cofanie usunięcia) usuniętego klucza
Użyj az keyvault key list-deleted
polecenia , aby wyświetlić listę wszystkich kluczy w stanie usuniętym w zarządzanym module HSM. Jeśli musisz odzyskać (cofnąć) klucz przy użyciu parametru --id podczas odzyskiwania usuniętego klucza, musisz zanotować recoveryId
wartość usuniętego klucza uzyskanego az keyvault key list-deleted
z polecenia .
az keyvault key recover --hsm-name ContosoHSM --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key recover --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey
Przeczyszczanie (trwałe usuwanie) klucza
Użyj az keyvault key purge
polecenia , aby przeczyścić (trwale usunąć) klucz.
Uwaga
Jeśli zarządzany moduł HSM ma włączoną ochronę przeczyszczania, operacja przeczyszczania nie będzie dozwolona. Klucz zostanie automatycznie przeczyszczone po upływie okresu przechowywania.
az keyvault key purge --hsm-name ContosoHSM --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key purge --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey
Tworzenie pojedynczej kopii zapasowej klucza
Użyj az keyvault key backup
polecenia , aby utworzyć kopię zapasową klucza. Plik kopii zapasowej jest zaszyfrowanym obiektem blob kryptograficznym powiązanym z domeną zabezpieczeń źródłowego modułu HSM. Można go przywrócić tylko w modułach HSM, które współużytkujące tę samą domenę zabezpieczeń. Przeczytaj więcej na temat domeny zabezpieczeń.
az keyvault key backup --hsm-name ContosoHSM --name myrsakey --file myrsakey.backup
## OR
# Note the key name (myaeskey) in the URI
az keyvault key backup --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey --file myrsakey.backup
Przywracanie pojedynczego klucza z kopii zapasowej
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
Przywracanie nie powiedzie się, jeśli klucz o tej samej nazwie istnieje w stanie aktywnym lub usuniętym.
az keyvault key restore --hsm-name ContosoHSM --name myrsakey --file myrsakey.backup
## OR
# Note the key name (myaeskey) in the URI
az keyvault key restore --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey --file myrsakey.backup
Importowanie klucza z pliku
Użyj az keyvault key import
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 ContosoHSM --name myrsakey --pem-file mycert.key --pem-password 'mypassword'
## OR
# Note the key name (myaeskey) in the URI
az keyvault key recover --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey --pem-file mycert.key --password 'mypassword'
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)
Następne kroki
- Aby uzyskać pełną dokumentację interfejsu wiersza polecenia platformy Azure dla poleceń magazynu kluczy, zobacz Dokumentacja interfejsu wiersza polecenia usługi Key Vault.
- Aby zapoznać się z dokumentacją dotyczącą programowania, zobacz przewodnik dewelopera usługi Azure Key Vault
- Dowiedz się więcej o zarządzaniu rolami zarządzanego modułu HSM
- Dowiedz się więcej o najlepszych rozwiązaniach dotyczących zarządzanego modułu HSM