Управление ролями в службе "Управляемое устройство 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 Cloud Shell
В 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
Чтобы войти в 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".