Поделиться через


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

Примечание.

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

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

Предпосылки

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

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. Кнопка запуска Azure Cloud Shell.
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. Снимок экрана: кнопка

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

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

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

  3. Вставьте код или команду в сеанс Cloud Shell, выбрав CTRL+SHIFT+V в Windows и Linux или выбрав Cmd+Shift+V в macOS.

  4. Выберите , затем нажмите для выполнения кода или команды.

Вход в Azure

Войдите в Azure с помощью интерфейса командной строки, введя следующую команду:

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-разрядный симметричный ключ, который будет использоваться только для операций шифрования и расшифровки (--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).

Дальнейшие действия