Import Key - Import Key
Импортирует созданный внешне ключ, сохраняет его, а также возвращает параметры и атрибуты ключа клиенту.
Операция импорта ключа может использоваться для импорта ключа любого типа в Key Vault Azure. Если именованный ключ уже существует, хранилище ключей Azure создает новую версию ключа. Для этой операции требуется разрешение на импорт ключей.
PUT {vaultBaseUrl}/keys/{key-name}?api-version=7.4
Параметры URI
Имя | В | Обязательно | Тип | Описание |
---|---|---|---|---|
key-name
|
path | True |
string |
Имя импортированного ключа. Указанное значение может быть глобально скопировано для запуска службы. Указываемое значение не должно включать личную или конфиденциальную информацию. Шаблон регулярного выражения: |
vault
|
path | True |
string |
Имя хранилища, например https://myvault.vault.azure.net. |
api-version
|
query | True |
string |
Версия API клиента. |
Текст запроса
Имя | Обязательно | Тип | Описание |
---|---|---|---|
key | True |
Веб-ключ JSON |
|
Hsm |
boolean |
Следует ли импортировать в качестве аппаратного ключа (HSM) или программного ключа. |
|
attributes |
Атрибуты управления ключами. |
||
release_policy |
Правила политики, в соответствии с которыми можно экспортировать ключ. |
||
tags |
object |
Метаданные конкретного приложения в виде пар «ключ — значение». |
Ответы
Имя | Тип | Описание |
---|---|---|
200 OK |
Импортированный пакет ключей в хранилище. |
|
Other Status Codes |
Key Vault ответ об ошибке, описывающий причину сбоя операции. |
Примеры
Import key
Образец запроса
PUT https://myvault.vault.azure.net//keys/ImportSoftKeyTest?api-version=7.4
{
"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 |
KeyBundle, состоящий из WebKey и его атрибутов. |
Key |
Параметры импорта ключа. |
Key |
Правила политики, в соответствии с которыми можно экспортировать ключ. |
Key |
Исключение ошибки хранилища ключей. |
DeletionRecoveryLevel
Отражает уровень восстановления удаления, действующий в настоящее время для ключей в текущем хранилище. Если он содержит Purgeable, ключ может быть безвозвратно удален привилегированным пользователем; В противном случае только система может очистить ключ в конце интервала хранения.
Имя | Тип | Описание |
---|---|---|
CustomizedRecoverable |
string |
Обозначает состояние хранилища, в котором удаление можно восстановить без возможности немедленного и окончательного удаления (т. е. очистка, когда 7< = SoftDeleteRetentionInDays < 90). Этот уровень гарантирует возможность восстановления удаленной сущности в течение интервала хранения и в то время, когда подписка по-прежнему доступна. |
CustomizedRecoverable+ProtectedSubscription |
string |
Обозначает состояние хранилища и подписки, в котором удаление можно восстановить, немедленное и окончательное удаление (т. е. очистка) запрещено, а сама подписка не может быть окончательно отменена, если 7< = SoftDeleteRetentionInDays < 90. Этот уровень гарантирует возможность восстановления удаленной сущности в течение интервала хранения, а также отражает тот факт, что сама подписка не может быть отменена. |
CustomizedRecoverable+Purgeable |
string |
Обозначает состояние хранилища, в котором удаление можно восстановить, а также позволяет немедленное и окончательное удаление (т. е. очистка, когда 7< = SoftDeleteRetentionInDays < 90). Этот уровень гарантирует возможность восстановления удаленной сущности в течение интервала хранения, если не запрошена операция очистки или подписка не отменена. |
Purgeable |
string |
Обозначает состояние хранилища, в котором удаление является необратимой операцией без возможности восстановления. Этот уровень соответствует отсутствием защиты от операции удаления; данные безвозвратно теряются при принятии операции удаления на уровне сущности или выше (хранилище, группа ресурсов, подписка и т. д.); |
Recoverable |
string |
Обозначает состояние хранилища, в котором удаление можно восстановить без возможности немедленного и окончательного удаления (т. е. очистки). Этот уровень гарантирует возможность восстановления удаленной сущности в течение периода хранения (90 дней) и пока подписка остается доступной. System wil окончательно удалить его через 90 дней, если не восстановить |
Recoverable+ProtectedSubscription |
string |
Обозначает состояние хранилища и подписки, в котором удаление можно восстановить в течение периода хранения (90 дней), немедленное и окончательное удаление (т. е. очистка) запрещено, а сама подписка не может быть отменена окончательно. System wil окончательно удалить его через 90 дней, если не восстановить |
Recoverable+Purgeable |
string |
Обозначает состояние хранилища, в котором удаление можно восстановить, а также позволяет немедленное и окончательное удаление (т. е. очистка). Этот уровень гарантирует возможность восстановления удаленной сущности в течение периода хранения (90 дней), если не запрошена операция очистки или подписка не отменена. System wil окончательно удалить его через 90 дней, если не восстановить |
Error
Ошибка сервера хранилища ключей.
Имя | Тип | Описание |
---|---|---|
code |
string |
Код ошибки. |
innererror |
Ошибка сервера хранилища ключей. |
|
message |
string |
Сообщение об ошибке. |
JsonWebKey
По состоянию на http://tools.ietf.org/html/draft-ietf-jose-json-web-key-18
Имя | Тип | Описание |
---|---|---|
crv |
Имя эллиптической кривой. Допустимые значения см. в разделе JsonWebKeyCurveName. |
|
d |
string |
Частный показатель RSA или компонент D закрытого ключа EC. |
dp |
string |
Параметр закрытого ключа RSA. |
dq |
string |
Параметр закрытого ключа RSA. |
e |
string |
Общедоступная экспонента RSA. |
k |
string |
Симметричный ключ. |
key_hsm |
string |
Защищенный ключ, используемый с параметром "Принеси собственный ключ". |
key_ops |
string[] |
Поддерживаемые операции с ключами. |
kid |
string |
Идентификатор ключа. |
kty |
Тип ключа JsonWebKey (kty), как определено в https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40. |
|
n |
string |
Модуль RSA. |
p |
string |
RSA секрет премьер. |
q |
string |
RSA secret prime, с p < q. |
qi |
string |
Параметр закрытого ключа RSA. |
x |
string |
Компонент X открытого ключа EC. |
y |
string |
Компонент Y открытого ключа EC. |
JsonWebKeyCurveName
Имя эллиптической кривой. Допустимые значения см. в разделе JsonWebKeyCurveName.
Имя | Тип | Описание |
---|---|---|
P-256 |
string |
Эллиптическая кривая NIST P-256, кривая AKA SECG SECP256R1. |
P-256K |
string |
Эллиптическая кривая SECP256K1 SECG. |
P-384 |
string |
Эллиптическая кривая NIST P-384, кривая АКА SECG SECP384R1. |
P-521 |
string |
Эллиптическая кривая NIST P-521, кривая AKA SECG SECP521R1. |
JsonWebKeyType
Тип ключа JsonWebKey (kty), как определено в https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40.
Имя | Тип | Описание |
---|---|---|
EC |
string |
Эллиптическая кривая. |
EC-HSM |
string |
Эллиптическая кривая с закрытым ключом, который хранится в HSM. |
RSA |
string |
|
RSA-HSM |
string |
RSA с закрытым ключом, который хранится в HSM. |
oct |
string |
Последовательность октетов (используется для представления симметричного ключа) |
oct-HSM |
string |
Последовательность октетов (используется для представления симметричного ключа), которая хранится в HSM. |
KeyAttributes
Атрибуты ключа, управляемого службой хранилища ключей.
Имя | Тип | Описание |
---|---|---|
created |
integer |
Время создания в формате UTC. |
enabled |
boolean |
Определяет, включен ли объект . |
exp |
integer |
Дата окончания срока действия в формате UTC. |
exportable |
boolean |
Указывает, можно ли экспортировать закрытый ключ. При создании первой версии экспортируемого ключа необходимо указать политику выпуска. |
nbf |
integer |
Не раньше даты в формате UTC. |
recoverableDays |
integer |
softDelete data retention days. Значение должно быть >равно =7 и =90, если softDelete включено, в <противном случае — 0. |
recoveryLevel |
Отражает уровень восстановления удаления, действующий в настоящее время для ключей в текущем хранилище. Если он содержит Purgeable, ключ может быть безвозвратно удален привилегированным пользователем; В противном случае только система может очистить ключ в конце интервала хранения. |
|
updated |
integer |
Время последнего обновления в формате UTC. |
KeyBundle
KeyBundle, состоящий из WebKey и его атрибутов.
Имя | Тип | Описание |
---|---|---|
attributes |
Атрибуты управления ключами. |
|
key |
Веб-ключ JSON. |
|
managed |
boolean |
Значение true, если время существования ключа управляется хранилищем ключей. Если это ключ, который поддерживает сертификат, то управляемый будет иметь значение 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 |
Кодирование BLOB-объектов — правила политики, в соответствии с которыми можно освободить ключ. Большой двоичный объект должен быть закодирован URL-адресом base64. |
|
immutable |
boolean |
Определяет состояние изменчивости политики. После пометки неизменяемый этот флаг нельзя сбросить, и политику нельзя изменить ни при каких обстоятельствах. |
KeyVaultError
Исключение ошибки хранилища ключей.
Имя | Тип | Описание |
---|---|---|
error |
Ошибка сервера хранилища ключей. |