AWS Key Management Service 액세스 - AWS Key Management Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS Key Management Service 액세스

다음과 같은 방식으로 AWS KMS 작업을 수행할 수 있습니다.

AWS Management Console

이 콘솔은 AWS KMS 및 AWS 리소스를 관리하기 위한 웹 기반 사용자 인터페이스입니다. AWS 계정에 등록한 고객은 AWS Management Console에 로그인한 후 AWS Management Console 홈 페이지에서 AWS KMS를 선택하면 AWS KMS 콘솔에 액세스할 수 있습니다.

AWS KMS 콘솔 사용에 필요한 권한

AWS KMS 콘솔로 작업하려면 사용자는 AWS 계정에서 AWS KMS 리소스로 작업할 수 있는 최소 권한 집합이 있어야 합니다. 이러한 AWS KMS 권한 외에 IAM 사용자와 IAM 역할을 나열할 수 있는 권한도 가지고 있어야 합니다. 최소 필수 권한보다 더 제한적인 IAM 정책을 만들면 AWS KMS 콘솔은 해당 IAM 정책에 연결된 사용자에 대해 의도대로 작동하지 않습니다.

사용자에게 AWS KMS 콘솔에 대한 읽기 전용 액세스를 허용하기 위해 필요한 최소 권한은 사용자가 AWS KMS 콘솔에서 KMS 키를 볼 수 있도록 허용 섹션을 참조하십시오.

사용자가 AWS KMS 콘솔로 KMS 키를 생성하고 관리하도록 허용하려면 고급 사용자를 위한 AWS 관리형 정책에 설명된 대로 사용자에게 AWSKeyManagementServicePowerUser 관리형 정책을 연결합니다.

AWSSDK, AWS Command Line Interface 또는 AWS Tools for PowerShell를 통해 AWS KMS API로 작업하는 사용자에게는 최소 콘솔 권한을 허용할 필요가 없습니다. 그러나 API를 사용하려면 이러한 사용자에게 권한을 부여해야 합니다. 자세한 내용은 권한 참조 단원을 참조하십시오.

AWS Command Line Interface

AWS CLI 도구를 통해 시스템 명령줄에서 명령을 실행하거나 스크립트를 빌드하여 AWS(AWS KMS 등) 작업을 수행할 수 있습니다.

AWS CLI를 통해 AWS KMS 사용에 대한 자세한 내용은 AWS CLI 명령 참조를 확인하세요.

AWS KMS REST API

AWS KMS 아키텍처는 AWS에서 지원하는 인터페이스를 사용하여 객체를 저장 및 검색하는 프로그래밍 언어 중립적 아키텍처로 설계되었습니다. AWS KMS REST API를 사용하여 프로그래밍 방식으로 S3 및 AWS에 액세스할 수 있습니다. REST API는 AWS KMS에 대한 HTTP 인터페이스입니다. REST API를 통해 표준 HTTP 요청을 사용하여 버킷과 객체를 생성하고, 가져오며, 삭제할 수 있습니다.

AWS KMS REST API 사용에 대한 자세한 내용은 AWS Key Management Service API 참조를 확인하세요.

AWS SDK

AWS에서는 일반적인 프로그래밍 언어 및 플랫폼(Java, JavaScript, C, Python 등)을 위한 라이브러리와 샘플 코드로 구성된 소프트웨어 개발 키트(SDK)를 제공합니다. AWS SDK를 사용하면 편리하게 AWS KMS 및 AWS에 프로그래밍 방식으로 액세스할 수 있으며 AWS KMS는 REST 서비스입니다. AWS 라이브러리를 사용하여 AWS KMS에 요청을 보낼 수 있습니다. 이 라이브러리는 기본 AWS KMS REST API 를 래핑하고 프로그래밍 태스크를 간소화합니다. 다운로드 및 설치 방법을 비롯하여 AWS SDKs에 대한 자세한 내용은 AWS를 기반으로 빌드할 도구를 참조하세요.

AWS KMS 사용에 대한 코드 예제 AWS SDKs는 AWS SDKs를 통해 AWS KMS를 사용하기에 좋은 시작점을 제공합니다.

AWS Encryption SDK

AWS Encryption SDK는 애플리케이션에서 클라이언트 측 암호화를 구현하기 위한 도구입니다. KMS에 대한 전체 액세스를 제공하지는 않지만 대신 AWS KMS와 통합되거나 KMS 키를 참조하지 않고 독립형 SDK로 사용될 수 있습니다. 라이브러리는 Java, JavaScript, C, Python 및 기타 프로그래밍 언어에서 사용할 수 있습니다.

자세한 내용은 개발자 안내서AWS Encryption SDK를 참조하세요.

AWS KMS key 정책 및 IAM 정책

AWS KMS 결과적 일관성

시스템의 분산 특성으로 인해 AWS KMS API는 결과적 일관성 모델을 따릅니다. 따라서 실행하는 후속 명령에 AWS KMS 리소스에 대한 변경 사항이 즉시 표시되지 않을 수 있습니다.

AWS KMS API 호출을 수행할 때, 변경 사항이 AWS KMS 전체에 적용되기까지 잠깐의 지연이 있을 수 있습니다. 변경 사항이 시스템 전체에 전파되는 데에는 일반적으로 몇 초도 걸리지 않지만 경우에 따라 몇 분 정도 걸릴 수도 있습니다. 이 기간 동안 NotFoundException 또는 InvalidStateException과 같은 예상치 못한 오류가 발생할 수 있습니다. 예를 들어, CreateKey를 호출한 직후 GetParametersForImport를 호출하면 AWS KMS에서 NotFoundException을 반환할 수 있습니다.

잠깐의 대기 기간 후에 작업을 자동으로 재시도하도록 AWS KMS 클라이언트에서 재시도 전략을 구성하는 것이 좋습니다. 자세한 정보는 AWS SDK 및 도구 참조 설명서의 재시도 동작을 참조하세요.

권한 부여 관련 API 호출의 경우 권한 부여 토큰을 사용하여 잠재적인 지연을 방지하고 권한 부여에 권한을 즉시 사용할 수 있습니다. 자세한 내용은 결과적 일관성(권한 부여용)을 참조하세요.