소셜 미디어 앱은 브라우저에서 AWS SDK for JavaScript를 사용하여 AWS STS로부터 사용자 자격 증명을 얻습니다. 앱 자산은 S3 버킷에 저장되고 S3 버킷을 원본으로 하는 CloudFront 배포를 통해 제공됩니다. 현재 앱이 맡는 역할 자격 증명은 프런트엔드 코드의 JSON 파일에 일반 텍스트로 저장되어 있습니다. 개발자는 앱이 자격 증명을 얻을 수 있도록 하면서 하드코딩된 자격 증명을 제거해야 합니다. 어떤 접근 방식이 이 요구 사항을 충족합니까?
정답 선택
옵션을 탭하여 정답을 확인하세요.
정답: CloudFront 배포에 Lambda@Edge 함수를 추가하고 뷰어 요청 시 호출합니다. 함수의 실행 역할에 AWS STS를 호출할 권한을 부여합니다. 모든 SDK 호출을 프런트엔드에서 Lambda@Edge 함수로 이동합니다..
이것이 정답인 이유
정답은 Lambda@Edge 함수를 사용하여 AWS STS 호출을 처리하는 것입니다. Lambda@Edge는 뷰어 요청 시 실행되어 AWS STS를 호출하고 임시 자격 증명을 안전하게 가져올 수 있습니다. 이렇게 하면 하드코딩된 자격 증명을 제거하고 프런트엔드 코드에서 민감한 정보를 노출하지 않으면서도 필요한 권한을 부여할 수 있습니다. CloudFront Functions는 현재 외부 네트워크 호출(예: AWS STS)을 지원하지 않으므로 오답입니다. JSON 파일에 자격 증명을 넣는 것은 하드코딩된 자격 증명을 제거하라는 요구 사항을 충족하지 못합니다.