KMS 개요
    • PDF

    KMS 개요

    • PDF

    기사 요약

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

    Key Management Service는 암호화 운영 및 구현에 필수적인 암호 키 관리 기능을 제공하는 네이버 클라우드 플랫폼의 서비스입니다. Key Management Service에서는 암호화와 복호화를 비롯한 여러 키 관리 기능에 대한 API를 RESTful 형태로 제공합니다.

    Key Management Service 공통 설정

    Key Management Service API에서 공통으로 사용하는 요청 형식과 응답 형식을 설명합니다.

    요청

    공통 요청 형식을 설명합니다.

    API URL

    요청 API URL은 다음과 같습니다.

    API Gateway request signature v1: https://kms.apigw.gov-ntruss.com/keys/v1
    API Gateway request signature v2: https://kms.apigw.gov-ntruss.com/keys/v2
    

    요청 헤더

    요청 헤더에 대한 설명은 다음과 같습니다.

    • API Gateway request signature v1 방식 요청

      필드필수 여부설명
      x-ncp-apigw-timestampRequired1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간(밀리초)
    • API Gateway 서버와 5분 이상 시간차 발생 시 유효하지 않은 요청으로 간주
    • x-ncp-apigw-api-keyRequired네이버 클라우드 플랫폼의 API Gateway 서비스에서 발급받은 키
      x-ncp-iam-access-keyRequired네이버 클라우드 플랫폼에서 발급받은 Access Key
    • Access Key 발급 및 확인: 인증키 생성 참조
    • 서브 계정의 Access Key 발급 및 확인: 서브 계정 생성 참조
    • x-ncp-apigw-signature-v1Required네이버 클라우드 플랫폼에서 발급받은 Access Key에 맵핑되는 Secret Key 및 HMAC 암호화 알고리즘(HmacSHA256)으로 요청 정보를 암호화한 후 Base64로 인코딩한 서명
    • Secret Key 발급 및 확인: 인증키 생성 참조
    • 서명 생성: 시그니처 생성 참조
    • API Gateway request signature v2 방식 요청

      필드필수 여부설명
      x-ncp-apigw-timestampRequired1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간(밀리초)
    • API Gateway 서버와 5분 이상 시간차 발생 시 유효하지 않은 요청으로 간주
    • x-ncp-iam-access-keyRequired네이버 클라우드 플랫폼에서 발급받은 Access Key
    • Access Key 발급 및 확인: 인증키 생성 참조
    • 서브 계정의 Access Key 발급 및 확인: 서브 계정 생성 참조
    • x-ncp-apigw-signature-v2Required네이버 클라우드 플랫폼에서 발급받은 Access Key에 맵핑되는 Secret Key 및 HMAC 암호화 알고리즘(HmacSHA256)으로 요청 정보를 암호화한 후 Base64로 인코딩한 서명
    • Secret Key 발급 및 확인: 인증키 생성 참조
    • 서명 생성: 시그니처 생성 참조

    응답

    공통 응답 형식을 설명합니다.

    응답 상태 코드

    응답 상태 코드에 대한 설명은 다음과 같습니다.

    HTTP 상태 코드코드메시지설명
    200-success성공
    참고

    네이버 클라우드 플랫폼에서 공통으로 사용하는 응답 상태 코드에 대한 정보는 Ncloud API 응답 상태 코드를 참조해 주십시오.

    오류 구문

    요청 처리 결과 오류 구문에 대한 설명은 다음과 같습니다.

    필드타입필수 여부설명
    errorObject-오류 정보
    error.errorCodeString-오류 코드
    error.messageString-오류 메시지
    error.detailsString-오류에 대한 상세 정보
    {
        "error": {
            "errorCode": "300",
            "message": "Not Found Exception",
            "details": "URL not found."
        }
    }
    

    상태 코드가 200 OK이더라도 결과적으로 실패한 오류 구문에 대한 설명은 다음과 같습니다.

    필드타입필수 여부설명
    codeString-오류 코드
    msgString-오류 메시지
    dataObject-응답 결과
    • null 값으로 표시
    • <예시> 유효하지 않은 요청 데이터 입력
    {
        "code": "NOT_VALID_INPUT",
        "msg": "Fail: not valid input",
        "data": null
    }
    
    주의

    Key Management Service는 API 단위로 요청 속도 제어를 적용하고 있습니다. Encrypt/Decrypt API 기준으로 초당 약 300건(300 TPS) 내외의 요청을 처리하며, 초과되는 요청은 자동으로 필터링됩니다. 이 경우, HTTP 상태 코드 429가 응답됩니다.

    Key Management Service API

    Key Management Service API 서비스에서 제공하는 API에 대한 설명은 다음과 같습니다.

    API설명
    Encrypt키의 현재 버전으로 데이터 암호화
    Decrypt키로 암호문 복호화
    Create Custom Key암호 키로 사용할 임의의 원시 키(raw key) 생성
    Re-encrypt암호문을 지정된 마스터 키의 가장 최신 버전으로 재암호화
    Sign데이터의 서명값 생성
    Verify데이터와 서명값 비교하여 검증 결과 반환

    Key Management Service 연관 리소스

    Key Management Service API에 대한 사용자의 이해를 돕기 위해 다양한 연관 리소스를 제공하고 있습니다.


    이 문서가 도움이 되었습니까?

    What's Next
    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.