Udostępnij przez


Moduł zarządzania rolami HSM

Uwaga

Usługa Key Vault obsługuje dwa typy zasobów: skarbce i zarządzane moduły HSM. Ten artykuł dotyczy Managed HSM. Jeśli chcesz nauczyć się, jak zarządzać skarbcem, zobacz Zarządzanie Azure Key Vault przy użyciu interfejsu wiersza polecenia.

Ten artykuł zawiera praktyczne instrukcje dotyczące zarządzania rolami i przypisaniami ról dla zarządzanego modułu HSM przy użyciu interfejsu wiersza polecenia platformy Azure. Implementuje model kontroli dostępu opartego na rolach, opisany w artykule Kontrola dostępu dla zarządzanego HSM, przy użyciu wbudowanych ról podanych w dokumencie Lokalne wbudowane role RBAC dla zarządzanego HSM.

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 .

Aby umożliwić jednostce zabezpieczeń (takiej jak użytkownik, jednostka usługi, grupa lub tożsamość zarządzana), wykonywać zarządzane operacje płaszczyzny danych modułu HSM, należy przypisać im rolę, która pozwala 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: na poziomie całego modułu HSM (/ lub /keys) i na poziomie klucza (/keys/<keyname>).

Aby uzyskać listę wszystkich wbudowanych ról Managed HSM i operacji, na które pozwalają, zobacz Wbudowane role Managed 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 platformie Azure hostowane jest środowisko wiersza poleceń Azure Cloud Shell, z którego można korzystać poprzez 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 https://shell.azure.comstrony lub wybierz przycisk Uruchom usługę Cloud Shell , aby otworzyć usługę 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 Ctrl+Shift+ w systemach Windows i Linux lub wybierając pozycję Cmd++V w systemie macOS.

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

Zaloguj się na platformie 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 polecenia az keyvault role assignment create do przypisania roli zarządzanego użytkownika HSM Crypto do użytkownika zidentyfikowanego przez główną nazwę użytkownika user2@contoso.com dla wszystkich kluczy (dla zakresu /keys) w 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

Wymień istniejące przypisania 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 Managed HSM Crypto Officer dla określonego użytkownika user2@contoso.com do 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 rolę user2@contoso.com 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ę podmiotom, 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 polecenia az keyvault role definition show, aby wyświetlić szczegóły określonej definicji roli przy użyciu nazwy, czyli identyfikatora 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 polecenia az keyvault role definition delete interfejsu wiersza polecenia platformy Azure, aby usunąć niestandardową definicję roli przy użyciu nazwy (identyfikatora 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