Управление Управляемым устройством HSM с помощью Azure CLI
Примечание.
Key Vault поддерживает два типа ресурсов: хранилища и управляемые устройства HSM. Эта статья посвящена Управляемому устройству HSM. Если вы хотите узнать, как управлять хранилищем, см. статью Управление Key Vault с помощью Azure CLI.
Общие сведения об Управляемом устройстве HSM см. в статье Что собой представляет служба "Управляемое устройство HSM"?
Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
Необходимые компоненты
Чтобы выполнить действия, описанные в этой статье, вам потребуется следующее:
- Подписка на 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 см. в этой статье.
Примечание.
В каждой из представленных ниже команд демонстрируются два метода использования. Один с помощью параметров --hsm-name и --name (для имени ключа) и другой с помощью параметра --id, где можно указать весь URL-адрес, включая имя ключа, где это необходимо. Второй метод полезен в тех случаях, когда вызывающая сторона (пользователь или приложение) не имеет доступа на чтение к плоскости управления и имеет только ограниченный доступ к плоскости данных.
Примечание.
Для некоторых взаимодействий с материалом ключа требуются определенные локальные разрешения RBAC. Полный список встроенных ролей и разрешений локального RBAC см. в разделе "Встроенные роли локального RBAC для управляемого устройства HSM". Сведения о назначении этих разрешений пользователю см. в статье Безопасный доступ к управляемым модулям HSM.
Создание ключа HSM
Примечание.
Ключ, созданный в управляемом модуле HSM или импортированный в него, нельзя экспортировать. Ознакомьтесь с рекомендациями по переносимости и устойчивости ключей.
Для создания ключа используйте команду az keyvault key create
.
Создание ключа RSA
В следующем примере показано, как создать 3072-битный ключ RSA, который будет использоваться только для операций wrapKey и unwrapKey (задаются параметром --ops).
az keyvault key create --hsm-name ContosoMHSM --name myrsakey --ops wrapKey unwrapKey --kty RSA-HSM --size 3072
## OR
# Note the key name (myrsakey) in the URI
az keyvault key create --id https://ContosoMHSM.managedhsm.azure.net/keys/myrsakey --ops wrapKey unwrapKey --kty RSA-HSM --size 3072
Обратите внимание, что операция get
возвращает только открытый ключ и атрибуты ключа. Она не возвращает закрытый ключ (для асимметричного ключа) или материал ключа (для симметричного ключа).
Создание ключа EC
В приведенном ниже примере показано, как создать ключ EC с кривой P-256, который будет использоваться только для операций sign и verify (задаются параметром --ops) и имеет два тега: usage и appname. Эти теги помогают добавлять в ключ дополнительные метаданные для отслеживания и управления.
az keyvault key create --hsm-name ContosoMHSM --name myec256key --ops sign verify --tags ‘usage=signing] appname=myapp’ --kty EC-HSM --curve P-256
## OR
# Note the key name (myec256key) in the URI
az keyvault key create --id https://ContosoMHSM.managedhsm.azure.net/keys/myec256key --ops sign verify --tags ‘usage=signing] appname=myapp’ --kty EC-HSM --curve P-256
Создание 256-битного симметричного ключа
В следующем примере показано, как создать 256-битный симметричный ключ, который будет использоваться только для операций encrypt и decrypt (задаются параметром --ops).
az keyvault key create --hsm-name ContosoMHSM --name myaeskey --ops encrypt decrypt --tags --kty oct-HSM --size 256
## OR
# Note the key name (myaeskey) in the URI
az keyvault key create --id https://ContosoMHSM.managedhsm.azure.net/keys/myaeskey --ops encrypt decrypt --tags ‘usage=signing] appname=myapp’ --kty oct-HSM --size 256
Просмотр атрибутов и тегов ключа
Используйте команду az keyvault key show
, чтобы просмотреть атрибуты, версии и теги для ключа.
az keyvault key show --hsm-name ContosoHSM --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key show --id https://ContosoMHSM.managedhsm.azure.net/keys/myrsakey
Отобразить ключи
Команда az keyvault key list
позволяет вывести список всех ключей в управляемом устройстве HSM.
az keyvault key list --hsm-name ContosoHSM
## OR
# use full URI
az keyvault key list --id https://ContosoMHSM.managedhsm.azure.net/
Удаление ключа
Чтобы удалить ключ из управляемого устройства HSM, используйте команду az keyvault key delete
. Обратите внимание, что обратимое удаление всегда включено. Это означает, что удаленный ключ будет сохраняться в удаленном состоянии и может быть восстановлен, пока не пройдет заданное количество дней хранения. После этого ключ окончательно удаляется без возможности восстановления.
az keyvault key delete --hsm-name ContosoHSM --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key delete --id https://ContosoMHSM.managedhsm.azure.net/keys/myrsakey
Вывод списка удаленных ключей
Чтобы вывести список всех ключей в удаленном состоянии в управляемом устройстве HSM, используйте команду az keyvault key list-deleted
.
az keyvault key list-deleted --hsm-name ContosoHSM
## OR
# use full URI
az keyvault key list-deleted --id https://ContosoMHSM.managedhsm.azure.net/
Восстановление (отмена удаления) удаленного ключа
Чтобы вывести список всех ключей в удаленном состоянии в управляемом устройстве HSM, используйте команду az keyvault key list-deleted
. Если вам нужно восстановить ключ по значению параметра --id, следует записать для удаленного ключа значение recoveryId
, которое можно получить из команды az keyvault key list-deleted
.
az keyvault key recover --hsm-name ContosoHSM --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key recover --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey
Окончательное удаление ключа.
Чтобы очистить (окончательно удалить) ключ, используйте команду az keyvault key purge
.
Примечание.
Если для управляемого устройства HSM включена защита, операция очистки будет заблокирована. Такой ключ будет автоматически очищен по истечении периода хранения.
az keyvault key purge --hsm-name ContosoHSM --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key purge --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey
Создание резервной копии одного ключа
Чтобы создать резервную копию ключа, используйте команду az keyvault key backup
. Файл резервной копии — это зашифрованный большой двоичный объект, криптографически привязанный к домену безопасности исходного устройства HSM. Его можно восстановить только на тех устройствах HSM, которые подключены к тому же домену безопасности. Узнайте больше о доменах безопасности.
az keyvault key backup --hsm-name ContosoHSM --name myrsakey --file myrsakey.backup
## OR
# Note the key name (myaeskey) in the URI
az keyvault key backup --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey --file myrsakey.backup
Восстановление одного ключа из резервной копии
Чтобы восстановить один ключ, используйте команду az keyvault key restore
. Исходное устройство HSM, в котором была создана резервная копия, должно быть подключено к тому же домену безопасности, что и целевое устройство HSM, в котором восстанавливается ключ.
Примечание.
Восстановление не сможет завершиться успешно, если уже существует ключ с таким же именем в активном или удаленном состоянии.
az keyvault key restore --hsm-name ContosoHSM --name myrsakey --file myrsakey.backup
## OR
# Note the key name (myaeskey) in the URI
az keyvault key restore --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey --file myrsakey.backup
Импорт ключа из файла
Чтобы импортировать ключ (поддерживаются только ключи RSA и EC) из файла, используйте команду az keyvault key import
. Файл сертификата должен иметь закрытый ключ и использовать кодировку PEM (как определено в документах RFC 1421, 1422, 1423, 1424).
az keyvault key import --hsm-name ContosoHSM --name myrsakey --pem-file mycert.key --pem-password 'mypassword'
## OR
# Note the key name (myaeskey) in the URI
az keyvault key recover --id https://ContosoMHSM.managedhsm.azure.net/deletedKeys/myrsakey --pem-file mycert.key --password 'mypassword'
Сведения об импорте ключа из локального устройства HSM в управляемое устройство HSM см. в статье Импорт защищенных модулем HSM ключей в службу "Управляемое устройство HSM" (BYOK).
Следующие шаги
- Полное описание команд Azure CLI для хранилища ключей доступно в справочнике по интерфейсу командной строки Key Vault.
- Справочные материалы по программированию см. в статье Руководство разработчика хранилища ключей Azure.
- Подробнее об управлении ролями для Управляемого устройства HSM
- Подробнее о рекомендациях по использованию Управляемого устройства HSM