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


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

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

vaultBaseUrl
path True

string

Имя хранилища, например https://myvault.vault.azure.net.

api-version
query True

string

Версия КЛИЕНТСКОго API.

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

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

JsonWebKey

Веб-ключ Json

Hsm

boolean

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

attributes

KeyAttributes

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

release_policy

KeyReleasePolicy

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

tags

object

Определенные метаданные приложения в виде пар "ключ-значение".

Ответы

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

KeyBundle

Импортированный пакет ключей в хранилище.

Other Status Codes

KeyVaultError

Ответ об ошибке 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"
  }
}

Определения

Имя Описание
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.

KeyAttributes

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

KeyBundle

KeyBundle, состоящий из WebKey плюс его атрибуты.

KeyImportParameters

Параметры импорта ключей.

KeyReleasePolicy

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

KeyVaultError

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

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

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)

Общедоступный экспонент RSA.

k

string (base64url)

Симметричный ключ.

key_hsm

string (base64url)

Защищенный ключ, используемый с параметром "Принести собственный ключ".

key_ops

string[]

Поддерживаемые ключевые операции.

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 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 (https://tools.ietf.org/html/rfc3447)

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

DeletionRecoveryLevel

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

updated

integer (unixtime)

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

KeyBundle

KeyBundle, состоящий из WebKey плюс его атрибуты.

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

KeyAttributes

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

key

JsonWebKey

Веб-ключ JSON.

managed

boolean

Значение true, если время существования ключа управляется хранилищем ключей. Если это ключ, который поддерживает сертификат, то управление будет иметь значение 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-объектов правил политики, в которых можно освободить ключ. Большой двоичный объект должен быть закодирован в кодировке Base64.

immutable

boolean

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

KeyVaultError

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

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

Error

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