Import Key - Import Key
Импортирует созданный извне ключ, сохраняет его и возвращает ключевые параметры и атрибуты клиенту.
Операция импорта ключа может использоваться для импорта любого типа ключа в Azure Key Vault. Если именованный ключ уже существует, Azure Key Vault создает новую версию ключа. Для этой операции требуется разрешение на импорт ключей/импорта.
PUT {vaultBaseUrl}/keys/{key-name}?api-version=2025-07-01
Параметры URI
| Имя | В | Обязательно | Тип | Описание |
|---|---|---|---|---|
|
key-name
|
path | True |
string pattern: ^[0-9a-zA-Z-]+$ |
Имя импортированного ключа. Предоставленное вами значение может быть скопировано глобально с целью запуска службы. Предоставляемая стоимость не должна включать личную или конфиденциальную информацию. |
|
vault
|
path | True |
string (uri) |
|
|
api-version
|
query | True |
string minLength: 1 |
Версия API, используемая для данной операции. |
Текст запроса
| Имя | Обязательно | Тип | Описание |
|---|---|---|---|
| key | True |
Веб-ключ Json |
|
| Hsm |
boolean |
Следует ли импортировать как аппаратный ключ (HSM) или программный ключ. |
|
| attributes |
Ключевые атрибуты управления. |
||
| release_policy |
Правила политики, в соответствии с которыми ключ может быть экспортирован. |
||
| tags |
object |
Метаданные, специфичные для приложения, в виде пар ключ-значение. |
Ответы
| Имя | Тип | Описание |
|---|---|---|
| 200 OK |
Запрос выполнен успешно. |
|
| Other Status Codes |
Непредвиденное сообщение об ошибке. |
Безопасность
OAuth2Auth
Тип:
oauth2
Flow:
implicit
URL-адрес авторизации:
https://login.microsoftonline.com/common/oauth2/authorize
Области
| Имя | Описание |
|---|---|
| https://vault.azure.net/.default |
Примеры
Import key
Образец запроса
PUT https://myvault.vault.azure.net//keys/ImportSoftKeyTest?api-version=2025-07-01
{
"key": {
"kty": "RSA",
"n": "nKAwarTrOpzd1hhH4cQNdVTgRF-b0ubPD8ZNVf0UXjb62QuAk3Dn68ESThcF7SoDYRx2QVcfoMC9WCcuQUQDieJF-lvJTSer1TwH72NBovwKlHvrXqEI0a6_uVYY5n-soGt7qFZNbwQLdWWA6PrbqTLIkv6r01dcuhTiQQAn6OWEa0JbFvWfF1kILQIaSBBBaaQ4R7hZs7-VQTHGD7J1xGteof4gw2VTiwNdcE8p5UG5b6S9KQwAeET4yB4KFPwQ3TDdzxJQ89mwYVi_sgAIggN54hTq4oEKYJHBOMtFGIN0_HQ60ZSUnpOi87xNC-8VFqnv4rfTQ7nkK6XMvjMVfw",
"e": "AQAB",
"d": "GeT1_D5LAZa7qlC7WZ0DKJnOth8kcPrN0urTEFtWCbmHQWkAad_px_VUpGp0BWDDzENbXbQcu4QCCdf4crve5eXt8dVI86OSah-RpEdBq8OFsETIhg2Tmq8MbYTJexoynRcIC62xAaCmkFMmu931gQSvWnYWTEuOPgmD2oE_F-bP9TFlGRc69a6MSbtcSRyFTsd5KsUr40QS4zf2W4kZCOWejyLuxk88SXgUqcJx86Ulc1Ol1KkTBLadvReAZCyCMwKBlNRGw46BU_iK0vK7rTD9fmEd639Gjti6eLpnyQYpnVe8uGgwVU1fHBkAKyapWoEG6VMhMntcrvgukKLIsQ",
"dp": "ZGnmWx-Nca71z9a9vvT4g02iv3S-3kSgmhl8JST09YQwK8tfiK7nXnNMtXJi2K4dLKKnLicGtCzB6W3mXdLcP2SUOWDOeStoBt8HEBT4MrI1psCKqnBum78WkHju90rBFj99amkP6UeQy5EASAzgmKQu2nUaUnRV0lYP8LHMCkE",
"dq": "dtpke0foFs04hPS6XYLA5lc7-1MAHfZKN4CkMAofwDqPmRQzCxpDJUk0gMWGJEdU_Lqfbg22Py44cci0dczH36NW3UU5BL86T2_SPPDOuyX7kDscrIJCdowxQCGJHGRBEozM_uTL46wu6UnUIv7m7cuGgodJyZBcdwpo6ziFink",
"qi": "Y9KD5GaHkAYmAqpOfAQUMr71QuAAaBb0APzMuUvoEYw39PD3_vJeh9HZ15QmJ8zCX10-nlzUB-bWwvK-rGcJXbK4pArilr5MiaYv7e8h5eW2zs2_itDJ6Oebi-wVbMhg7DvUTBbkCvPhhIedE4UlDQmMYP7RhzVVs7SfmkGs_DQ",
"p": "v1jeCPnuJQM2PW2690Q9KJk0Ulok8VFGjkcHUHVi3orKdy7y_TCIWM6ZGvgFzI6abinzYbTEPKV4wFdMAwvOWmawXj5YrsoeB44_HXJ0ak_5_iP6XXR8MLGXbd0ZqsxvAZyzMj9vyle7EN2cBod6aenI2QZoRDucPvjPwZsZotk",
"q": "0Yv-Dj6qnvx_LL70lUnKA6MgHE_bUC4drl5ZNDDsUdUUYfxIK4G1rGU45kHGtp-Qg-Uyf9s52ywLylhcVE3jfbjOgEozlSwKyhqfXkLpMLWHqOKj9fcfYd4PWKPOgpzWsqjA6fJbBUMYo0CU2G9cWCtVodO7sBJVSIZunWrAlBc"
},
"tags": {
"purpose": "unit test"
}
}
Пример ответа
{
"key": {
"kid": "https://myvault.vault.azure.net/keys/ImportSoftKeyTest/2eb4a15d74184c6f84159c3ca90f0f4b",
"kty": "RSA",
"key_ops": [
"encrypt",
"decrypt",
"sign",
"verify",
"wrapKey",
"unwrapKey"
],
"n": "nKAwarTrOpzd1hhH4cQNdVTgRF-b0ubPD8ZNVf0UXjb62QuAk3Dn68ESThcF7SoDYRx2QVcfoMC9WCcuQUQDieJF-lvJTSer1TwH72NBovwKlHvrXqEI0a6_uVYY5n-soGt7qFZNbwQLdWWA6PrbqTLIkv6r01dcuhTiQQAn6OWEa0JbFvWfF1kILQIaSBBBaaQ4R7hZs7-VQTHGD7J1xGteof4gw2VTiwNdcE8p5UG5b6S9KQwAeET4yB4KFPwQ3TDdzxJQ89mwYVi_sgAIggN54hTq4oEKYJHBOMtFGIN0_HQ60ZSUnpOi87xNC-8VFqnv4rfTQ7nkK6XMvjMVfw",
"e": "AQAB"
},
"attributes": {
"enabled": true,
"created": 1493942691,
"updated": 1493942691,
"recoveryLevel": "Recoverable+Purgeable"
},
"tags": {
"purpose": "unit test"
}
}
Определения
| Имя | Описание |
|---|---|
|
Deletion |
Отражает уровень восстановления после удаления, действующий в настоящее время для сертификатов в текущем хранилище. Если он содержит 'Purgeable', сертификат может быть безвозвратно удален привилегированным пользователем; В противном случае только система может очистить сертификат в конце интервала хранения. |
| Error | |
|
Json |
По состоянию на http://tools.ietf.org/html/draft-ietf-jose-json-web-key-18 |
|
Json |
Имя эллиптической кривой. Допустимые значения см. в разделе JsonWebKeyCurveName. |
|
Json |
Тип ключа JsonWebKey (kty), как определено в https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40. |
|
Key |
Ключевая информация об аттестации. |
|
Key |
Атрибуты ключа, управляемого службой хранилища ключей. |
|
Key |
Набор ключей, состоящий из WebKey и его атрибутов. |
|
Key |
Ключевые параметры импорта. |
|
Key |
Правила политики, в соответствии с которыми ключ может быть экспортирован. |
|
Key |
Исключение ошибки хранилища ключей. |
DeletionRecoveryLevel
Отражает уровень восстановления после удаления, действующий в настоящее время для сертификатов в текущем хранилище. Если он содержит 'Purgeable', сертификат может быть безвозвратно удален привилегированным пользователем; В противном случае только система может очистить сертификат в конце интервала хранения.
| Значение | Описание |
|---|---|
| Purgeable |
Обозначает состояние хранилища, при котором удаление является необратимой операцией без возможности восстановления. Этот уровень соответствует отсутствию защиты от операции удаления; данные безвозвратно теряются при принятии операции удаления на уровне сущности или выше (хранилище, группа ресурсов, подписка и т. д.) |
| Recoverable+Purgeable |
Обозначает состояние хранилища, при котором удаление можно восстановить, а также позволяет немедленное и окончательное удаление (т. е. очистку). Этот уровень гарантирует возможность восстановления удаленной сущности в течение интервала хранения (90 дней), если не будет запрошена операция очистки или подписка не будет отменена. Система навсегда удалит его через 90 дней, если он не будет восстановлен |
| Recoverable |
Обозначает состояние хранилища, при котором удаление можно восстановить без возможности немедленного и окончательного удаления (т. е. очистки). Этот уровень гарантирует возможность восстановления удаленной сущности в течение интервала хранения (90 дней) и пока подписка все еще доступна. Система навсегда удалит его через 90 дней, если он не будет восстановлен |
| Recoverable+ProtectedSubscription |
Обозначает состояние хранилища и подписки, при котором удаление можно восстановить в течение интервала хранения (90 дней), немедленное и окончательное удаление (т. е. очистка) не допускается, а сама подписка не может быть отменена навсегда. Система навсегда удалит его через 90 дней, если он не будет восстановлен |
| CustomizedRecoverable+Purgeable |
Обозначает состояние хранилища, при котором удаление можно восстановить, а также позволяет немедленное и окончательное удаление (т. е. очистка, когда 7 <= SoftDeleteRetentionInDays < 90). Этот уровень гарантирует возможность восстановления удаленной сущности в течение интервала хранения, если не будет запрошена операция очистки или подписка не будет отменена. |
| CustomizedRecoverable |
Обозначает состояние хранилища, при котором удаление можно восстановить без возможности немедленного и окончательного удаления (т. е. очистка, когда 7 <= SoftDeleteRetentionInDays < 90). Этот уровень гарантирует возможность восстановления удаленной сущности в течение интервала хранения и пока подписка все еще доступна. |
| CustomizedRecoverable+ProtectedSubscription |
Обозначает состояние хранилища и подписки, при котором удаление можно восстановить, немедленное и окончательное удаление (т. е. очистка) не допускается, и при котором сама подписка не может быть отменена навсегда, когда 7 <= SoftDeleteRetentionInDays < 90. Этот уровень гарантирует возможность восстановления удаленной сущности в течение интервала хранения, а также отражает тот факт, что сама подписка не может быть отменена. |
Error
| Имя | Тип | Описание |
|---|---|---|
| code |
string |
Код ошибки. |
| innererror |
Ошибка сервера хранилища ключей. |
|
| message |
string |
Сообщение об ошибке. |
JsonWebKey
По состоянию на http://tools.ietf.org/html/draft-ietf-jose-json-web-key-18
| Имя | Тип | Описание |
|---|---|---|
| crv |
Имя эллиптической кривой. Допустимые значения см. в разделе JsonWebKeyCurveName. |
|
| d |
string (base64url) |
Приватная экспонента RSA или компонент D закрытого ключа EC. |
| dp |
string (base64url) |
Параметр закрытого ключа RSA. |
| dq |
string (base64url) |
Параметр закрытого ключа RSA. |
| e |
string (base64url) |
Публичный экспонент ЮАР. |
| k |
string (base64url) |
Симметричный ключ. |
| key_hsm |
string (base64url) |
Защищенный ключ, используемый с функцией «Принеси свой собственный ключ». |
| key_ops |
string[] |
Операции с веб-ключами Json. Дополнительные сведения о возможных ключевых операциях см. в разделе JsonWebKeyOperation. |
| kid |
string |
Идентификатор ключа. |
| kty |
Тип ключа JsonWebKey (kty), как определено в https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40. |
|
| n |
string (base64url) |
Модуль RSA. |
| p |
string (base64url) |
Секретный прайм RSA. |
| q |
string (base64url) |
Секретное простое число RSA, с p < q. |
| qi |
string (base64url) |
Параметр закрытого ключа RSA. |
| x |
string (base64url) |
X открытого ключа EC. |
| y |
string (base64url) |
Y-компонент открытого ключа EC. |
JsonWebKeyCurveName
Имя эллиптической кривой. Допустимые значения см. в разделе JsonWebKeyCurveName.
| Значение | Описание |
|---|---|
| P-256 |
Эллиптическая кривая NIST P-256, также известная как кривая SECG SECP256R1. |
| P-384 |
Эллиптическая кривая NIST P-384, также известная как кривая SECG SECP384R1. |
| P-521 |
Эллиптическая кривая NIST P-521, также известная как кривая SECG SECP521R1. |
| P-256K |
Эллиптическая кривая SECG SECP256K1. |
JsonWebKeyType
Тип ключа JsonWebKey (kty), как определено в https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40.
| Значение | Описание |
|---|---|
| EC |
Эллиптическая кривая. |
| EC-HSM |
Эллиптическая кривая с закрытым ключом, который хранится в HSM. |
| RSA | |
| RSA-HSM |
RSA с закрытым ключом, который хранится в HSM. |
| oct |
Октетная последовательность (используется для представления симметричных тональностей) |
| oct-HSM |
Октетная последовательность (используется для представления симметричных ключей), в которой хранится HSM. |
KeyAttestation
Ключевая информация об аттестации.
| Имя | Тип | Описание |
|---|---|---|
| certificatePemFile |
string (base64url) |
Строка в кодировке base64url, содержащая сертификаты в формате PEM, используемая для проверки аттестации. |
| privateKeyAttestation |
string (base64url) |
Байты BLOB-объекта аттестации, закодированные как строка base64url, соответствующая закрытому ключу. |
| publicKeyAttestation |
string (base64url) |
Байты BLOB-объекта аттестации закодированы как строка base64url, соответствующая открытому ключу в случае асимметричного ключа. |
| version |
string |
Версия аттестации. |
KeyAttributes
Атрибуты ключа, управляемого службой хранилища ключей.
| Имя | Тип | Описание |
|---|---|---|
| attestation |
Информация о подтверждении ключа или версии ключа. |
|
| created |
integer (unixtime) |
Время создания в UTC. |
| enabled |
boolean |
Определяет, включен ли объект. |
| exp |
integer (unixtime) |
Дата истечения срока действия в UTC. |
| exportable |
boolean |
Указывает, можно ли экспортировать закрытый ключ. Политика выпуска должна быть предоставлена при создании первой версии экспортируемого ключа. |
| hsmPlatform |
string |
Базовая платформа HSM. |
| nbf |
integer (unixtime) |
Не раньше даты в UTC. |
| recoverableDays |
integer (int32) |
Дни хранения данных softDelete. Значение должно быть >=7 и <=90 при включенном softDelete, в противном случае 0. |
| recoveryLevel |
Отражает уровень восстановления после удаления, действующий в настоящее время для ключей в текущем хранилище. Если он содержит значение 'Purgeable', ключ может быть безвозвратно удален привилегированным пользователем; В противном случае, только система может очистить ключ в конце интервала хранения. |
|
| updated |
integer (unixtime) |
Последнее обновление времени в UTC. |
KeyBundle
Набор ключей, состоящий из WebKey и его атрибутов.
| Имя | Тип | Описание |
|---|---|---|
| attributes |
Ключевые атрибуты управления. |
|
| key |
Веб-ключ Json. |
|
| managed |
boolean |
Значение True, если время жизни ключа управляется Key Vault. Если это ключ, поддерживающий сертификат, то managed будет иметь значение true. |
| release_policy |
Правила политики, в соответствии с которыми ключ может быть экспортирован. |
|
| tags |
object |
Метаданные, специфичные для приложения, в виде пар ключ-значение. |
KeyImportParameters
Ключевые параметры импорта.
| Имя | Тип | Описание |
|---|---|---|
| Hsm |
boolean |
Следует ли импортировать как аппаратный ключ (HSM) или программный ключ. |
| attributes |
Ключевые атрибуты управления. |
|
| key |
Веб-ключ Json |
|
| release_policy |
Правила политики, в соответствии с которыми ключ может быть экспортирован. |
|
| tags |
object |
Метаданные, специфичные для приложения, в виде пар ключ-значение. |
KeyReleasePolicy
Правила политики, в соответствии с которыми ключ может быть экспортирован.
| Имя | Тип | Default value | Описание |
|---|---|---|---|
| contentType |
string |
application/json; charset=utf-8 |
Тип контента и версия политики выпуска ключа |
| data |
string (base64url) |
Кодирование BLOB-объектов правил политики, в которых можно освободить ключ. Blob должен быть закодирован в кодировке URL-адреса base64. |
|
| immutable |
boolean |
Определяет состояние изменяемости политики. Помечая неизменяемый, этот флаг нельзя сбросить, и политика не может быть изменена в любых обстоятельствах. |
KeyVaultError
Исключение ошибки хранилища ключей.
| Имя | Тип | Описание |
|---|---|---|
| error |
Ошибка сервера хранилища ключей. |