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:

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. Screenshot that shows an example of Try It for Azure Cloud Shell.
Przejdź do witryny https://shell.azure.com lub wybierz przycisk Uruchom Cloud Shell, aby otworzyć środowisko Cloud Shell w przeglądarce. Button to launch Azure Cloud Shell.
Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu witryny Azure Portal. Screenshot that shows the Cloud Shell button in the Azure portal

Aby użyć usługi Azure Cloud Shell:

  1. Uruchom usługę Cloud Shell.

  2. Wybierz przycisk Kopiuj w bloku kodu (lub bloku poleceń), aby skopiować kod lub polecenie.

  3. Wklej kod lub polecenie do sesji usługi Cloud Shell, wybierając klawisze Ctrl+Shift V w systemach Windows i Linux lub wybierając pozycję Cmd+Shift++V w systemie macOS.

  4. Wybierz klawisz 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 --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