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:
- 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
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
- Zapoznaj się z omówieniem kontroli dostępu opartej na rolach (RBAC) platformy Azure.
- Zobacz samouczek dotyczący zarządzania rolami zarządzanego modułu HSM
- Dowiedz się więcej o modelu kontroli dostępu zarządzanego modułu HSM
- Zobacz wszystkie wbudowane role dla lokalnej kontroli dostępu opartej na rolach zarządzanego modułu HSM