Create Key - Create Key

Создает новый ключ, сохраняет его, возвращает параметры и атрибуты ключа клиенту.
Операцию создания ключа можно использовать для создания ключа любого типа в Azure Key Vault. Если именованный ключ уже существует, хранилище ключей Azure создает новую версию ключа. Для этого требуется разрешение на создание ключей.

POST {vaultBaseUrl}/keys/{key-name}/create?api-version=7.4

Параметры URI

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

string

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

Regex pattern: ^[0-9a-zA-Z-]+$

vaultBaseUrl
path True

string

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

api-version
query True

string

Версия API клиента.

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

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

JsonWebKeyType

Тип создаваемого ключа. Допустимые значения см. в разделе JsonWebKeyType.

attributes

KeyAttributes

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

crv

JsonWebKeyCurveName

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

key_ops

JsonWebKeyOperation[]

Операции с веб-ключом JSON. Дополнительные сведения см. в разделе JsonWebKeyOperation.

key_size

integer

Размер ключа в битах. Например: 2048, 3072 или 4096 для RSA.

public_exponent

integer

Открытый показатель экспоненты для ключа RSA.

release_policy

KeyReleasePolicy

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

tags

object

Метаданные конкретного приложения в виде пар «ключ — значение».

Ответы

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

KeyBundle

Пакет ключей, содержащий результат запроса на создание ключа.

Other Status Codes

KeyVaultError

Key Vault ответ об ошибке, описывающий причину сбоя операции.

Примеры

Create key

Sample Request

POST https://myvault.vault.azure.net//keys/CreateSoftKeyTest/create?api-version=7.4

{
  "kty": "RSA",
  "key_size": 2048,
  "key_ops": [
    "encrypt",
    "decrypt",
    "sign",
    "verify",
    "wrapKey",
    "unwrapKey"
  ],
  "attributes": {},
  "tags": {
    "purpose": "unit test",
    "test name ": "CreateGetDeleteKeyTest"
  }
}

Sample Response

{
  "key": {
    "kid": "https://myvault.vault.azure.net/keys/CreateSoftKeyTest/78deebed173b48e48f55abf87ed4cf71",
    "kty": "RSA",
    "key_ops": [
      "encrypt",
      "decrypt",
      "sign",
      "verify",
      "wrapKey",
      "unwrapKey"
    ],
    "n": "2HJAE5fU3Cw2Rt9hEuq-F6XjINKGa-zskfISVqopqUy60GOs2eyhxbWbJBeUXNor_gf-tXtNeuqeBgitLeVa640UDvnEjYTKWjCniTxZRaU7ewY8BfTSk-7KxoDdLsPSpX_MX4rwlAx-_1UGk5t4sQgTbm9T6Fm2oqFd37dsz5-Gj27UP2GTAShfJPFD7MqU_zIgOI0pfqsbNL5xTQVM29K6rX4jSPtylZV3uWJtkoQIQnrIHhk1d0SC0KwlBV3V7R_LVYjiXLyIXsFzSNYgQ68ZjAwt8iL7I8Osa-ehQLM13DVvLASaf7Jnu3sC3CWl3Gyirgded6cfMmswJzY87w",
    "e": "AQAB"
  },
  "attributes": {
    "enabled": true,
    "created": 1493942451,
    "updated": 1493942451,
    "recoveryLevel": "Recoverable+Purgeable"
  },
  "tags": {
    "purpose": "unit test",
    "test name ": "CreateGetDeleteKeyTest"
  }
}

Определения

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

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

Error

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

JsonWebKey

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

JsonWebKeyCurveName

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

JsonWebKeyOperation
JsonWebKeyType

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

KeyAttributes

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

KeyBundle

KeyBundle, состоящий из WebKey и его атрибутов.

KeyCreateParameters

Ключ создает параметры.

KeyReleasePolicy

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

KeyVaultError

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

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

Error

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

message

string

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

JsonWebKey

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

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

JsonWebKeyCurveName

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

JsonWebKeyType

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

JsonWebKeyOperation

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

string

encrypt

string

export

string

import

string

sign

string

unwrapKey

string

verify

string

wrapKey

string

JsonWebKeyType

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

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

string

Эллиптическая кривая.

EC-HSM

string

Эллиптическая кривая с закрытым ключом, который хранится в HSM.

RSA

string

RSA (https://tools.ietf.org/html/rfc3447)

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

DeletionRecoveryLevel

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

updated

integer

Время последнего обновления в формате UTC.

KeyBundle

KeyBundle, состоящий из WebKey и его атрибутов.

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

KeyAttributes

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

key

JsonWebKey

Веб-ключ JSON.

managed

boolean

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

release_policy

KeyReleasePolicy

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

tags

object

Метаданные конкретного приложения в виде пар «ключ — значение».

KeyCreateParameters

Ключ создает параметры.

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

KeyAttributes

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

crv

JsonWebKeyCurveName

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

key_ops

JsonWebKeyOperation[]

Операции с веб-ключом JSON. Дополнительные сведения см. в разделе JsonWebKeyOperation.

key_size

integer

Размер ключа в битах. Например: 2048, 3072 или 4096 для RSA.

kty

JsonWebKeyType

Тип создаваемого ключа. Допустимые значения см. в разделе JsonWebKeyType.

public_exponent

integer

Открытый показатель экспоненты для ключа RSA.

release_policy

KeyReleasePolicy

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

tags

object

Метаданные конкретного приложения в виде пар «ключ — значение».

KeyReleasePolicy

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

Имя Тип Значение по умолчанию Описание
contentType

string

application/json; charset=utf-8

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

data

string

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

immutable

boolean

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

KeyVaultError

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

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

Error

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