Управление ролями в службе "Управляемое устройство HSM"
Примечание
Key Vault поддерживает два типа ресурсов: хранилища и управляемые устройства HSM. Эта статья посвящена Управляемому устройству HSM. Если вы хотите узнать, как управлять хранилищем, см. статью Управление Key Vault с помощью Azure CLI.
Общие сведения о службе "Управляемое устройство HSM" см. в статье Что собой представляет служба "Управляемое устройство HSM"? Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
В этой статье описывается, как управлять ролями для плоскости данных Управляемого устройства HSM. Дополнительные сведения о модели контроля доступа к Управляемому устройству HSM см. здесь.
Чтобы субъект безопасности (будь то пользователь, субъект-служба, группа или управляемое удостоверение) мог выполнять операции плоскости данных на управляемом устройстве HSM, ему должна быть назначена роль с разрешениями на выполнение этих операций. Например, если ваше приложение должно выполнять операцию подписывания с помощью ключа, ему должна быть присвоена роль, которая содержит действие с данными Microsoft.KeyVault/managedHSM/keys/sign/action. Роль назначается в определенной области действия. Локальная система RBAC для управляемых устройств HSM поддерживает две области: для всего HSM (/
или /keys
) и для конкретного ключа (/keys/<keyname>
).
Полный список встроенных ролей Управляемого устройства HSM и операций, которые они позволяют выполнять, см. здесь.
Чтобы использовать команды Azure CLI из этой строки, вам необходимо следующее:
- Подписка на Microsoft Azure. Если у вас ее нет, зарегистрируйтесь, чтобы воспользоваться бесплатной пробной версией.
- Azure CLI 2.25.0 или более поздней версии. Чтобы узнать версию, выполните команду
az --version
. Если вам необходимо выполнить установку или обновление, обратитесь к статье Установка Azure CLI. - Управляемое устройство HSM в подписке. Выполните действия из статьи Краткое руководство. Подготовка и активация управляемого устройства HSM с помощью Azure CLI.
В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.
Начало работы с Azure Cloud Shell
Вариант | Пример и ссылка |
---|---|
Нажмите кнопку Попробовать в правом верхнем углу блока кода или команд. При нажатии кнопки Попробовать код или команда не копируется в Cloud Shell автоматически. | ![]() |
Чтобы открыть Cloud Shell в браузере, перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell. | ![]() |
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. | ![]() |
Чтобы использовать Azure Cloud Shell, выполните следующие действия:
Запустите Cloud Shell.
Нажмите кнопку Копировать в блоке кода (или блоке команд), чтобы скопировать код или команду.
Вставьте код или команду в окно сеанса Cloud Shell, нажав клавиши CTRL+SHIFT+V в Windows и Linux или CMD+SHIFT+V в macOS.
Нажмите клавишу ВВОД, чтобы запустить код или команду.
Чтобы войти в Azure с помощью CLI, введите следующее:
az login
Дополнительные сведения о вариантах входа с помощью Azure CLI см. в этой статье.
Используйте команду az keyvault role assignment create
, чтобы назначить роль пользователя Managed HSM Crypto пользователю, идентифицируемому по имени участника-пользователя user2@contoso.com, для всех ключей (область /keys
) в ContosoHSM.
az keyvault role assignment create --hsm-name ContosoMHSM --role "Managed HSM Crypto User" --assignee user2@contoso.com --scope /keys
Используйте команду az keyvault role assignment create
, чтобы назначить роль пользователя Managed HSM Crypto пользователю, идентифицируемому по имени участника-пользователя user2@contoso.com для определенного ключа с именем myrsakey.
az keyvault role assignment create --hsm-name ContosoMHSM --role "Managed HSM Crypto User" --assignee user2@contoso.com --scope /keys/myrsakey
Команда az keyvault role assignment list
возвращает список назначений ролей.
Все назначения ролей в области (это вариант по умолчанию, если не указан аргумент --scope) для всех пользователей (вариант по умолчанию, если не указан аргумент --assignee)
az keyvault role assignment list --hsm-name ContosoMHSM
Все назначения ролей на уровне HSM для конкретного пользователя user1@contoso.com.
az keyvault role assignment list --hsm-name ContosoMHSM --assignee user@contoso.com
Примечание
Если для области указан символ / (или /keys), команда list перечисляет все назначения ролей на верхнем уровне и не выводит назначения ролей на уровне отдельных ключей.
Все назначения ролей для конкретного пользователя user2@contoso.com для конкретного ключа myrsakey.
az keyvault role assignment list --hsm-name ContosoMHSM --assignee user2@contoso.com --scope /keys/myrsakey
Конкретное назначение роли Managed HSM Crypto Officer (Специалист по криптографии для Управляемого устройства HSM) для конкретного пользователя user2@contoso.com для конкретного ключа myrsakey.
az keyvault role assignment list --hsm-name ContosoMHSM --assignee user2@contoso.com --scope /keys/myrsakey --role "Managed HSM Crypto Officer"
Команда az keyvault role assignment delete
позволяет удалить роль Managed HSM Crypto Officer (Специалист по криптографии для Управляемого устройства HSM), назначенную пользователю user2@contoso.com для ключа myrsakey2.
az keyvault role assignment delete --hsm-name ContosoMHSM --role "Managed HSM Crypto Officer" --assignee user2@contoso.com --scope /keys/myrsakey2
Команда az keyvault role definition list
возвращает список всех определений ролей.
az keyvault role definition list --hsm-name ContosoMHSM
Управляемый модуль HSM имеет несколько встроенных (заранее определенных) ролей, которые могут быть полезны в наиболее распространенных сценариях использования. Вы можете определить собственную роль с помощью списка конкретных действий, которые может выполнять роль. Затем эту роль можно назначить участникам, чтобы предоставить им разрешение на указанные действия.
Используйте команду az keyvault role definition create
для роли с именем Моя пользовательская роль, используя строку 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": []
}'
Используйте команду az keyvault role definition create
для роли из файла с именем my-custom-role-definition.js, содержащего строку JSON для определения роли. пример выше.
az keyvault role definition create --hsm-name ContosoMHSM --role-definition @my-custom-role-definition.json
Используйте команду az keyvault role definition show
для просмотра сведений об определении конкретной роли с помощью имени (GUID).
az keyvault role definition show --hsm-name ContosoMHSM --name xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Используйте команду az keyvault role definition update
для обновления роли с именем Моя пользовательская роль, используя строку 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": []
}'
Используйте команду az keyvault role definition delete
для просмотра сведений об определении конкретной роли с помощью имени (GUID).
az keyvault role definition delete --hsm-name ContosoMHSM --name xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Примечание
Встроенные роли невозможно удалить. Если удалить пользовательские роли, все назначения ролей, использующие эту пользовательскую роль, перестанут функционировать.
- См. общие сведения об управлении доступом на основе ролей в Azure (Azure RBAC).
- См. руководство Управление ролями в службе "Управляемое устройство HSM"
- Узнайте больше о модели контроля доступом в службе "Управляемое устройство HSM".
- Ознакомьтесь со списком встроенных ролей в локальной системе RBAC службы "Управляемое устройство HSM".