솔루션스 아키텍트는 AWS CloudFormation 템플릿을 사용하여 3계층 웹 애플리케이션을 배포합니다. 웹 및 애플리케이션 계층은 EC2 인스턴스에서 실행되며, 데이터베이스 계층은 공개적으로 액세스할 수 없습니다. 애플리케이션 인스턴스는 템플릿에 API 자격 증명을 노출하지 않고 Amazon DynamoDB에 액세스해야 합니다. 아키텍트는 무엇을 해야 할까요?
정답 선택
옵션을 탭하여 정답을 확인하세요.
정답: DynamoDB 테이블에서 읽고 쓸 수 있는 필수 권한을 가진 IAM 역할을 생성합니다. 해당 역할을 EC2 인스턴스 프로필에 추가하고, 인스턴스 프로필을 애플리케이션 인스턴스와 연결합니다..
이것이 정답인 이유
애플리케이션 인스턴스가 DynamoDB에 안전하게 액세스하려면 IAM 역할과 인스턴스 프로필을 사용하는 것이 가장 좋습니다. IAM 역할은 필요한 권한(읽기/쓰기)을 부여하고, 인스턴스 프로필은 이 역할을 EC2 인스턴스에 연결하여 인스턴스가 자격 증명을 코드에 하드코딩하거나 직접 관리할 필요 없이 임시 자격 증명을 자동으로 얻을 수 있도록 합니다. 이는 보안 모범 사례에 부합하며 자격 증명 노출 위험을 줄입니다.
다른 옵션들은 보안상 취약합니다.
첫 번째 옵션은 읽기 권한만 부여하여 애플리케이션의 요구사항(읽기/쓰기)을 충족하지 못합니다.
세 번째 및 네 번째 옵션은 IAM 사용자 액세스 키와 시크릿 키를 사용하는데, 이는 자격 증명 노출 위험이 크고 키 관리가 복잡하여 권장되지 않습니다. 특히 사용자 데이터를 통해 전달하는 것은 보안에 매우 취약합니다.