Create Key - Create Key

새 키를 만들어 저장한 다음 키 매개 변수와 특성을 클라이언트에 반환합니다.
키 만들기 작업을 사용하여 Azure Key Vault에서 모든 키 형식을 만들 수 있습니다. 명명된 키가 이미 있는 경우 Azure Key Vault는 키의 새 버전을 만듭니다. 키/만들기 권한이 필요합니다.

POST {vaultBaseUrl}/keys/{key-name}/create?api-version=2025-07-01

URI 매개 변수

Name In(다음 안에) 필수 형식 Description
key-name
path True

string

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

새 키의 이름입니다. 시스템은 새 키의 버전 이름을 생성합니다. 사용자가 제공하는 값은 서비스를 실행하기 위해 전역적으로 복사될 수 있습니다. 제공되는 값에는 개인 식별 정보나 민감한 정보가 포함되어서는 안 됩니다.

vaultBaseUrl
path True

string (uri)

api-version
query True

string

minLength: 1

이 작업에 사용할 API 버전입니다.

요청 본문

Name 필수 형식 Description
kty True

JsonWebKeyType

만들 키의 형식입니다. 유효한 값은 JsonWebKeyType을 참조하세요.

attributes

KeyAttributes

키 자격 증명 모음 서비스에서 관리하는 키의 특성입니다.

crv

JsonWebKeyCurveName

타원 곡선 이름입니다. 유효한 값은 JsonWebKeyCurveName을 참조하세요.

key_ops

JsonWebKeyOperation[]

Json 웹 키 작업. 가능한 키 작업에 대한 자세한 내용은 JsonWebKeyOperation을 참조하세요.

key_size

integer (int32)

키 크기(비트)입니다. 예: RSA의 경우 2048, 3072 또는 4096입니다.

public_exponent

integer (int32)

RSA 키에 대한 공용 지수입니다.

release_policy

KeyReleasePolicy

키를 내보낼 수 있는 정책 규칙입니다.

tags

object

키-값 쌍 형태의 애플리케이션별 메타데이터입니다.

응답

Name 형식 Description
200 OK

KeyBundle

요청이 성공했습니다.

Other Status Codes

KeyVaultError

예기치 않은 오류 응답입니다.

보안

OAuth2Auth

형식: oauth2
Flow: implicit
권한 부여 URL: https://login.microsoftonline.com/common/oauth2/authorize

범위

Name Description
https://vault.azure.net/.default

예제

Create key

샘플 요청

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

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

샘플 응답

{
  "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"
  }
}

정의

Name Description
DeletionRecoveryLevel

현재 자격 증명 모음의 인증서에 대해 현재 적용 중인 삭제 복구 수준을 반영합니다. 'Purgeable'이 포함된 경우 권한 있는 사용자가 인증서를 영구적으로 삭제할 수 있습니다. 그렇지 않으면 보존 간격이 끝날 때 시스템만 인증서를 제거할 수 있습니다.

Error
JsonWebKey

현재 http://tools.ietf.org/html/draft-ietf-jose-json-web-key-18

JsonWebKeyCurveName

타원 곡선 이름입니다. 유효한 값은 JsonWebKeyCurveName을 참조하세요.

JsonWebKeyOperation

JSON 웹 키 작업. 자세한 내용은 JsonWebKeyOperation을 참조하세요.

JsonWebKeyType

에 정의된 대로 JsonWebKey 키 유형(kty)을 https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40사용합니다.

KeyAttestation

키 증명 정보입니다.

KeyAttributes

키 자격 증명 모음 서비스에서 관리하는 키의 특성입니다.

KeyBundle

WebKey와 해당 속성으로 구성된 KeyBundle입니다.

KeyCreateParameters

키 생성 매개 변수입니다.

KeyReleasePolicy

키를 내보낼 수 있는 정책 규칙입니다.

KeyVaultError

키 자격 증명 모음 오류 예외입니다.

DeletionRecoveryLevel

현재 자격 증명 모음의 인증서에 대해 현재 적용 중인 삭제 복구 수준을 반영합니다. 'Purgeable'이 포함된 경우 권한 있는 사용자가 인증서를 영구적으로 삭제할 수 있습니다. 그렇지 않으면 보존 간격이 끝날 때 시스템만 인증서를 제거할 수 있습니다.

Description
Purgeable

삭제가 복구 가능성 없이 되돌릴 수 없는 작업인 볼트 상태를 나타냅니다. 이 수준은 삭제 작업에 대해 사용할 수 있는 보호가 없음에 해당합니다. 엔터티 수준 이상(자격 증명 모음, 리소스 그룹, 구독 등)에서 삭제 작업을 수락하면 데이터가 복구할 수 없을 정도로 손실됩니다.

Recoverable+Purgeable

삭제를 복구할 수 있고 즉시 및 영구적인 삭제(예: 제거)를 허용하는 볼트 상태를 나타냅니다. 이 수준은 제거 작업이 요청되거나 구독이 취소되지 않는 한 보존 간격(90일) 동안 삭제된 엔터티의 복구 가능성을 보장합니다. 시스템은 복구되지 않으면 90일 후에 영구적으로 삭제됩니다.

Recoverable

즉각적이고 영구적인 삭제(예: 제거)의 가능성 없이 삭제를 복구할 수 있는 볼트 상태를 나타냅니다. 이 수준은 보존 간격(90일) 동안 구독을 계속 사용할 수 있는 동안 삭제된 엔터티의 복구 가능성을 보장합니다. 시스템은 복구되지 않으면 90일 후에 영구적으로 삭제됩니다.

Recoverable+ProtectedSubscription

보존 간격(90일) 내에 삭제를 복구할 수 있고, 즉시 및 영구 삭제(예: 제거)가 허용되지 않으며, 구독 자체를 영구적으로 취소할 수 없는 볼트 및 구독 상태를 나타냅니다. 시스템은 복구되지 않으면 90일 후에 영구적으로 삭제됩니다.

CustomizedRecoverable+Purgeable

삭제를 복구할 수 있고 즉시 및 영구적인 삭제도 허용하는 볼트 상태를 나타냅니다(즉, 7 <= SoftDeleteRetentionInDays < 90인 경우 제거). 이 수준은 제거 작업이 요청되거나 구독이 취소되지 않는 한 보존 간격 동안 삭제된 엔터티의 복구 가능성을 보장합니다.

CustomizedRecoverable

즉각적이고 영구적인 삭제 가능성 없이 삭제를 복구할 수 있는 볼트 상태를 나타냅니다(즉, 7 <= SoftDeleteRetentionInDays < 90인 경우 제거). 이 수준은 보존 간격 동안 그리고 구독을 계속 사용할 수 있는 동안 삭제된 엔터티의 복구 가능성을 보장합니다.

CustomizedRecoverable+ProtectedSubscription

삭제를 복구할 수 있고, 즉시 및 영구 삭제(예: 제거)가 허용되지 않으며, 7 <= SoftDeleteRetentionInDays < 90인 경우 구독 자체를 영구적으로 취소할 수 없는 볼트 및 구독 상태를 나타냅니다. 이 수준은 보존 간격 동안 삭제된 엔터티의 복구 가능성을 보장하며 구독 자체를 취소할 수 없다는 사실도 반영합니다.

Error

Name 형식 Description
code

string

오류 코드입니다.

innererror

Error

키 자격 증명 모음 서버 오류입니다.

message

string

오류 메시지입니다.

JsonWebKey

현재 http://tools.ietf.org/html/draft-ietf-jose-json-web-key-18

Name 형식 Description
crv

JsonWebKeyCurveName

타원 곡선 이름입니다. 유효한 값은 JsonWebKeyCurveName을 참조하세요.

d

string (base64url)

RSA 개인 지수 또는 EC 개인 키의 D 구성 요소입니다.

dp

string (base64url)

RSA 개인 키 매개 변수.

dq

string (base64url)

RSA 개인 키 매개 변수.

e

string (base64url)

RSA 공개 지수입니다.

k

string (base64url)

대칭 키.

key_hsm

string (base64url)

'Bring Your Own Key'와 함께 사용되는 보호된 키입니다.

key_ops

string[]

Json 웹 키 작업. 가능한 키 작업에 대한 자세한 내용은 JsonWebKeyOperation을 참조하세요.

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 비밀 소수.

q

string (base64url)

RSA 비밀 소수, p < q.

qi

string (base64url)

RSA 개인 키 매개 변수.

x

string (base64url)

X 구성 요소입니다.

y

string (base64url)

Y EC 공개 키의 구성 요소입니다.

JsonWebKeyCurveName

타원 곡선 이름입니다. 유효한 값은 JsonWebKeyCurveName을 참조하세요.

Description
P-256

NIST P-256 타원 곡선, 일명 SECG 곡선 SECP256R1.

P-384

NIST P-384 타원 곡선, 일명 SECG 곡선 SECP384R1.

P-521

NIST P-521 타원 곡선, 일명 SECG 곡선 SECP521R1.

P-256K

SECG SECP256K1 타원 곡선입니다.

JsonWebKeyOperation

JSON 웹 키 작업. 자세한 내용은 JsonWebKeyOperation을 참조하세요.

Description
encrypt

키를 암호화하는 데 사용할 수 있음을 나타냅니다.

decrypt

키를 사용하여 암호를 해독할 수 있음을 나타냅니다.

sign

키를 사용하여 서명할 수 있음을 나타냅니다.

verify

키를 사용하여 확인할 수 있음을 나타냅니다.

wrapKey

키를 사용하여 다른 키를 래핑할 수 있음을 나타냅니다.

unwrapKey

키를 사용하여 다른 키의 래핑을 해제할 수 있음을 나타냅니다.

import

만드는 동안 키를 가져올 수 있음을 나타냅니다.

export

키의 개인 구성 요소를 내보낼 수 있음을 나타냅니다.

JsonWebKeyType

에 정의된 대로 JsonWebKey 키 유형(kty)을 https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40사용합니다.

Description
EC

타원 곡선.

EC-HSM

HSM에 저장된 개인 키가 있는 타원 곡선입니다.

RSA

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

RSA-HSM

HSM에 저장된 개인 키가 있는 RSA.

oct

옥텟 시퀀스(대칭 키를 나타내는 데 사용됨)

oct-HSM

HSM에 저장되는 옥텟 시퀀스(대칭 키를 나타내는 데 사용됨).

KeyAttestation

키 증명 정보입니다.

Name 형식 Description
certificatePemFile

string (base64url)

증명 유효성 검사에 사용되는 PEM 형식의 인증서를 포함하는 base64url 인코딩 문자열입니다.

privateKeyAttestation

string (base64url)

프라이빗 키에 해당하는 base64url 문자열로 인코딩된 증명 Blob 바이트입니다.

publicKeyAttestation

string (base64url)

비대칭 키의 경우 공개 키에 해당하는 base64url 문자열로 인코딩된 증명 Blob 바이트입니다.

version

string

증명의 버전입니다.

KeyAttributes

키 자격 증명 모음 서비스에서 관리하는 키의 특성입니다.

Name 형식 Description
attestation

KeyAttestation

키 또는 키 버전 증명 정보입니다.

created

integer (unixtime)

UTC의 생성 시간입니다.

enabled

boolean

개체를 사용할 수 있는지 여부를 결정합니다.

exp

integer (unixtime)

만료 날짜(UTC)입니다.

exportable

boolean

프라이빗 키를 내보낼 수 있는지를 나타냅니다. 내보내기 가능한 키의 첫 번째 버전을 만들 때 릴리스 정책을 제공해야 합니다.

hsmPlatform

string

기본 HSM 플랫폼입니다.

nbf

integer (unixtime)

UTC의 날짜 이전이 아닙니다.

recoverableDays

integer (int32)

softDelete 데이터 보존 일 수입니다. softDelete를 사용하도록 설정하면 값은 =7 및 >=90이어야 <하며, 그렇지 않으면 0이어야 합니다.

recoveryLevel

DeletionRecoveryLevel

현재 자격 증명 모음의 키에 대해 현재 적용 중인 삭제 복구 수준을 반영합니다. 'Purgeable'이 포함된 경우 권한 있는 사용자가 키를 영구적으로 삭제할 수 있습니다. 그렇지 않으면 보존 간격이 끝날 때 시스템만 키를 제거할 수 있습니다.

updated

integer (unixtime)

UTC로 마지막 업데이트 시간입니다.

KeyBundle

WebKey와 해당 속성으로 구성된 KeyBundle입니다.

Name 형식 Description
attributes

KeyAttributes

키 관리 속성입니다.

key

JsonWebKey

Json 웹 키입니다.

managed

boolean

키의 수명이 키 자격 증명 모음에서 관리되는 경우 True입니다. 인증서를 지원하는 키인 경우 관리는 true입니다.

release_policy

KeyReleasePolicy

키를 내보낼 수 있는 정책 규칙입니다.

tags

object

키-값 쌍 형태의 애플리케이션별 메타데이터입니다.

KeyCreateParameters

키 생성 매개 변수입니다.

Name 형식 Description
attributes

KeyAttributes

키 자격 증명 모음 서비스에서 관리하는 키의 특성입니다.

crv

JsonWebKeyCurveName

타원 곡선 이름입니다. 유효한 값은 JsonWebKeyCurveName을 참조하세요.

key_ops

JsonWebKeyOperation[]

Json 웹 키 작업. 가능한 키 작업에 대한 자세한 내용은 JsonWebKeyOperation을 참조하세요.

key_size

integer (int32)

키 크기(비트)입니다. 예: RSA의 경우 2048, 3072 또는 4096입니다.

kty

JsonWebKeyType

만들 키의 형식입니다. 유효한 값은 JsonWebKeyType을 참조하세요.

public_exponent

integer (int32)

RSA 키에 대한 공용 지수입니다.

release_policy

KeyReleasePolicy

키를 내보낼 수 있는 정책 규칙입니다.

tags

object

키-값 쌍 형태의 애플리케이션별 메타데이터입니다.

KeyReleasePolicy

키를 내보낼 수 있는 정책 규칙입니다.

Name 형식 Default value Description
contentType

string

application/json; charset=utf-8

키 릴리스 정책의 콘텐츠 형식 및 버전

data

string (base64url)

키를 해제할 수 있는 정책 규칙을 인코딩하는 Blob입니다. Blob은 base64 URL로 인코딩되어야 합니다.

immutable

boolean

정책의 변경 가능성 상태를 정의합니다. 변경할 수 없는 것으로 표시되면 이 플래그를 다시 설정할 수 없으며 어떤 상황에서도 정책을 변경할 수 없습니다.

KeyVaultError

키 자격 증명 모음 오류 예외입니다.

Name 형식 Description
error

Error

키 자격 증명 모음 서버 오류입니다.