Import Key - Import Key
Импортирует внешний ключ, сохраняет его и возвращает ключевые параметры и атрибуты клиенту.
Операция импорта ключа может использоваться для импорта любого типа ключа в Azure Key Vault. Если именованный ключ уже существует, Azure Key Vault создает новую версию ключа. Для этой операции требуются разрешения на ключи и импорт.
PUT {vaultBaseUrl}/keys/{key-name}?api-version=7.4
Параметры URI
Имя | В | Обязательно | Тип | Описание |
---|---|---|---|---|
key-name
|
path | True |
string pattern: ^[0-9a-zA-Z-]+$ |
Имя импортированного ключа. Указанное значение может быть скопировано глобально для запуска службы. Указанное значение не должно включать личную или конфиденциальную информацию. |
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 |
Обозначает состояние хранилища, в котором удаление можно восстановить без возможности немедленного и постоянного удаления (т. е. очистка при 7<= SoftDeleteRetentionInDays < 90). Этот уровень гарантирует возможность восстановления удаленной сущности во время периода хранения и пока подписка по-прежнему доступна. |
CustomizedRecoverable+ProtectedSubscription |
Обозначает состояние хранилища и подписки, в котором удаление можно восстановить, немедленное и постоянное удаление (т. е. очистка) не допускается, и при этом сама подписка не может быть окончательно отменена, когда 7<= SoftDeleteRetentionInDays < 90. Этот уровень гарантирует возможность восстановления удаленной сущности во время интервала хранения, а также отражает тот факт, что сама подписка не может быть отменена. |
CustomizedRecoverable+Purgeable |
Обозначает состояние хранилища, в котором можно восстановить удаление, а также разрешает немедленное и постоянное удаление (т. е. очистка при 7<= SoftDeleteRetentionInDays < 90). Этот уровень гарантирует возможность восстановления удаленной сущности во время интервала хранения, если не запрашивается операция очистки или подписка отменена. |
Purgeable |
Обозначает состояние хранилища, в котором удаление является необратимой операцией без возможности восстановления. Этот уровень не соответствует защите от операции delete; данные безвозвратно теряются при принятии операции удаления на уровне сущности или выше (хранилище, группа ресурсов, подписка и т. д.). |
Recoverable |
Обозначает состояние хранилища, в котором удаление можно восстановить без возможности немедленного и постоянного удаления (т. е. очистки). Этот уровень гарантирует возможность восстановления удаленной сущности в течение интервала хранения (90 дней) и пока подписка по-прежнему доступна. Система будет окончательно удалять ее через 90 дней, если не восстановлена |
Recoverable+ProtectedSubscription |
Обозначает состояние хранилища и подписки, в котором удаление можно восстановить в пределах интервала хранения (90 дней), немедленное и постоянное удаление (т. е. очистка) не допускается, и при этом сама подписка не может быть окончательно отменена. Система будет окончательно удалять ее через 90 дней, если не восстановлена |
Recoverable+Purgeable |
Обозначает состояние хранилища, в котором можно восстановить удаление, а также разрешает немедленное и постоянное удаление (т. е. очистка). Этот уровень гарантирует возможность восстановления удаленной сущности в течение интервала хранения (90 дней), если операция очистки не запрашивается или подписка отменена. Система будет окончательно удалять ее через 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) |
Общедоступный экспонент RSA. |
k |
string (base64url) |
Симметричный ключ. |
key_hsm |
string (base64url) |
Защищенный ключ, используемый с параметром "Принести собственный ключ". |
key_ops |
string[] |
Поддерживаемые ключевые операции. |
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 secret prime. |
q |
string (base64url) |
RSA secret prime, с p < q. |
qi |
string (base64url) |
Параметр закрытого ключа RSA. |
x |
string (base64url) |
Компонент X открытого ключа EC. |
y |
string (base64url) |
Компонент Y открытого ключа EC. |
JsonWebKeyCurveName
Имя эллиптической кривой. Допустимые значения см. в разделе JsonWebKeyCurveName.
Значение | Описание |
---|---|
P-256 |
Эллиптическая кривая NIST P-256, кривая AKA SECG SECP256R1. |
P-256K |
SECP256K1 эллиптической кривой SECG. |
P-384 |
Эллиптическая кривая NIST P-384, кривая AKA SECG SECP384R1. |
P-521 |
Эллиптическая кривая NIST P-521, кривая AKA SECG SECP521R1. |
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. |
KeyAttributes
Атрибуты ключа, управляемого службой хранилища ключей.
Имя | Тип | Описание |
---|---|---|
created |
integer (unixtime) |
Время создания в формате UTC. |
enabled |
boolean |
Определяет, включен ли объект. |
exp |
integer (unixtime) |
Дата окончания срока действия в формате UTC. |
exportable |
boolean |
Указывает, можно ли экспортировать закрытый ключ. Политика выпуска должна быть предоставлена при создании первой версии экспортируемого ключа. |
nbf |
integer (unixtime) |
Не до даты в формате UTC. |
recoverableDays |
integer (int32) |
Дни хранения данных softDelete. Значение должно быть >=7 и <=90 при включении softDelete, в противном случае — 0. |
recoveryLevel |
Отражает уровень восстановления удаления, который в настоящее время действует для ключей в текущем хранилище. Если он содержит "Purgeable", ключ может быть окончательно удален привилегированным пользователем; в противном случае только система может очистить ключ в конце интервала хранения. |
|
updated |
integer (unixtime) |
Последнее обновление времени в формате 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 (base64url) |
Кодирование BLOB-объектов правил политики, в которых можно освободить ключ. Большой двоичный объект должен быть закодирован в кодировке Base64. |
|
immutable |
boolean |
Определяет состояние изменяемости политики. Помечая неизменяемый, этот флаг нельзя сбросить, и политика не может быть изменена в любых обстоятельствах. |
KeyVaultError
Исключение ошибки хранилища ключей.
Имя | Тип | Описание |
---|---|---|
error |
Ошибка сервера хранилища ключей. |