FinchRide는 인증되지 않은 사용자가 Amazon S3의 공개 콘텐츠를 탐색하고, 인증된 사용자가 클라이언트에서 직접 DynamoDB 테이블에 개인 기본 설정을 저장할 수 있도록 하는 모바일 앱을 출시합니다. 보안 팀은 앱에 장기 자격 증명을 포함하지 않고 사용자별 최소 권한을 요구합니다. 솔루션스 아키텍트가 권장해야 하는 접근 방식은 무엇입니까?
정답 선택
옵션을 탭하여 정답을 확인하세요.
정답: 가입/로그인을 위해 Amazon Cognito 사용자 풀을 사용하고, 사용자 또는 게스트 ID를 임시 AWS 자격 증명으로 교환하기 위해 Cognito 자격 증명 풀을 사용합니다. 인증된 및 인증되지 않은 ID에 대한 IAM 역할을 구성하고, IAM 정책 조건(예: ${cognito-identity.amazonaws.com:sub})을 사용하여 ID별 S3/DynamoDB 액세스 범위를 지정합니다..
이것이 정답인 이유
이 접근 방식은 모범 사례를 따르며, 장기 자격 증명을 앱에 포함하지 않고 사용자별 최소 권한을 달성합니다. Cognito 사용자 풀은 사용자 등록 및 로그인을 처리하고, Cognito 자격 증명 풀은 인증된 및 인증되지 않은 사용자에게 임시 AWS 자격 증명을 제공합니다. IAM 역할은 이러한 자격 증명에 연결되며, IAM 정책 조건은 S3 및 DynamoDB에 대한 액세스를 특정 사용자 ID(sub)로 제한하여 사용자별 최소 권한을 보장합니다. 다른 옵션들은 다음과 같은 이유로 적절하지 않습니다. Cognito 사용자 풀만 사용하는 것은 AWS 서비스에 직접 액세스하는 데 필요한 임시 자격 증명을 제공하지 않습니다. S3 및 DynamoDB는 JWT를 직접 신뢰하도록 구성되지 않습니다. API Gateway와 Lambda 백엔드를 사용하는 것은 불필요한 복잡성을 추가하며, 클라이언트가 직접 S3 및 DynamoDB에 액세스해야 하는 요구 사항을 충족하지 못합니다. 또한 API 키는 사용자별 권한 부여에 적합하지 않습니다. 앱에서 STS AssumeRoleWithWebIdentity를 직접 호출하는 것은 Cognito 자격 증명 풀이 제공하는 간소화된 임시 자격 증명 교환 메커니즘을 우회합니다.
끝없는 정답 찾기 없이 시험 합격
이 시험에 대한 모든 검증된 문제와 설명을 한곳에서 얻고, 준비 시간을 몇 시간 절약하세요. 1,000개 이상의 자격증 · 20개 이상의 언어 · 무료로 시작.
더 빠르게 시험 합격 → 카드 필요 없음