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


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-]+$

Имя импортированного ключа. Предоставленное вами значение может быть скопировано глобально с целью запуска службы. Предоставляемая стоимость не должна включать личную или конфиденциальную информацию.

vaultBaseUrl
path True

string (uri)

api-version
query True

string

minLength: 1

Версия API, используемая для данной операции.

Текст запроса

Имя Обязательно Тип Описание
key True

JsonWebKey

Веб-ключ Json

Hsm

boolean

Следует ли импортировать как аппаратный ключ (HSM) или программный ключ.

attributes

KeyAttributes

Ключевые атрибуты управления.

release_policy

KeyReleasePolicy

Правила политики, в соответствии с которыми ключ может быть экспортирован.

tags

object

Метаданные, специфичные для приложения, в виде пар ключ-значение.

Ответы

Имя Тип Описание
200 OK

KeyBundle

Запрос выполнен успешно.

Other Status Codes

KeyVaultError

Непредвиденное сообщение об ошибке.

Безопасность

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"
  }
}

Определения

Имя Описание
DeletionRecoveryLevel

Отражает уровень восстановления после удаления, действующий в настоящее время для сертификатов в текущем хранилище. Если он содержит 'Purgeable', сертификат может быть безвозвратно удален привилегированным пользователем; В противном случае только система может очистить сертификат в конце интервала хранения.

Error
JsonWebKey

По состоянию на http://tools.ietf.org/html/draft-ietf-jose-json-web-key-18

JsonWebKeyCurveName

Имя эллиптической кривой. Допустимые значения см. в разделе JsonWebKeyCurveName.

JsonWebKeyType

Тип ключа JsonWebKey (kty), как определено в https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40.

KeyAttestation

Ключевая информация об аттестации.

KeyAttributes

Атрибуты ключа, управляемого службой хранилища ключей.

KeyBundle

Набор ключей, состоящий из WebKey и его атрибутов.

KeyImportParameters

Ключевые параметры импорта.

KeyReleasePolicy

Правила политики, в соответствии с которыми ключ может быть экспортирован.

KeyVaultError

Исключение ошибки хранилища ключей.

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

Error

Ошибка сервера хранилища ключей.

message

string

Сообщение об ошибке.

JsonWebKey

По состоянию на http://tools.ietf.org/html/draft-ietf-jose-json-web-key-18

Имя Тип Описание
crv

JsonWebKeyCurveName

Имя эллиптической кривой. Допустимые значения см. в разделе 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

JsonWebKeyType

Тип ключа 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

ЮАР (https://tools.ietf.org/html/rfc3447)

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

KeyAttestation

Информация о подтверждении ключа или версии ключа.

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

DeletionRecoveryLevel

Отражает уровень восстановления после удаления, действующий в настоящее время для ключей в текущем хранилище. Если он содержит значение 'Purgeable', ключ может быть безвозвратно удален привилегированным пользователем; В противном случае, только система может очистить ключ в конце интервала хранения.

updated

integer (unixtime)

Последнее обновление времени в UTC.

KeyBundle

Набор ключей, состоящий из WebKey и его атрибутов.

Имя Тип Описание
attributes

KeyAttributes

Ключевые атрибуты управления.

key

JsonWebKey

Веб-ключ Json.

managed

boolean

Значение True, если время жизни ключа управляется Key Vault. Если это ключ, поддерживающий сертификат, то managed будет иметь значение true.

release_policy

KeyReleasePolicy

Правила политики, в соответствии с которыми ключ может быть экспортирован.

tags

object

Метаданные, специфичные для приложения, в виде пар ключ-значение.

KeyImportParameters

Ключевые параметры импорта.

Имя Тип Описание
Hsm

boolean

Следует ли импортировать как аппаратный ключ (HSM) или программный ключ.

attributes

KeyAttributes

Ключевые атрибуты управления.

key

JsonWebKey

Веб-ключ Json

release_policy

KeyReleasePolicy

Правила политики, в соответствии с которыми ключ может быть экспортирован.

tags

object

Метаданные, специфичные для приложения, в виде пар ключ-значение.

KeyReleasePolicy

Правила политики, в соответствии с которыми ключ может быть экспортирован.

Имя Тип Default value Описание
contentType

string

application/json; charset=utf-8

Тип контента и версия политики выпуска ключа

data

string (base64url)

Кодирование BLOB-объектов правил политики, в которых можно освободить ключ. Blob должен быть закодирован в кодировке URL-адреса base64.

immutable

boolean

Определяет состояние изменяемости политики. Помечая неизменяемый, этот флаг нельзя сбросить, и политика не может быть изменена в любых обстоятельствах.

KeyVaultError

Исключение ошибки хранилища ключей.

Имя Тип Описание
error

Error

Ошибка сервера хранилища ключей.