Управление Управляемым устройством HSM с помощью Azure CLI

Примечание.

Key Vault поддерживает два типа ресурсов: хранилища и управляемые устройства HSM. Эта статья посвящена Управляемому устройству HSM. Если вы хотите узнать, как управлять хранилищем, см. статью Управление Key Vault с помощью Azure CLI.

Общие сведения об Управляемом устройстве HSM см. в статье Что собой представляет служба "Управляемое устройство HSM"?

Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.

Необходимые компоненты

Чтобы выполнить действия, описанные в этой статье, вам потребуется следующее:

Azure Cloud Shell

В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.

Начало работы с Azure Cloud Shell

Вариант Пример и ссылка
Нажмите кнопку Попробовать в правом верхнем углу блока кода или команд. При нажатии кнопки Попробовать код или команда не копируется в Cloud Shell автоматически. Screenshot that shows an example of Try It for Azure Cloud Shell.
Чтобы открыть Cloud Shell в браузере, перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell. Button to launch Azure Cloud Shell.
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Чтобы использовать Azure Cloud Shell, выполните следующие действия:

  1. Запустите Cloud Shell.

  2. Нажмите кнопку Копировать в блоке кода (или блоке команд), чтобы скопировать код или команду.

  3. Вставьте код или команду в окно сеанса Cloud Shell, нажав клавиши CTRL+SHIFT+V в Windows и Linux или CMD+SHIFT+V в macOS.

  4. Нажмите клавишу ВВОД, чтобы запустить код или команду.

Вход в 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 --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).

Следующие шаги