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-]+$ |
새 키의 이름입니다. 시스템은 새 키의 버전 이름을 생성합니다. 사용자가 제공하는 값은 서비스를 실행하기 위해 전역적으로 복사될 수 있습니다. 제공되는 값에는 개인 식별 정보나 민감한 정보가 포함되어서는 안 됩니다. |
|
vault
|
path | True |
string (uri) |
|
|
api-version
|
query | True |
string minLength: 1 |
이 작업에 사용할 API 버전입니다. |
요청 본문
| Name | 필수 | 형식 | Description |
|---|---|---|---|
| kty | True |
만들 키의 형식입니다. 유효한 값은 JsonWebKeyType을 참조하세요. |
|
| attributes |
키 자격 증명 모음 서비스에서 관리하는 키의 특성입니다. |
||
| crv |
타원 곡선 이름입니다. 유효한 값은 JsonWebKeyCurveName을 참조하세요. |
||
| key_ops |
Json 웹 키 작업. 가능한 키 작업에 대한 자세한 내용은 JsonWebKeyOperation을 참조하세요. |
||
| key_size |
integer (int32) |
키 크기(비트)입니다. 예: RSA의 경우 2048, 3072 또는 4096입니다. |
|
| public_exponent |
integer (int32) |
RSA 키에 대한 공용 지수입니다. |
|
| release_policy |
키를 내보낼 수 있는 정책 규칙입니다. |
||
| tags |
object |
키-값 쌍 형태의 애플리케이션별 메타데이터입니다. |
응답
| Name | 형식 | Description |
|---|---|---|
| 200 OK |
요청이 성공했습니다. |
|
| Other Status Codes |
예기치 않은 오류 응답입니다. |
보안
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 |
|---|---|
|
Deletion |
현재 자격 증명 모음의 인증서에 대해 현재 적용 중인 삭제 복구 수준을 반영합니다. 'Purgeable'이 포함된 경우 권한 있는 사용자가 인증서를 영구적으로 삭제할 수 있습니다. 그렇지 않으면 보존 간격이 끝날 때 시스템만 인증서를 제거할 수 있습니다. |
| Error | |
|
Json |
현재 http://tools.ietf.org/html/draft-ietf-jose-json-web-key-18 |
|
Json |
타원 곡선 이름입니다. 유효한 값은 JsonWebKeyCurveName을 참조하세요. |
|
Json |
JSON 웹 키 작업. 자세한 내용은 JsonWebKeyOperation을 참조하세요. |
|
Json |
에 정의된 대로 JsonWebKey 키 유형(kty)을 https://tools.ietf.org/html/draft-ietf-jose-json-web-algorithms-40사용합니다. |
|
Key |
키 증명 정보입니다. |
|
Key |
키 자격 증명 모음 서비스에서 관리하는 키의 특성입니다. |
|
Key |
WebKey와 해당 속성으로 구성된 KeyBundle입니다. |
|
Key |
키 생성 매개 변수입니다. |
|
Key |
키를 내보낼 수 있는 정책 규칙입니다. |
|
Key |
키 자격 증명 모음 오류 예외입니다. |
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 |
키 자격 증명 모음 서버 오류입니다. |
|
| message |
string |
오류 메시지입니다. |
JsonWebKey
현재 http://tools.ietf.org/html/draft-ietf-jose-json-web-key-18
| Name | 형식 | Description |
|---|---|---|
| crv |
타원 곡선 이름입니다. 유효한 값은 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 |
에 정의된 대로 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-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 |
키 또는 키 버전 증명 정보입니다. |
|
| 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 |
현재 자격 증명 모음의 키에 대해 현재 적용 중인 삭제 복구 수준을 반영합니다. 'Purgeable'이 포함된 경우 권한 있는 사용자가 키를 영구적으로 삭제할 수 있습니다. 그렇지 않으면 보존 간격이 끝날 때 시스템만 키를 제거할 수 있습니다. |
|
| updated |
integer (unixtime) |
UTC로 마지막 업데이트 시간입니다. |
KeyBundle
WebKey와 해당 속성으로 구성된 KeyBundle입니다.
| Name | 형식 | Description |
|---|---|---|
| attributes |
키 관리 속성입니다. |
|
| key |
Json 웹 키입니다. |
|
| managed |
boolean |
키의 수명이 키 자격 증명 모음에서 관리되는 경우 True입니다. 인증서를 지원하는 키인 경우 관리는 true입니다. |
| release_policy |
키를 내보낼 수 있는 정책 규칙입니다. |
|
| tags |
object |
키-값 쌍 형태의 애플리케이션별 메타데이터입니다. |
KeyCreateParameters
키 생성 매개 변수입니다.
| Name | 형식 | Description |
|---|---|---|
| attributes |
키 자격 증명 모음 서비스에서 관리하는 키의 특성입니다. |
|
| crv |
타원 곡선 이름입니다. 유효한 값은 JsonWebKeyCurveName을 참조하세요. |
|
| key_ops |
Json 웹 키 작업. 가능한 키 작업에 대한 자세한 내용은 JsonWebKeyOperation을 참조하세요. |
|
| key_size |
integer (int32) |
키 크기(비트)입니다. 예: RSA의 경우 2048, 3072 또는 4096입니다. |
| kty |
만들 키의 형식입니다. 유효한 값은 JsonWebKeyType을 참조하세요. |
|
| public_exponent |
integer (int32) |
RSA 키에 대한 공용 지수입니다. |
| release_policy |
키를 내보낼 수 있는 정책 규칙입니다. |
|
| 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 |
키 자격 증명 모음 서버 오류입니다. |