개요

AWS Key Management Service(KMS)를 사용하면 데이터 보호에 사용되는 암호화 키를 중앙 집중식으로 제어할 수 있습니다. AWS KMS가 AWS 서비스와 통합되어 이러한 서비스에 저장한 데이터를 쉽게 암호화하고 암호를 해독하는 키에 대한 액세스를 제어할 수 있습니다. AWS KMS는 AWS CloudTrail과 통합되어 누가 어떤 키를 어떤 사용자가 어느 리소스에서 언제 사용했는지에 대한 감사를 수행할 수 있습니다. 또한 AWS KMS를 사용하면 개발자가 암호화 및 암호 해독 서비스 API를 통해 직접 또는 AWS Encryption SDK와의 통합을 통해 자신의 애플리케이션 코드에 암호화 기능을 쉽게 추가할 수 있습니다.

중앙 집중식 키 관리

AWS Key Management Service를 사용하면 암호화 키를 중앙에서 관리할 수 있습니다. 고객 마스터 키(CMK)는 데이터 암호화하고 암호를 해독하는 데이터 암호화 키에 대한 액세스를 제어하는 데 사용됩니다. 언제든지 새 마스터 키를 만들 수 있으며 이 키에 액세스할 수 있는 사용자 및 이 키로 사용할 수 있는 서비스를 관리할 수 있습니다. 또한 자체 키 관리 인프라에서 AWS KMS로 키를 가져오거나 AWS CloudHSM 클러스터에 저장된 키를 사용하여 AWS KMS에서 이를 관리할 수 있습니다. AWS Management Console을 통하거나 AWS SDK 또는 AWS 명령줄 인터페이스(CLI)를 사용하여 마스터 키를 관리하고 사용량을 감사할 수 있습니다.

AWS KMS에 있는 키는 KMS 또는 CloudHSM 클러스터에서 생성되었든, 사용자가 가져오든 관계없이 내구성이 뛰어난 스토리지에 암호화된 형식으로 저장되므로 필요할 때 언제든지 사용할 수 있습니다. 마스터 키로 암호화된 데이터를 다시 암호화할 필요 없이 AWS KMS가 일 년에 한 번 KMS에 생성되어 있는 마스터 키를 자동으로 교체하도록 선택할 수 있습니다. KMS가 이전에 암호화된 데이터를 복호화할 때 이전 버전의 마스터 키를 사용할 수 있도록 유지하므로 이 키를 추적할 필요가 없습니다.

AWS 서비스 통합

AWS KMS는 대부분의 AWS 서비스와 완벽히 통합됩니다. 즉, KMS 마스터 키를 사용하여 손쉽게 이러한 서비스에 저장된 데이터의 암호화를 제어할 수 있습니다. 서비스에서 데이터 암호화 여부를 결정할 때 해당 서비스에서 사용자를 위해 KMS에 자동으로 생성된 AWS 관리형 마스터 키 사용을 선택할 수 있습니다. 키 사용량을 추적할 수 있지만 이는 사용자 대신 해당 서비스에서 관리합니다.

마스터 키의 수명 주기를 직접 제어해야 하거나 다른 계정에서 마스터 키를 사용할 수 있도록 하고 싶다면 AWS 서비스에서 사용자를 대신하여 사용할 수 있는 자체 마스터 키를 생성하여 관리하면 됩니다. 이러한 고객 관리형 마스터 키를 사용하면 키를 사용할 수 있는 사람과 해당 조건을 결정하는 액세스 권한을 완전히 제어할 수 있습니다.

KMS와 통합되는 AWS 서비스
Alexa for Business* Amazon EMR Amazon SageMaker AWS CodeDeploy
Amazon Athena Amazon FSx for Windows File Server Amazon Simple Email Service(SES) AWS CodePipeline

Amazon Aurora

Amazon Glacier Amazon Simple Notification Service(SNS) AWS Database Migration Service
Amazon CloudWatch Logs Amazon Kinesis Data Streams Amazon Simple Queue Service(SQS) AWS Glue
Amazon Comprehend* Amazon Kinesis Firehose Amazon Translate AWS Lambda
Amazon Connect Amazon Kinesis Video Streams Amazon WorkMail AWS Secrets Manager
Amazon DocumentDB Amazon Lex Amazon WorkSpaces AWS Systems Manager
Amazon DynamoDB* Amazon Lightsail* AWS Backup AWS Snowball
Amazon DynamoDB Accelerator(DAX)* Amazon Managed Streaming for Kafka(MSK) AWS Certificate Manager* AWS Snowball Edge
Amazon EBS Amazon Neptune AWS Cloud9* AWS Snowmobile
Amazon EFS Amazon Redshift AWS CloudTrail AWS Storage Gateway
Amazon Elastic Transcoder Amazon Relational Database Service(RDS) AWS CodeBuild AWS X-Ray
Amazon Elasticsearch Service Amazon S3 AWS CodeCommit*
AWS X-Ray

*AWS 관리형 KMS 키만 지원합니다.

** Sinnet에서 운영하는 AWS 중국(베이징) 리전과 NWCD에서 운영하는 AWS 중국(닝샤) 리전에서 KMS와 통합되는 서비스 목록은 중국에서의 AWS KMS 서비스 통합 페이지를 참조하십시오. 

위에 나열되지 않은 AWS 서비스는 서비스에서 보유하고 관리하는 키를 사용하여 고객 데이터를 자동으로 암호화합니다.

감사 기능

AWS 계정에 AWS CloudTrail을 활성화하면 AWS KMS에 대한 각 요청이 로그 파일에 기록되고, AWS CloudTrail을 활성화할 때 지정한 Amazon S3 버킷으로 로그 파일이 전달됩니다. 기록되는 정보에는 사용자와 시간, 날짜, API 작업 및 사용된 키(관련이 있는 경우)에 대한 세부 정보가 포함됩니다.

확장성, 내구성 및 고가용성

AWS KMS는 완전관리형 서비스입니다. 암호화 사용이 증가하면 KMS는 사용자의 요구에 맞게 자동으로 확장됩니다. AWS KMS를 사용하면 계정에 있는 수천 개의 마스터 키를 관리하고 언제든지 사용할 수 있습니다. AWS KMS는 키 수와 요청 빈도에 대한 기본 한도를 정의하지만 필요한 경우 상향 조절된 한도를 요청할 수 있습니다.

AWS KMS에서 생성한 마스터 키 또는 사용자 대신 다른 AWS 서비스에서 생성한 마스터 키는 서비스에서 내보낼 수 없습니다. 따라서 KMS가 마스터 키의 내구성을 책임지게 됩니다. 키와 데이터의 고가용성을 확보할 수 있도록, AWS KMS는 내구성 99.999999999%에 맞게 설계된 시스템에 키의 암호화된 버전의 여러 사본을 저장합니다.

KMS로 키를 가져오는 경우 마스터 키의 보안 사본을 유지하므로 필요할 때 사용할 수 없는 경우 다시 가져올 수 있습니다. KMS 사용자 지정 키 스토어 기능을 사용하여 AWS CloudHSM 클러스터에서 마스터 키를 생성한 경우 암호화된 키 사본이 자동으로 백업되고 복구 프로세스를 완전히 제어할 수 있습니다.

AWS KMS는 리전 API 엔드포인트에서 가용성이 높은 서비스를 제공하도록 설계되었습니다. 대부분의 AWS 서비스가 암호화 및 암호 해독 작업에 AWS KMS를 사용하기 때문에 나머지 AWS를 지원하는 가용성 수준을 제공하도록 설계되었으며 AWS KMS 서비스 수준 계약을 따릅니다.

보안

AWS KMS는 AWS 직원을 비롯하여 누구도 서비스에서 평문 키를 검색하지 못하도록 설계되었습니다. 고객 대신 키를 생성하도록 KMS에 요청하든, AWS CloudHSM 클러스터에서 생성하든, 고객이 키를 서비스로 가져오든 관계없이 이 서비스에서는 FIPS 140-2 인증을 받은 하드웨어 보안 모듈(HSM)을 사용하여 키의 기밀성과 무결성을 보호합니다. 평문 키가 디스크에 작성되는 일은 없으며, 요청한 암호화 작업을 수행하는 데 필요할 때만 HSM 휘발성 메모리에서 사용됩니다. KMS에서 생성한 키는 해당 키가 생성된 AWS 리전 밖으로 전송되지 않으며 해당 키가 생성된 리전에서만 사용할 수 있습니다. KMS HSM 펌웨어 업데이트는 Amazon 내 독립적인 그룹 및 FIPS 140-2를 준수하는 NIST 공인 실습에서 감사하고 검토하는 다자간 액세스 제어를 통해 제어됩니다.

AWS KMS가 설계된 방식과 키 보호를 위해 AWS KMS에서 사용하는 암호화에 대한 자세한 내용은 AWS Key Management Service 암호화 세부 정보 백서를 참조하십시오.

* 하드웨어 보안 모듈은 중국 정부에서 승인(FIPS 140-2 인증 아님)하였으며, 위에 언급한 암호화 세부 정보 백서는 Sinnet에서 운영하는 AWS 중국(베이징) 리전과 NWCD에서 운영하는 AWS 중국(닝샤) 리전의 KMS에는 적용되지 않습니다. 

사용자 지정 키 스토어

AWS KMS는 사용자가 제어하는 HSM을 사용하여 자체 키 스토어를 생성하는 옵션을 제공합니다. 각 사용자 지정 키 스토어AWS CloudHSM 클러스터에 의해 백업됩니다. 사용자 지정 키 스토어에서 KMS 고객 마스터 키(CMK)를 생성하면 KMS는 사용자가 보유하고 관리하는 AWS CloudHSM 클러스터에 추출이 불가능한 CMK용 키 구성 요소를 생성하여 저장합니다. 사용자 지정 키 스토어에서 CMK를 사용할 때 해당 키에 있는 암호화 작업이 CloudHSM 클러스터에서 수행됩니다.

기본 KMS 키 스토어가 아닌 사용자 지정 키 스토어에 저장된 마스터 키는 KMS의 다른 마스터 키와 동일한 방식으로 관리되며 고객 관리 CMK를 지원하는 모든 AWS 서비스에서 사용할 수 있습니다.

사용자 지정 키 스토어를 사용하면 CloudHSM 클러스터에 대한 비용이 추가되며 해당 클러스터에 있는 키 구성 요소의 가용성에 대한 책임은 고객에게 있습니다. 사용자 지정 키 스토어가 사용자 요구 사항에 적합한지 여부는 이 블로그를 읽고 확인해 보십시오.

*사용자 지정 키 스토어 기능은 Sinnet에서 운영하는 AWS 중국(베이징) 리전과 NWCD에서 운영하는 AWS 중국(닝샤) 리전에서는 사용할 수 없습니다.

규정 준수

AWS KMS의 보안 및 품질 제어는 다음 규정 준수 체계에서 검증 및 인증을 받았습니다.

  • AWS 서비스 조직 규제(SOC 1, SOC 2 및 SOC 3) 보고서. AWS Artifact 페이지에서 이러한 보고서를 다운로드할 수 있습니다.
  • PCI DSS 레벨 1. AWS 내 PCI DSS 준수 서비스에 대한 세부 정보는 PCI DSS FAQ에서 확인할 수 있습니다.
  • ISO 27001. AWS 내 ISO 27001 준수 서비스에 대한 자세한 내용은 ISO-27001 FAQ에서 확인할 수 있습니다.
  • ISO 27017. AWS 내 ISO 27017 준수 서비스에 대한 자세한 내용은 ISO-27017 FAQ에서 확인할 수 있습니다.
  • ISO 27018. AWS 내 ISO 27018 준수 서비스에 대한 자세한 내용은 ISO-27018 FAQ에서 확인할 수 있습니다.
  • ISO 9001. AWS 내 ISO 9001 준수 서비스에 대한 자세한 내용은 ISO-9001 FAQ에서 확인할 수 있습니다.
  • FIPS 140-2. 펌웨어 버전 1.4.4를 실행하는 AWS KMS 암호화 모듈은 전체적으로 FIPS 140-2 레벨 2 인증을 받았으며 물리적 보안을 비롯한 몇 가지 카테고리에 대해서는 레벨 3 인증을 받았습니다. 자세한 내용은 AWS KMS HSM에 대한 FIPS 140-2 인증서와 관련 보안 정책에서 확인할 수 있습니다.
  • FedRAMP. AWS FedRAMP 규정 준수에 대한 세부 정보는 FedRAMP 규정 준수 페이지를 참조하십시오.
  • HIPAA. 자세한 내용은 HIPAA 규정 준수 페이지를 참조하십시오.
 
* FIPS 140-2는 중국 리전의 KMS에는 적용되지 않습니다. 대신, 중국 리전의 하드웨어 보안 모듈은 중국 정부에서 사용을 승인했습니다.
Product-Page_Standard-Icons_01_Product-Features_SqInk
제품 요금에 대해 자세히 알아보기

요금 예제를 보고 비용을 계산할 수 있습니다.

자세히 알아보기 
Product-Page_Standard-Icons_02_Sign-Up_SqInk
무료 계정에 가입

AWS 프리 티어에 즉시 액세스할 수 있습니다. 

가입하기 
Product-Page_Standard-Icons_03_Start-Building_SqInk
AWS 콘솔에서 구축 시작

AWS 콘솔에서 AWS Key Management Service를 사용하여 구축을 시작할 수 있습니다.

로그인