Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
Key Vault поддерживает два типа ресурсов: хранилища и управляемые виртуальные машины HSM. Эта статья посвящена управляемому HSM. Сведения об управлении хранилищем см. в статье Quickstart: создание хранилища ключей с помощью Azure CLI.
В этой статье приведены практические инструкции по управлению ролями и назначениями ролей для управляемого устройства HSM с помощью Azure CLI. Она реализует модель управления доступом на основе ролей, описанную в разделе "Управление доступом для управляемого устройства HSM ", используя встроенные роли, описанные в встроенных ролях локального RBAC для управляемого устройства HSM.
Общие сведения об управляемом HSM см. в статье Что такое управляемое устройство HSM? Если у вас нет подписки Azure, создайте учетную запись бесплатную перед началом работы.
Чтобы разрешить субъекту безопасности (например, пользователю, субъекту-службе, группе или управляемому удостоверению) выполнять управляемые операции уровня данных HSM, назначьте им роль, которая разрешает эти операции. Например, если вы хотите разрешить приложению выполнять операцию подписи с помощью ключа, назначьте ей роль, содержащую Майкрософт.KeyVault/managedHSM/keys/sign/action в качестве одного из действий с данными. Назначьте роль в определенной области. Локальная RBAC для управляемых HSM поддерживает два уровня: для всего HSM (/ или /keys) и для каждого ключа (/keys/<key-name>).
Список всех встроенных ролей управляемого устройства HSM и разрешенных операций см. в разделе "Встроенные роли управляемого устройства HSM".
Предпосылки
Требуется Azure подписка. Если у вас еще нет аккаунта, создайте бесплатную учетную запись, прежде чем начать.
Кроме того, вам понадобится следующее:
- Azure CLI версии 2.25.0 или более поздней. Чтобы узнать версию, выполните команду
az --version. Если необходимо установить или обновить, ознакомьтесь с Install Azure CLI. - Управляемый модуль безопасности (HSM) в вашей подписке. См. раздел Quickstart: подготовка и активация управляемого модуля HSM с помощью Azure CLI.
Azure Cloud Shell
Azure предоставляет Azure Cloud Shell, интерактивную среду оболочки, которую можно использовать через браузер. Вы можете использовать Bash или PowerShell с Cloud Shell для работы со службами Azure. Вы можете использовать предварительно установленные команды Cloud Shell для запуска кода в этой статье, не устанавливая ничего в локальной среде.
Чтобы начать Azure Cloud Shell, выполните приведенные действия.
| Вариант | Пример/ссылка |
|---|---|
| Выберите "Попробовать" в правом верхнем углу кода или блока команд. Выбор Try It не копирует код или команду в Cloud Shell. |
|
| Перейдите к https://shell.azure.com или нажмите кнопку Launch Cloud Shell, чтобы открыть Cloud Shell в браузере. | Кнопка для запуска Azure Cloud Shell. |
| Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу на портале Azure. |
|
Чтобы использовать Azure Cloud Shell:
Запустите Cloud Shell.
Нажмите кнопку "Копировать " в блоке кода (или блоке команд), чтобы скопировать код или команду.
Вставьте код или команду в сеанс Cloud Shell, выбрав Ctrl+Shift+V в Windows и Linux, или выбрав Cmd+Shift+V в macOS.
Нажмите клавишу ввода, чтобы запустить код или команду.
Вход в Azure
Чтобы войти в Azure с помощью интерфейса командной строки, введите следующее:
az login
Дополнительные сведения о параметрах проверки подлинности с помощью интерфейса командной строки см. в разделе Sign in with Azure CLI.
Создание нового назначения роли
Назначьте роли для всех ключей
Используйте az keyvault role assignment create команду, чтобы назначить роль управляемого пользователя шифрования HSM пользователю, определяемую именем <user-principal-name> субъекта-пользователя для всех ключей (области /keys) в разделе <hsm-name>.
az keyvault role assignment create --hsm-name <hsm-name> --role "Managed HSM Crypto User" --assignee <user-principal-name> --scope /keys
Назначение роли для конкретного ключа
Используйте команду az keyvault role assignment create, чтобы назначить пользователю, определяемому основным именем пользователя , роль <user-principal-name> для определенного ключа <key-name>.
az keyvault role assignment create --hsm-name <hsm-name> --role "Managed HSM Crypto User" --assignee <user-principal-name> --scope /keys/<key-name>
Перечисление существующих назначений ролей
Используйте az keyvault role assignment list, чтобы перечислить назначения ролей.
Все назначения ролей в области (это вариант по умолчанию, если не указан аргумент --scope) для всех пользователей (вариант по умолчанию, если не указан аргумент --assignee)
az keyvault role assignment list --hsm-name <hsm-name>
Все назначения ролей на уровне HSM для конкретного пользователя <user-principal-name>.
az keyvault role assignment list --hsm-name <hsm-name> --assignee <user-principal-name>
Примечание.
Если для области указан символ / (или /keys), команда list перечисляет все назначения ролей на верхнем уровне и не выводит назначения ролей на уровне отдельных ключей.
Все назначения ролей для конкретного пользователя <user-principal-name> для определенного ключа <key-name>.
az keyvault role assignment list --hsm-name <hsm-name> --assignee <user-principal-name> --scope /keys/<key-name>
Назначение определенной роли для сотрудника по шифрованию управляемого устройства HSM для конкретного пользователя <user-principal-name> для определенного ключа <key-name>
az keyvault role assignment list --hsm-name <hsm-name> --assignee <user-principal-name> --scope /keys/<key-name> --role "Managed HSM Crypto Officer"
Удалить назначение роли
Используйте az keyvault role assignment delete команду, чтобы удалить роль директора по шифрованию управляемого устройства HSM , назначенную пользователю <user-principal-name> для ключа <key-name>.
az keyvault role assignment delete --hsm-name <hsm-name> --role "Managed HSM Crypto Officer" --assignee <user-principal-name> --scope /keys/<key-name>
Список всех доступных определений ролей
Команда az keyvault role definition list возвращает список всех определений ролей.
az keyvault role definition list --hsm-name <hsm-name>
Создание новой роли
Управляемый модуль HSM имеет несколько встроенных (заранее определенных) ролей, которые могут быть полезны в наиболее распространенных сценариях использования. Вы можете определить собственную роль с помощью списка конкретных действий, которые может выполнять роль. Затем эту роль можно назначить основным пользователям, чтобы предоставить им разрешение на назначенные действия.
Используйте az keyvault role definition create команду для роли с именем "Моя настраиваемая роль " с помощью строки JSON.
az keyvault role definition create --hsm-name <hsm-name> --role-definition '{
"roleName": "My Custom Role",
"description": "The description of the custom rule.",
"actions": [],
"notActions": [],
"dataActions": [
"Microsoft.KeyVault/managedHsm/keys/read/action"
],
"notDataActions": []
}'
Используйте az keyvault role definition create команду для роли из файла с именем my-custom-role-definition.json , содержащей строку JSON для определения роли. пример выше.
az keyvault role definition create --hsm-name <hsm-name> --role-definition @my-custom-role-definition.json
Отображение сведений об определении роли
Используйте команду az keyvault role definition show для просмотра сведений об определении конкретной роли с помощью имени (GUID).
az keyvault role definition show --hsm-name <hsm-name> --name xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Обновление определения пользовательской роли
Используйте az keyvault role definition update команду для обновления роли с именем "Моя настраиваемая роль " с помощью строки JSON.
az keyvault role definition create --hsm-name <hsm-name> --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": []
}'
Удалить определение пользовательской роли
Используйте команду Azure CLI az keyvault role definition delete, чтобы удалить определение пользовательской роли с помощью имени (GUID).
az keyvault role definition delete --hsm-name <hsm-name> --name xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Примечание.
Встроенные роли невозможно удалить. Если удалить пользовательские роли, все назначения ролей, использующие эту пользовательскую роль, станут недействительными.
Дальнейшие действия
- Обзор управления доступом на основе ролей в Azure (Azure RBAC).
- Узнайте больше о модели контроля доступа управляемого HSM
- Просмотр всех встроенных ролей для локального RBAC управляемого модуля HSM