개발자가 Amazon OpenSearch Service 도메인을 구성하기 위해 Lambda 함수를 기반으로 하는 CloudFormation 사용자 지정 리소스를 생성하고 있습니다. Lambda는 OpenSearch 내부 마스터 사용자 자격 증명을 사용하여 도메인에 액세스해야 합니다. Lambda 함수에 이러한 자격 증명을 제공하는 가장 안전한 방법은 무엇입니까?
정답 선택
옵션을 탭하여 정답을 확인하세요.
정답: CloudFormation을 사용하여 Secrets Manager 시크릿을 생성하고, CloudFormation 동적 참조를 사용하여 OpenSearch 도메인의 MasterUserOptions에 대한 시크릿 값을 참조하고, Lambda에 secretsmanager:GetSecretValue 권한이 있는 IAM 역할을 부여합니다. 시크릿 이름을 Lambda 환경 변수에 저장하고 런타임에 시크릿을 검색합니다..
이것이 정답인 이유
가장 안전한 방법은 AWS Secrets Manager를 사용하는 것입니다. Secrets Manager는 자격 증명을 안전하게 저장하고 관리하며, CloudFormation 동적 참조를 통해 OpenSearch 도메인에 안전하게 전달할 수 있습니다. Lambda 함수는 Secrets Manager에서 자격 증명을 검색할 수 있는 적절한 IAM 권한을 부여받고, 런타임에 필요한 경우에만 자격 증명을 검색하므로 노출 위험을 최소화합니다.
다른 옵션들은 다음과 같은 이유로 덜 안전합니다:
CloudFormation 파라미터에 NoEcho를 사용하더라도 자격 증명이 CloudFormation 스택 이벤트에 기록될 수 있고, Lambda 환경 변수에 직접 저장하는 것은 보안상 취약합니다.
Systems Manager Parameter Store는 Secrets Manager보다 덜 강력한 보안 기능을 제공하며, 자격 증명 관리에 특화되어 있지 않습니다.
KMS로 암호화하더라도 Lambda 환경 변수에 직접 저장하는 것은 여전히 보안 위험이 있습니다.