회사가 Amazon EC2 인스턴스에 애플리케이션을 구현하고 있습니다. 애플리케이션은 들어오는 거래를 처리해야 하며, 유효하지 않은 거래를 감지하면 회사의 지원팀에 채팅 메시지를 보내야 합니다. 메시지를 보내기 위해 애플리케이션은 채팅 API를 사용하여 인증할 액세스 토큰을 검색해야 합니다. 개발자는 액세스 토큰을 저장할 솔루션을 구현해야 합니다. 액세스 토큰은 저장 시와 전송 중에 암호화되어야 하며, 다른 AWS 계정에서도 액세스할 수 있어야 합니다. 어떤 솔루션이 최소한의 관리 오버헤드로 이러한 요구사항을 충족할까요?
- A. AWS Systems Manager Parameter Store SecureString 파라미터를 AWS Key Management Service(AWS KMS) AWS 관리형 키로 사용하여 액세스 토큰을 저장합니다. 파라미터에 리소스 기반 정책을 추가하여 다른 계정의 액세스를 허용합니다. EC2 인스턴스의 IAM 역할을 Parameter Store 액세스 권한으로 업데이트합니다. 복호화 플래그를 활성화하여 Parameter Store에서 토큰을 검색합니다. 복호화된 액세스 토큰을 사용하여 채팅에 메시지를 보냅니다.
- B. AWS Key Management Service(AWS KMS) 고객 관리형 키를 사용하여 액세스 토큰을 암호화합니다. Amazon DynamoDB 테이블에 액세스 토큰을 저장합니다. EC2 인스턴스의 IAM 역할을 DynamoDB 및 AWS KMS 액세스 권한으로 업데이트합니다. DynamoDB에서 토큰을 검색하고 EC2 인스턴스에서 AWS KMS를 사용하여 토큰을 복호화합니다. 복호화된 액세스 토큰을 사용하여 채팅에 메시지를 보냅니다.
- C. AWS Secrets Manager를 AWS Key Management Service(AWS KMS) 고객 관리형 키로 사용하여 액세스 토큰을 저장합니다. 시크릿에 리소스 기반 정책을 추가하여 다른 계정의 액세스를 허용합니다. EC2 인스턴스의 IAM 역할을 Secrets Manager 액세스 권한으로 업데이트합니다. Secrets Manager에서 토큰을 검색합니다. 복호화된 액세스 토큰을 사용하여 채팅에 메시지를 보냅니다.✓ 정답
- D. AWS Key Management Service(AWS KMS) AWS 관리형 키를 사용하여 액세스 토큰을 암호화합니다. Amazon S3 버킷에 액세스 토큰을 저장합니다. S3 버킷에 버킷 정책을 추가하여 다른 계정의 액세스를 허용합니다. EC2 인스턴스의 IAM 역할을 Amazon S3 및 AWS KMS 액세스 권한으로 업데이트합니다. S3 버킷에서 토큰을 검색합니다. EC2 인스턴스에서 AWS KMS를 사용하여 토큰을 복호화합니다. 복호화된 액세스 토큰을 사용하여 채팅에 메시지를 보냅니다.
해설
【핵심 용어】 ▸ AWS Secrets Manager — 시크릿 저장 + 자동 회전 + 리소스 기반 정책으로 크로스 계정 액세스 지원. KMS CMK 암호화. ▸ Parameter Store — 가볍고 무료지만 리소스 기반 정책(크로스 계정 직접 부여) 미지원. 【정답 포인트】 ▸ '저장 + 전송 모두 암호화 + 다른 계정 접근 + 최소 관리' = Secrets Manager + KMS CMK + 시크릿에 리소스 기반 정책. 【오답 체크】 (A) Parameter Store는 리소스 기반 정책 미지원 → 다른 계정이 직접 시크릿에 접근 불가. (B) DynamoDB에 직접 저장 + 직접 KMS 복호화 = 운영 부담 + 회전 미지원. (D) S3 객체로 저장 + 직접 복호화도 운영 부담 큼.