Общие сведения об Управляемом устройстве HSM см. в статье Что собой представляет служба "Управляемое устройство HSM"?
Предпосылки
Требуется Azure подписка. Если у вас еще нет аккаунта, создайте бесплатную учетную запись, прежде чем начать.
Кроме того, вам понадобится следующее:
Примечание.
Все нижеуказанные команды показывают два способа использования CLI. Один метод использует параметры --hsm-name и --name (для имени ключа). Другой метод использует --id параметр, где можно указать весь URL-адрес, включая имя ключа при необходимости. Второй метод полезен в тех случаях, когда вызывающая сторона (пользователь или приложение) не имеет доступа на чтение к плоскости управления и имеет только ограниченный доступ к плоскости данных.
Для некоторых взаимодействий с материалом ключей требуются определенные разрешения локального RBAC управляемого модуля HSM. Полный список встроенных локальных ролей и разрешений RBAC управляемого HSM см. в разделе "Встроенные роли локального RBAC для управляемого HSM". Чтобы назначить эти разрешения пользователю, см. раздел "Безопасный доступ к управляемым HSM".
Создание ключа HSM
Примечание.
Невозможно экспортировать ключ, созданный или импортированный в управляемый HSM. Единственным исключением из правила без экспорта является создание ключа с определенной политикой выпуска ключей. Эта политика позволяет экспортировать ключ только в доверенные среды конфиденциальных вычислений (безопасные анклавы), которые вы явно определяете. Эта ограниченная возможность экспорта предназначена для конкретных сценариев безопасных вычислений и не совпадает с экспортом ключа общего назначения. Рекомендации по переносимости ключей и устойчивости см. в связанной статье.
На портале Azure перейдите к ресурсу управляемого HSM.
В меню слева в разделе "Параметры" выберите "Ключи".
Выберите "Создать и импортировать" в раскрывающемся списке "Создать/импортировать и восстановить резервную копию ".
Выберите тип ключа (RSA-HSM, EC-HSM или oct-HSM), задайте размер ключа или кривую, имя и разрешенные операции, а затем нажмите кнопку "Создать".
az keyvault key create Используйте команду для создания ключа.
Создание ключа RSA
В этом примере показано, как создать 3072-разрядный ключ RSA , который используется только для операций wrapKey и unwrapKey (--ops).
az keyvault key create --hsm-name <hsm-name> --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://<hsm-name>.managedhsm.azure.net/keys/myrsakey --ops wrapKey unwrapKey --kty RSA-HSM --size 3072
Операция get возвращает только открытый ключ и ключевые атрибуты. Он не возвращает закрытый ключ (если асимметричный ключ) или материал ключа (если симметричный ключ).
Создание ключа EC
В следующем примере показано, как создать ключ EC с кривой P-256. Ключ предназначен только для операций подписи и проверки (--ops) и имеет два тега, использование и имя приложения. Используйте теги для добавления дополнительных метаданных в ключ для отслеживания и управления ими.
az keyvault key create --hsm-name <hsm-name> --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://<hsm-name>.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 <hsm-name> --name myaeskey --ops encrypt decrypt --tags 'usage=encryption' 'appname=myapp' --kty oct-HSM --size 256
## OR
# Note the key name (myaeskey) in the URI
az keyvault key create --id https://<hsm-name>.managedhsm.azure.net/keys/myaeskey --ops encrypt decrypt --tags 'usage=encryption' 'appname=myapp' --kty oct-HSM --size 256
Используйте командлет Add-AzKeyVaultKey для создания ключа.
Создание ключа RSA
В этом примере показано, как создать 3072-разрядный ключ RSA , который используется только для операций wrapKey и unwrapKey .
Add-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey -KeyType RSA-HSM -Size 3072 -KeyOps wrapKey,unwrapKey
Создание ключа EC
В этом примере показано, как создать ключ EC с кривой P-256 для подписи и проверки операций.
Add-AzKeyVaultKey -HsmName <hsm-name> -Name myec256key -KeyType EC-HSM -CurveName P-256 -KeyOps sign,verify -Tag @{usage='signing'; appname='myapp'}
Создание 256-битного симметричного ключа
В этом примере показано, как создать 256-разрядный симметричный ключ для операций шифрования и расшифровки .
Add-AzKeyVaultKey -HsmName <hsm-name> -Name myaeskey -KeyType oct-HSM -Size 256 -KeyOps encrypt,decrypt -Tag @{usage='encryption'; appname='myapp'}
На портале Azure перейдите к ресурсу управляемого HSM.
В меню слева в разделе "Параметры" выберите "Ключи".
Выберите ключ, который вы хотите просмотреть. На портале отображаются атрибуты, версии и теги ключа.
az keyvault key show Используйте команду для просмотра атрибутов, версий и тегов ключа.
az keyvault key show --hsm-name <hsm-name> --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key show --id https://<hsm-name>.managedhsm.azure.net/keys/myrsakey
Get-AzKeyVaultKey Используйте командлет для просмотра атрибутов, версий и тегов ключа.
Get-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey
Перечислить ключи
На портале Azure перейдите к ресурсу управляемого HSM.
В меню слева в разделе "Параметры" выберите "Ключи". На портале перечислены все ключи в управляемом HSM.
Используйте команду az keyvault key list для перечисления всех ключей в управляемом HSM.
az keyvault key list --hsm-name <hsm-name>
## OR
# use full URI
az keyvault key list --id https://<hsm-name>.managedhsm.azure.net/
Используйте командлет Get-AzKeyVaultKey для перечисления всех ключей в управляемом HSM.
Get-AzKeyVaultKey -HsmName <hsm-name>
Удаление ключа
На портале Azure перейдите к ресурсу управляемого HSM.
В меню слева в разделе "Параметры" выберите "Ключи".
Выберите ключ, который нужно удалить.
Выберите Удалить, затем подтвердите действие.
az keyvault key delete Используйте команду для удаления ключа из управляемого устройства HSM. Условное удаление всегда включено. Поэтому удаленный ключ остается в удаленном состоянии и его можно восстановить до тех пор, пока не пройдет время хранения. После этого ключ очищается (окончательно удаляется) без возможности восстановления.
az keyvault key delete --hsm-name <hsm-name> --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key delete --id https://<hsm-name>.managedhsm.azure.net/keys/myrsakey
Используйте командлет Remove-AzKeyVaultKey для удаления ключа. Мягкое удаление всегда включено, поэтому удаленный ключ остается восстанавливаемым до истечения срока хранения.
Remove-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey
Вывод списка удаленных ключей
На портале Azure перейдите к ресурсу управляемого HSM.
В меню слева в разделе "Параметры" выберите "Ключи".
Выберите Управление удаленными ключами, чтобы просмотреть ключи в состоянии мягкого удаления.
Используйте команду az keyvault key list-deleted, чтобы перечислить все ключи в состоянии удаления в управляемом HSM.
az keyvault key list-deleted --hsm-name <hsm-name>
## OR
# use full URI
az keyvault key list-deleted --id https://<hsm-name>.managedhsm.azure.net/
Используйте командлет с параметром Get-AzKeyVaultKey-InRemovedState для перечисления удаленных ключей.
Get-AzKeyVaultKey -HsmName <hsm-name> -InRemovedState
Восстановление (отмена удаления) удаленного ключа
На портале Azure перейдите к ресурсу управляемого HSM.
В меню слева в разделе "Параметры" выберите "Ключи", а затем выберите "Управление удаленными ключами".
Выберите удаленный ключ, который требуется восстановить.
Нажмите Восстановить.
Используйте команду az keyvault key list-deleted, чтобы вывести список всех ключей, находящихся в удаленном состоянии в вашем управляемом HSM. Чтобы восстановить ключ (отмена) используйте --id параметр. Необходимо отметить значение recoveryId удаленного ключа, полученного из команды az keyvault key list-deleted.
az keyvault key recover --hsm-name <hsm-name> --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key recover --id https://<hsm-name>.managedhsm.azure.net/deletedKeys/myrsakey
Для восстановления удаленного ключа используйте командлет Undo-AzKeyVaultKeyRemoval.
Undo-AzKeyVaultKeyRemoval -HsmName <hsm-name> -Name myrsakey
Окончательное (безвозвратное) удаление ключа.
Примечание.
Если у управляемого устройства HSM включена защита от очистки, операция очистки не разрешена. Ключ автоматически очищается при прохождении периода хранения.
На портале Azure перейдите к ресурсу управляемого HSM.
В меню слева в разделе "Параметры" выберите "Ключи", а затем выберите "Управление удаленными ключами".
Выберите удаленный ключ, который требуется очистить.
Выберите "Очистить", а затем подтвердите.
Предупреждение
Эта операция окончательно удаляет ключ.
az keyvault key purge Используйте команду для очистки (окончательного удаления) ключа.
az keyvault key purge --hsm-name <hsm-name> --name myrsakey
## OR
# Note the key name (myaeskey) in the URI
az keyvault key purge --id https://<hsm-name>.managedhsm.azure.net/deletedKeys/myrsakey
Remove-AzKeyVaultKey Используйте командлет с -InRemovedState параметром для очистки удаленного ключа.
Remove-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey -InRemovedState
Предупреждение
Эта операция окончательно удаляет ключ.
Создание резервной копии одного ключа
Резервное копирование ключей в настоящее время недоступно на портале Azure. Используйте Azure CLI или Azure PowerShell.
Чтобы создать резервную копию ключа, используйте команду az keyvault key backup. Файл резервной копии — это зашифрованный большой двоичный объект, криптографически привязанный к домену безопасности исходного устройства HSM. Его можно восстановить только в HSM, которые используют один и тот же домен безопасности. Узнайте больше о доменах безопасности.
az keyvault key backup --hsm-name <hsm-name> --name myrsakey --file myrsakey.backup
## OR
# Note the key name (myaeskey) in the URI
az keyvault key backup --id https://<hsm-name>.managedhsm.azure.net/keys/myrsakey --file myrsakey.backup
Используйте командлет Backup-AzKeyVaultKey для создания резервной копии ключей. Файл резервной копии — это зашифрованный большой двоичный объект, криптографически привязанный к домену безопасности исходного устройства HSM.
Backup-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey -OutputFile myrsakey.backup
Восстановление одного ключа из резервной копии
На портале Azure перейдите к ресурсу управляемого HSM.
В меню слева в разделе "Параметры" выберите "Ключи".
Выберите "Создать/импортировать и восстановить резервную копию" и выберите "Восстановить ключ из резервной копии".
Перейдите к файлу резервной копии и выберите команду "Восстановить".
Чтобы восстановить один ключ, используйте команду az keyvault key restore. Исходный HSM, на котором вы создали резервную копию, должен совместно использовать тот же домен безопасности, что и целевой HSM, в котором выполняется восстановление ключа.
Примечание.
Операция восстановления завершается ошибкой, если ключ с тем же именем существует в активном или удаленном состоянии.
az keyvault key restore --hsm-name <hsm-name> --name myrsakey --file myrsakey.backup
## OR
# Note the key name (myaeskey) in the URI
az keyvault key restore --id https://<hsm-name>.managedhsm.azure.net/keys/myrsakey --file myrsakey.backup
Используйте командлет Restore-AzKeyVaultKey для восстановления одного ключа. Исходный HSM, на котором вы создали резервную копию, должен совпадать в домене безопасности с целевым HSM.
Примечание.
Операция восстановления завершается ошибкой, если ключ с тем же именем существует в активном или удаленном состоянии.
Restore-AzKeyVaultKey -HsmName <hsm-name> -InputFile myrsakey.backup
Импорт ключа из файла
Импорт ключей в настоящее время недоступен на портале Azure. Используйте Azure CLI или Azure PowerShell.
az keyvault key import Используйте команду для импорта ключа (только RSA и EC) из файла. Файл сертификата должен иметь закрытый ключ и должен использовать кодировку PEM (как определено в RFCs 1421, 1422, 1423, 1424).
az keyvault key import --hsm-name <hsm-name> --name myrsakey --pem-file mycert.key --pem-password 'mypassword'
## OR
# Note the key name (<key-name>) in the URI
az keyvault key import --id https://<hsm-name>.managedhsm.azure.net/keys/<key-name> --pem-file mycert.key --password 'mypassword'
Add-AzKeyVaultKey Используйте командлет с -KeyFilePath параметром для импорта ключа из PEM-файла.
Add-AzKeyVaultKey -HsmName <hsm-name> -Name myrsakey -KeyFilePath ./mycert.key -KeyFilePassword (ConvertTo-SecureString -String 'mypassword' -AsPlainText -Force) -KeyType RSA-HSM
Чтобы импортировать ключ из локального устройства HSM в управляемый HSM, см. раздел импорта ключей, защищенных HSM, в управляемый HSM (BYOK).
Примечание.
Внешнее управление ключами доступно в предварительной версии. Некоторые аспекты могут измениться до общей доступности. Условия использования предварительных версий см. в дополнительных условиях использования.
Если рабочая нагрузка требует, чтобы ключ шифрования ключей (KEK) находится в аппаратном модуле безопасности, работающем вне инфраструктуры Microsoft, см. раздел "Управление внешними ключами HSM( предварительная версия)". Внешние ключи имеют отдельный жизненный цикл и операционную модель. Дополнительные сведения см. в статье о жизненном цикле внешнего ключа .
Дальнейшие действия