Udostępnij przez


Zarządzanie kluczami w zarządzanym module HSM platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure

Uwaga / Notatka

Usługa Key Vault obsługuje dwa typy zasobów: magazyny i zarządzane moduły HSM. Ten artykuł dotyczy Managed HSM. Jeśli chcesz dowiedzieć się, jak zarządzać Key Vaultem, zobacz Zarządzanie Key Vaultem 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?

Wymagania wstępne

Aby wykonać kroki opisane w tym artykule, musisz mieć następujące elementy:

Azure Cloud Shell

Na platformie Azure hostowane jest interaktywne środowisko wiersza poleceń Azure Cloud Shell, z którego można korzystać przez przeglądarkę. 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/łącze
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. Zrzut ekranu przedstawiający przykład narzędzia Try It dla usługi Azure Cloud Shell.
Przejdź do witryny https://shell.azure.com lub wybierz przycisk Uruchom Cloud Shell, aby otworzyć środowisko Cloud Shell w przeglądarce. Przycisk uruchamiania usługi Azure Cloud Shell.
Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu witryny Azure Portal. Zrzut ekranu przedstawiający przycisk usługi Cloud Shell w witrynie 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 pozycję Ctrl+Shift+V w systemach Windows i Linux lub wybierając pozycję Cmd+Shift+V w systemie macOS.

  4. Wybierz Enter, aby uruchomić kod lub polecenie.

Zaloguj się do Azure

Zaloguj się do platformy Azure przy użyciu interfejsu wiersza polecenia, wpisując:

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 / Notatka

Wszystkie poniższe polecenia pokazują dwie metody użycia. Jeden sposób korzysta z parametrów --hsm-name i --name (dla nazwy klucza), a drugi sposób wykorzystuje parametr --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.

Uwaga / Notatka

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. 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 tym przykładzie pokazano, jak utworzyć 3072-bitowy klucz RSA , który jest 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 (jeśli klucz asymetryczny) ani materiału klucza (jeśli klucz symetryczny).

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 tym 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

Lista 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. 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 momentu upływu liczby dni przechowywania, po którym klucz jest trwale usuwany bez możliwości odzyskania.

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ć (przywrócić) klucz przy użyciu parametru --id podczas odzyskiwania usuniętego klucza, musisz zanotować wartość recoveryId usuniętego klucza uzyskanego z polecenia az keyvault key list-deleted.

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 / Notatka

Jeśli zarządzana funkcja HSM ma włączoną ochronę przeczyszczania, operacja przeczyszczania nie jest dozwolona. Klucz jest automatycznie czyszczony 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 / Notatka

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)

Dalsze kroki