Create Key

Prev Next

Classic/VPC 환경에서 이용 가능합니다.

신규 키를 생성합니다.

요청

요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.

메서드 URI
POST /keys

요청 헤더

Key Management Service API에서 공통으로 사용하는 헤더에 대한 정보는 Key Management Service 요청 헤더에서 계정 인증 방식을 참조해 주십시오.

요청 바디

요청 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
keyName String Required 키 이름
  • 3~15자로 영문자, 숫자, 특수문자 '-', '_'를 조합
  • 첫 글자는 영문이어야 하며 사용자의 키 저장소 내 다른 키 이름과 중복 불가
keyType String Required 키 타입
  • AES256 | RSA2048 | ECDSA
    • AES256: 대칭키 방식의 AES 암호(AES 256-GCM96)를 사용하는 256 비트 키
      • 최대 32 KB의 데이터 암호화 가능
    • RSA2048: 비대칭키 방식의 RSA 암호(RSA 2048)를 사용하는 2048 비트 키
      • 암호화ㆍ복호화, 서명ㆍ검증 기능을 모두 사용할 수 있으나 처리 속도가 가장 느림
      • 최대 190 바이트 데이터 암호화 또는 최대 8 KB 데이터 서명 가능
    • ECDSA: 비대칭키 방식의 ECDSA 암호(ECDSA-P256)를 사용하는 256 비트 키
      • 최대 8 KB의 데이터 서명 가능
memo String Optional 키 메모
  • 키에 대한 추가 정보 및 설명
  • 0~100자 입력 가능
isConvergent Boolean Optional 수렴 암호화(convergent encryption) 설정 여부
  • true | false (기본값)
    • true: 설정
    • false: 미설정
  • keyTypeAES256인 경우에만 설정 가능
isAutoRotation Boolean Required 키 자동 회전 활성화 여부
  • true | false (기본값)
    • true: 활성화
    • false: 비활성화
rotationPeriod Integer Optional 키 자동 회전 주기 설정(일)
  • 1~730 (기본값: 90)
  • isAutoRotationtrue인 경우 입력 가능
protectionType String Required 키 저장 방식
  • BASIC | COMMON_HSM
    • BASIC: 내부 스토리지에 암호화된 형태로 저장
    • COMMON_HSM: HSM (Hardware Security Module)에 저장

요청 예시

요청 예시는 다음과 같습니다.

curl --location --request POST 'https://ocapi.ncloud.com/kms/v1/keys' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--data '{
  "keyName": "{KEY_NAME}",
  "keyType": "AES256",
  "memo": "{KEY_DESCRIPTION}",
  "isConvergent": true,
  "isAutoRotation": true,
  "rotationPeriod": 90,
  "protectionType": "BASIC"
}'

응답

응답 형식을 설명합니다.

응답 바디

응답 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
code String - 성공 여부
data Object - 응답 결과
data.keyId Integer - 키 식별자
data.keyTag String - 키 태그
  • 키 이름에서 파생된 키의 고유 식별자
  • REST API로 암호화 또는 복호화 요청 시 사용
  • 키 태그는 기밀 정보로 취급되지 않음
data.keyName String - 키 이름
  • 키 이름은 기밀 정보로 취급되지 않음
data.keyType String - 키 타입
data.status String - 키 상태
  • ENABLE | DISABLE | REVOKE
    • ENABLE: 사용 가능
    • DISABLE: 사용 중지
    • REVOKE: 삭제 예정
    • 키 상태에 대한 자세한 내용은 키 상태 관리 참조
data.keystoreId Integer - 사용자에게 할당된 논리적 키 저장소 식별자
data.protectionType String - 키 저장 방식
  • BASIC | COMMON_HSM
    • BASIC: 내부 스토리지에 암호화된 형태로 저장
    • COMMON_HSM: HSM (Hardware Security Module)에 저장
data.memo String - 키 메모
  • 생성 시 입력한 키에 대한 추가 정보 및 설명
data.isConvergent Boolean - 수렴 암호화 설정 여부
  • true | false
    • true: 설정
    • false: 미설정
data.isAutoRotation Boolean - 키 자동 회전 활성화 여부
  • true | false
    • true: 활성화
    • false: 비활성화
data.rotationPeriod Integer - 키 자동 회전 주기(일)
data.nextRotationDate Long - 다음 회전 예정 일시(밀리초)
  • Unix Timestamp 형식
data.registerDate Long - 키 생성 일시(밀리초)
  • Unix Timestamp 형식

응답 상태 코드

Key Management Service API에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 Key Management Service 응답 상태 코드를 참조해 주십시오.

응답 예시

응답 예시는 다음과 같습니다.

{
    "code": "SUCCESS",
    "data": {
        "keyId": 12345,
        "keyTag": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6"
        "keyName": "{KEY_NAME}",
        "keyType": "AES256",
        "status": "ENABLE",
        "keystoreId": 1234,
        "protectionType": "BASIC",
        "memo": "{KEY_DESCRIPTION}",
        "isConvergent": true,
        "isAutoRotation": true,
        "rotationPeriod": 90,
        "nextRotationDate": 1741156631314,
        "registerDate": 1733380631000
    }
}