Zarządzanie rolami zarządzanego modułu HSM

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.

W tym artykule pokazano, jak zarządzać rolami dla zarządzanej płaszczyzny danych modułu HSM. Aby dowiedzieć się więcej o modelu kontroli dostępu zarządzanego modułu HSM, zobacz Managed HSM access control (Zarządzana kontrola dostępu modułu HSM).

Aby umożliwić jednostce zabezpieczeń (takim jak użytkownik, jednostka usługi, grupa lub tożsamość zarządzana) do wykonywania zarządzanych operacji płaszczyzny danych modułu HSM, muszą mieć przypisaną rolę zezwalającą na wykonywanie tych operacji. Jeśli na przykład chcesz zezwolić aplikacji na wykonywanie operacji podpisywania przy użyciu klucza, musi mieć przypisaną rolę zawierającą "Microsoft.KeyVault/managedHSM/keys/sign/action" jako jedną z akcji danych. Rolę można przypisać w określonym zakresie. Zarządzana lokalna kontrola dostępu oparta na rolach modułu HSM obsługuje dwa zakresy, szeroki moduł HSM (/ lub /keys) i na klucz (/keys/<keyname>).

Aby uzyskać listę wszystkich wbudowanych ról zarządzanych modułów HSM i operacji, które zezwalają, zobacz Zarządzane role wbudowane modułu HSM.

Wymagania wstępne

Aby użyć poleceń interfejsu wiersza polecenia platformy Azure 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

Tworzenie nowego przypisania roli

Przypisywanie ról dla wszystkich kluczy

Użyj az keyvault role assignment create polecenia , aby przypisać rolę zarządzanego użytkownika kryptograficznego modułu HSM do użytkownika zidentyfikowanego przez główną nazwę user2@contoso.com użytkownika dla wszystkich kluczy (zakres /keys) w firmie ContosoHSM.

az keyvault role assignment create --hsm-name ContosoMHSM --role "Managed HSM Crypto User" --assignee user2@contoso.com  --scope /keys

Przypisywanie roli dla określonego klucza

Użyj az keyvault role assignment create polecenia , aby przypisać rolę użytkownika kryptograficznego zarządzanego modułu HSM do użytkownika zidentyfikowanego przez główną nazwę user2@contoso.com użytkownika dla określonego klucza o nazwie myrsakey.

az keyvault role assignment create --hsm-name ContosoMHSM --role "Managed HSM Crypto User" --assignee user2@contoso.com  --scope /keys/myrsakey

Wyświetlanie listy istniejących przypisań ról

Użyj az keyvault role assignment list polecenia , aby wyświetlić listę przypisań ról.

Wszystkie przypisania ról w zakresie / (ustawienie domyślne, gdy nie określono parametru --scope) dla wszystkich użytkowników (ustawienie domyślne, gdy nie określono parametru --assignee)

az keyvault role assignment list --hsm-name ContosoMHSM

Wszystkie przypisania ról na poziomie modułu HSM dla określonego użytkownika user1@contoso.com.

az keyvault role assignment list --hsm-name ContosoMHSM --assignee user@contoso.com

Uwaga

Gdy zakres to /(lub /keys), polecenie listy wyświetla tylko wszystkie przypisania ról na najwyższym poziomie i nie wyświetla przypisań ról na poziomie poszczególnych kluczy.

Wszystkie przypisania ról dla określonego użytkownika user2@contoso.com dla określonego klucza myrsakey.

az keyvault role assignment list --hsm-name ContosoMHSM --assignee user2@contoso.com --scope /keys/myrsakey

Określone przypisanie roli dla zarządzanego przez moduł kryptograficzny HSM roli dla określonego użytkownika user2@contoso.com dla określonego klucza myrsakey

az keyvault role assignment list --hsm-name ContosoMHSM --assignee user2@contoso.com --scope /keys/myrsakey --role "Managed HSM Crypto Officer"

Usuwanie przypisania roli

Użyj az keyvault role assignment delete polecenia , aby usunąć przypisaną użytkownikowi user2@contoso.com rolę zarządzanego oficera kryptograficznego HSM dla klucza myrsakey2.

az keyvault role assignment delete --hsm-name ContosoMHSM --role "Managed HSM Crypto Officer" --assignee user2@contoso.com  --scope /keys/myrsakey2

Wyświetlanie listy wszystkich dostępnych definicji ról

Użyj az keyvault role definition list polecenia , aby wyświetlić listę wszystkich definicji ról.

az keyvault role definition list --hsm-name ContosoMHSM

Tworzenie nowej definicji roli

Zarządzany moduł HSM ma kilka wbudowanych (wstępnie zdefiniowanych) ról, które są przydatne w przypadku najbardziej typowych scenariuszy użycia. Możesz zdefiniować własną rolę z listą określonych akcji, które rola może wykonać. Następnie możesz przypisać tę rolę do podmiotów zabezpieczeń, aby przyznać im uprawnienia do określonych akcji.

Użyj az keyvault role definition create polecenia do roli o nazwie Moja rola niestandardowa przy użyciu ciągu JSON.

az keyvault role definition create --hsm-name ContosoMHSM --role-definition '{
    "roleName": "My Custom Role",
    "description": "The description of the custom rule.",
    "actions": [],
    "notActions": [],
    "dataActions": [
        "Microsoft.KeyVault/managedHsm/keys/read/action"
    ],
    "notDataActions": []
}'

Użyj az keyvault role definition create polecenia do roli z pliku o nazwie my-custom-role-definition.json zawierającego ciąg JSON dla definicji roli. Zobacz przykład powyżej.

az keyvault role definition create --hsm-name ContosoMHSM --role-definition @my-custom-role-definition.json

Pokaż szczegóły definicji roli

Użyj az keyvault role definition show polecenia , aby wyświetlić szczegóły określonej definicji roli przy użyciu nazwy (identyfikator GUID).

az keyvault role definition show --hsm-name ContosoMHSM --name xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Aktualizowanie niestandardowej definicji roli

Użyj az keyvault role definition update polecenia , aby zaktualizować rolę o nazwie Moja rola niestandardowa przy użyciu ciągu JSON.

az keyvault role definition create --hsm-name ContosoMHSM --role-definition '{
            "roleName": "My Custom Role",
            "name": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "id": "Microsoft.KeyVault/providers/Microsoft.Authorization/roleDefinitions/xxxxxxxx-
        xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "description": "The description of the custom rule.",
            "actions": [],
            "notActions": [],
            "dataActions": [
                "Microsoft.KeyVault/managedHsm/keys/read/action",
                "Microsoft.KeyVault/managedHsm/keys/write/action",
                "Microsoft.KeyVault/managedHsm/keys/backup/action",
                "Microsoft.KeyVault/managedHsm/keys/create"
            ],
            "notDataActions": []
        }'

Usunięcie niestandardowej definicji roli

Użyj az keyvault role definition delete polecenia , aby wyświetlić szczegóły określonej definicji roli przy użyciu nazwy (identyfikator GUID).

az keyvault role definition delete --hsm-name ContosoMHSM --name xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Uwaga

Nie można usunąć ról wbudowanych. Po usunięciu ról niestandardowych wszystkie przypisania ról używające tej roli niestandardowej stają się nieistniejące.

Następne kroki