회사 정책에 따라 모든 API 키는 암호화되어 소스 코드와 별도로 보안 팀이 관리하는 중앙 집중식 보안 계정에 저장되어야 합니다. 감사 결과, DevOps 계정의 AWS CodeCommit 리포지토리에 있는 AWS Lambda 함수의 소스 코드에 API 키가 커밋된 것이 발견되었습니다. 보안 팀은 API 키를 어떻게 안전하게 저장해야 할까요?
정답 선택
옵션을 탭하여 정답을 확인하세요.
정답: AWS Key Management Service(AWS KMS)로 암호화된 AWS Secrets Manager에 보안 계정의 시크릿을 생성합니다. Lambda 함수의 IAM 역할에 Secrets Manager에서 시크릿을 검색하고 API를 호출할 수 있는 권한을 부여합니다..
이것이 정답인 이유
정답은 AWS Secrets Manager를 사용하여 API 키를 안전하게 저장하는 것입니다. Secrets Manager는 API 키, 데이터베이스 자격 증명 등 민감한 정보를 안전하게 저장하고 관리하는 데 최적화된 서비스입니다. KMS 암호화를 사용하여 보안 계정에 시크릿을 생성하고, Lambda 함수의 IAM 역할에 이 시크릿을 검색할 권한을 부여하면, Lambda 함수는 필요할 때만 API 키에 접근할 수 있습니다.
오답 설명:
CodeCommit 리포지토리에 API 키를 저장하는 것은 소스 코드와 별도로 관리하라는 정책에 위배됩니다.
S3 버킷에 API 키를 저장하고 사전 서명된 URL을 사용하는 것은 복잡하며, URL이 노출될 경우 보안 위험이 있습니다. 또한, Lambda 함수가 매번 S3에서 키를 다운로드해야 하므로 성능에 영향을 줄 수 있습니다.
Lambda 환경 변수에 API 키를 저장하는 것은 소스 코드와 분리되지 않으며, 환경 변수는 암호화되더라도 여전히 소스 코드와 함께 배포될 수 있어 정책을 위반합니다.