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: |
vault
|
path | True |
string |
Имя хранилища, например https://myvault.vault.azure.net. |
api-version
|
query | True |
string |
Версия API клиента. |
Текст запроса
Имя | Обязательно | Тип | Описание |
---|---|---|---|
kty | True |
Тип создаваемого ключа. Допустимые значения см. в разделе JsonWebKeyType. |
|
attributes |
Атрибуты ключа, управляемого службой хранилища ключей. |
||
crv |
Имя эллиптической кривой. Допустимые значения см. в разделе JsonWebKeyCurveName. |
||
key_ops |
Операции с веб-ключом JSON. Дополнительные сведения см. в разделе JsonWebKeyOperation. |
||
key_size |
integer |
Размер ключа в битах. Например: 2048, 3072 или 4096 для RSA. |
|
public_exponent |
integer |
Открытый показатель экспоненты для ключа RSA. |
|
release_policy |
Правила политики, в соответствии с которыми можно экспортировать ключ. |
||
tags |
object |
Метаданные конкретного приложения в виде пар «ключ — значение». |
Ответы
Имя | Тип | Описание |
---|---|---|
200 OK |
Пакет ключей, содержащий результат запроса на создание ключа. |
|
Other Status Codes |
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"
}
}
Определения
Имя | Описание |
---|---|
Deletion |
Отражает уровень восстановления удаления, действующий в настоящее время для ключей в текущем хранилище. Если он содержит Purgeable, ключ может быть безвозвратно удален привилегированным пользователем; В противном случае только система может очистить ключ в конце интервала хранения. |
Error |
Ошибка сервера хранилища ключей. |
Json |
По состоянию на http://tools.ietf.org/html/draft-ietf-jose-json-web-key-18 |
Json |
Имя эллиптической кривой. Допустимые значения см. в разделе JsonWebKeyCurveName. |
Json |
|
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. |
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-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 |
Метаданные конкретного приложения в виде пар «ключ — значение». |
KeyCreateParameters
Ключ создает параметры.
Имя | Тип | Описание |
---|---|---|
attributes |
Атрибуты ключа, управляемого службой хранилища ключей. |
|
crv |
Имя эллиптической кривой. Допустимые значения см. в разделе JsonWebKeyCurveName. |
|
key_ops |
Операции с веб-ключом JSON. Дополнительные сведения см. в разделе JsonWebKeyOperation. |
|
key_size |
integer |
Размер ключа в битах. Например: 2048, 3072 или 4096 для RSA. |
kty |
Тип создаваемого ключа. Допустимые значения см. в разделе JsonWebKeyType. |
|
public_exponent |
integer |
Открытый показатель экспоненты для ключа RSA. |
release_policy |
Правила политики, в соответствии с которыми можно экспортировать ключ. |
|
tags |
object |
Метаданные конкретного приложения в виде пар «ключ — значение». |
KeyReleasePolicy
Правила политики, в соответствии с которыми можно экспортировать ключ.
Имя | Тип | Значение по умолчанию | Описание |
---|---|---|---|
contentType |
string |
application/json; charset=utf-8 |
Тип контента и версия политики выпуска ключа |
data |
string |
Кодирование BLOB-объектов — правила политики, в соответствии с которыми можно освободить ключ. Большой двоичный объект должен быть закодирован URL-адресом base64. |
|
immutable |
boolean |
Определяет состояние изменчивости политики. После пометки неизменяемый этот флаг нельзя сбросить, и политику нельзя изменить ни при каких обстоятельствах. |
KeyVaultError
Исключение ошибки хранилища ключей.
Имя | Тип | Описание |
---|---|---|
error |
Ошибка сервера хранилища ключей. |