- 인쇄
- PDF
Key Management Service 개요
- 인쇄
- PDF
Classic/VPC 환경에서 이용 가능합니다.
Key Management Service는 암호화 운영 및 구현에 필수적인 암호 키 관리 기능을 제공하는 네이버 클라우드 플랫폼의 서비스입니다. Key Management Service에서는 암호화와 복호화를 비롯한 여러 키 관리 기능에 대한 API를 RESTful 형태로 제공합니다.
2024년 10월 17일 Key Management Service API 2.0이 릴리스되었습니다. Key Management Service API 1.0은 계속 제공됩니다.
Key Management Service API 1.0 | Key Management Service API 2.0 | |
---|---|---|
Base URL(도메인) | https://kms.apigw.ntruss.com | https://ocapi.ncloud.com |
API 종류 | 암호화, 복호화 API 6종만 제공
|
|
인증 방식 | 네이버 클라우드 플랫폼 계정 정보를 이용한 사용자 인증 |
|
요청 처리 성능 | Encrypt API (AES) 기준 시스템 최대 200 TPS
| Encrypt API (AES) 기준 키별 최대 300 TPS
|
가용성 보장 | 리전 한정 고가용성(HA)
| 크로스 리전 고가용성(HA)
|
요청 접근 제어 | Sub Account 서비스에서 제공하는 부계정 단위의 IP ACL 기능을 이용 |
|
Key Management Service API 1.0 공통 설정
Key Management Service API 1.0에서 공통으로 사용하는 요청 형식과 응답 형식을 설명합니다.
요청
공통 요청 형식을 설명합니다.
API URL
요청 API URL은 다음과 같습니다.
API Gateway request signature v1: https://kms.apigw.ntruss.com/keys/v1
API Gateway request signature v2: https://kms.apigw.ntruss.com/keys/v2
요청 헤더
요청 헤더에 대한 설명은 다음과 같습니다.
- API Gateway request signature v1 방식 요청
필드 | 필수 여부 | 설명 |
---|---|---|
x-ncp-apigw-timestamp | Required | 1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간(밀리초) |
x-ncp-apigw-api-key | Required | 네이버 클라우드 플랫폼의 API Gateway 서비스에서 발급받은 키 |
x-ncp-iam-access-key | Required | 네이버 클라우드 플랫폼에서 발급받은 Access Key |
x-ncp-apigw-signature-v1 | Required | 네이버 클라우드 플랫폼에서 발급받은 Access Key에 맵핑되는 Secret Key 및 HMAC 암호화 알고리즘(HmacSHA256)으로 요청 정보를 암호화한 후 Base64로 인코딩한 서명 |
- API Gateway request signature v2 방식 요청
필드 | 필수 여부 | 설명 |
---|---|---|
x-ncp-apigw-timestamp | Required | 1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간(밀리초) |
x-ncp-iam-access-key | Required | 네이버 클라우드 플랫폼에서 발급받은 Access Key |
x-ncp-apigw-signature-v2 | Required | 네이버 클라우드 플랫폼에서 발급받은 Access Key에 맵핑되는 Secret Key 및 HMAC 암호화 알고리즘(HmacSHA256)으로 요청 정보를 암호화한 후 Base64로 인코딩한 서명 |
응답
공통 응답 형식을 설명합니다.
응답 상태 코드
응답 상태 코드에 대한 설명은 다음과 같습니다.
HTTP 상태 코드 | 코드 | 메시지 | 설명 |
---|---|---|---|
200 | - | success | 성공 |
네이버 클라우드 플랫폼에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 Ncloud API 응답 상태 코드를 참조해 주십시오.
오류 구문
요청 처리 결과 오류 구문에 대한 설명은 다음과 같습니다.
필드 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
error | Object | - | 오류 정보 |
error.errorCode | String | - | 오류 코드 |
error.message | String | - | 오류 메시지 |
error.details | String | - | 오류에 대한 상세 정보 |
{
"error": {
"errorCode": "300",
"message": "Not Found Exception",
"details": "URL not found."
}
}
상태 코드가 200 OK
이더라도 결과적으로 실패한 오류 구문에 대한 설명은 다음과 같습니다.
필드 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
code | String | - | 오류 코드 |
msg | String | - | 오류 메시지 |
data | Object | - | 응답 결과
|
- <예시> 유효하지 않은 요청 데이터 입력
{
"code": "NOT_VALID_INPUT",
"msg": "Fail: not valid input",
"data": null
}
Key Management Service API 2.0 공통 설정
Key Management Service API 2.0에서 공통으로 사용하는 요청 형식과 응답 형식을 설명합니다.
요청
공통 요청 형식을 설명합니다.
API URL
요청 API URL은 다음과 같습니다.
https://ocapi.ncloud.com/kms/v1
요청 헤더
요청 헤더에 대한 설명은 다음과 같습니다.
필드 | 필수 여부 | 설명 |
---|---|---|
x-ncp-apigw-timestamp | Required | 1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간(밀리초) |
x-ncp-iam-access-key | Required | 네이버 클라우드 플랫폼에서 발급받은 Access Key |
x-ncp-apigw-signature-v2 | Required | 네이버 클라우드 플랫폼에서 발급받은 Access Key에 맵핑되는 Secret Key 및 HMAC 암호화 알고리즘(HmacSHA256)으로 요청 정보를 암호화한 후 Base64로 인코딩한 서명 |
필드 | 필수 여부 | 설명 |
---|---|---|
x-ncp-ocapi-token | Required | Key Management Service에서 생성한 키의 액세스 토큰(Access Token) 또는 리프레시 토큰(Refresh Token)
|
응답
공통 응답 형식을 설명합니다.
응답 상태 코드
응답 상태 코드에 대한 설명은 다음과 같습니다.
HTTP 상태 코드 | 코드 | 메시지 | 설명 |
---|---|---|---|
200 | - | - | 정상 |
400 | 100 | Bad Request | 요청 오류 |
401 | - | Authentication Failed | 인증 오류 |
401 | - | Permission Denied | 권한 오류 |
403 | - | Forbidden | 키 리소스 접근 불가 |
404 | 300 | Not Found | 키 리소스 존재하지 않음 |
429 | - | Rate Limited | 요청 할당량 초과 |
500 | - | Unexpected Error |
|
오류 구문
요청 처리 결과 오류 구문에 대한 설명은 다음과 같습니다.
필드 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
error | Object | - | 오류 정보 |
error.errorCode | String | - | 오류 코드 |
error.message | String | - | 오류 메시지 |
error.details | String | - | 오류에 대한 상세 정보 |
{
"error": {
"errorCode": "300",
"message": "Not Found",
"details": "null"
}
}
Key Management Service API
Key Management Service API 서비스에서 제공하는 API에 대한 설명은 다음과 같습니다.
Key Management Service API 1.0
Key Management Service API 1.0 관련 API에 대한 설명은 다음과 같습니다.
API | 설명 |
---|---|
Encrypt | 키의 현재 버전으로 데이터 암호화 |
Decrypt | 키로 암호문 복호화 |
Create Custom Key | 암호 키로 사용할 임의의 원시 키(raw key) 생성 |
Re-encrypt | 암호문을 지정된 마스터 키의 가장 최신 버전으로 재암호화 |
Sign | 데이터의 서명값 생성 |
Verify | 데이터와 서명값 비교하여 검증 결과 반환 |
Key Management Service API 2.0
Key Management Service API 2.0 관련 API에 대한 설명은 다음과 같습니다.
Account Auth API
Account Auth API 관련 API에 대한 설명은 다음과 같습니다.
API | 설명 |
---|---|
Create Key | 키 생성 |
Get Key Info | 키 상세 정보 조회 |
Get Key List | 키 목록 조회 |
Get Public Key | 공개 키 조회 |
Delete Key | 키 삭제 |
Enable Key | 키 활성화 |
Disable Key | 키 비활성화 |
Enable Key Version | 키 버전 활성화 |
Disable Key Version | 키 버전 비활성화 |
Rotate Key | 키를 회전하여 새로운 버전 생성 |
Request Key Deletion | 키 삭제 요청 |
Cancel Key Deletion | 키 삭제 요청 취소 |
Enable IP ACL | 토큰 요청을 허용할 IP 주소를 제어할 수 있는 IP ACL 기능 활성화 |
Disable IP ACL | 토큰 요청을 허용할 IP 주소를 제어할 수 있는 IP ACL 기능 비활성화 |
Get ACL Rule List | 키의 IP ACL 설정 정보 조회 |
Add ACL Rule | 토큰 요청을 허용할 IP 주소를 ACL에 추가 |
Delete ACL Rule | 토큰 요청을 허용한 IP 주소를 ACL에서 삭제 |
Create Token Generator | 토큰 생성자 활성화 |
Get Token Generator | 토큰 생성자 조회 |
Update Token Generator | 토큰 생성자 교체 |
Delete Token Generator | 토큰 생성자 삭제(비활성화) |
Create Token Set | 토큰 셋(액세스 토큰과 리프레시 토큰) 생성 |
Get Key Activity Logs | 키 사용 이력 목록 조회 |
Get Latest Use Info | 가장 최근의 키 사용 이력 조회 |
Get Key Version List | 키 버전 목록 조회 |
Update Memo | 키에 대한 메모 수정 |
Update Rotation Period | 키의 자동 회전 주기 수정 |
Enable Auto Rotation | 키의 자동 회전 활성화 |
Disable Auto Rotation | 키의 자동 회전 비활성화 |
Encrypt | 키의 현재 버전으로 데이터 암호화 |
Decrypt | 키로 암호문 복호화 |
Create Custom Key | 암호 키로 사용할 임의의 원시 키(raw key) 생성 |
Re-encrypt | 암호문을 지정된 마스터 키의 가장 최신 버전으로 재암호화 |
Sign | 데이터의 서명값 생성 |
Verify | 데이터와 서명값 비교하여 검증 결과 반환 |
Token Auth API
Token Auth API 관련 API에 대한 설명은 다음과 같습니다.
API | 설명 |
---|---|
Encrypt | 키의 현재 버전으로 데이터 암호화 |
Decrypt | 키로 암호문 복호화 |
Create Custom Key | 암호 키로 사용할 임의의 원시 키(raw key) 생성 |
Re-encrypt | 암호문을 지정된 마스터 키의 가장 최신 버전으로 재암호화 |
Sign | 데이터의 서명값 생성 |
Verify | 데이터와 서명값 비교하여 검증 결과 반환 |
Get Public Key | 공개 키 조회 |
Create Access Token | 액세스 토큰 생성 |
Renew Token Set | 토큰 셋(액세스 토큰과 리프레시 토큰) 재생성 |
Key Management Service 연관 리소스
Key Management Service API에 대한 사용자의 이해를 돕기 위해 다양한 연관 리소스를 제공하고 있습니다.
- Key Management Service API 사용 방법
- 서명(시그니처) 생성: 요청 헤더에 추가할 서명 생성 방법
- API Gateway 사용 가이드: 요청 헤더에 추가할 API Key 발급
- Sub Account 사용 가이드: 요청 헤더에 추가할 Access Key 발급 방법
- Ncloud 공통 응답 상태 코드: Key Management Service에서 사용하는 네이버 클라우드 플랫폼의 공통 응답 상태 코드 정보
- Key Management Service 서비스 사용 방법
- Key Management Service 사용 가이드: 네이버 클라우드 플랫폼 콘솔에서 Key Management Service 사용하는 방법
- Ncloud 사용 환경 가이드: VPC, Classic 환경 및 지원 여부에 대한 가이드
- 요금 소개, 특징, 상세 기능: Key Management Service의 요금 체계, 특징, 상세 기능 요약
- 서비스 최신 소식: Key Management Service 관련 최신 소식
- 자주 하는 질문: Key Management Service 사용자들이 자주 하는 질문
- 문의하기: API 가이드를 통해서도 궁금증이 해결되지 않는 경우 직접 문의