어떤 회사의 보안 엔지니어가 특정 AWS Lambda 함수가 호출되는 시점을 기록해야 합니다. 로그에는 함수를 호출한 AWS 프린시펄이 포함되어야 합니다. 외부 소스와 회사 개발자들은 Python, Node.js, Golang 등 다양한 언어를 사용하여 Lambda 함수 코드를 제공합니다. 보안 엔지니어는 AWS 계정에 대해 기본 구성으로 AWS CloudTrail 추적(trail)을 생성했습니다. 최소한의 운영 오버헤드로 이러한 요구 사항을 충족하는 솔루션은 무엇입니까?
- A. Lambda 컨텍스트에서 AWS 프린시펄을 추출하고 모니터링할 함수가 호출될 때 로그 항목을 작성하도록 Lambda 함수 코드를 업데이트합니다.
- B. Amazon EventBridge(Amazon CloudWatch Events)를 사용하여 모니터링할 함수에 대한 필터와 함께 lambda:invoke 이벤트에 대한 규칙과 사용자 지정 패턴을 구성합니다. 다른 Lambda 함수를 호출하여 EventBridge(CloudWatch Events) 데이터를 Amazon CloudWatch Logs에 기록합니다.
- C. 기존 CloudTrail 추적을 수정합니다. Lambda 함수를 데이터 이벤트로 모니터링하도록 기존 CloudTrail 추적을 구성합니다.✓ 정답
- D. 함수가 호출될 때 Lambda 컨텍스트를 포함하는 로그 이벤트를 CloudTrail에 제공하는 Lambda 계층(layer)을 생성합니다. 이 계층을 모니터링해야 하는 모든 Lambda 함수에 연결합니다.
해설
【핵심 용어】 ▸ CloudTrail Data Events(Lambda) — Lambda 함수 호출(Invoke) 기록, 호출 프린시펄 포함 ▸ 언어 무관 — 코드 변경 없이 로깅(런타임 다양성 대응) ▸ 기본 트레일 — 관리 이벤트만 기록하므로 데이터 이벤트 활성화 필요 【정답 포인트】 ▸ "특정 Lambda 호출과 호출 프린시펄 기록 + 언어 다양 + 최소 오버헤드" → 기존 CloudTrail 트레일을 수정해 Lambda를 데이터 이벤트로 모니터링(코드 변경 불필요) 【오답 체크】 (A) 함수 코드 수정은 다양한 언어별 구현 필요로 오버헤드 큼. (B) EventBridge lambda:invoke 사용자 패턴 + 별도 Lambda 기록은 복잡하고 비표준. (D) 호출 컨텍스트를 로깅하는 Lambda 레이어를 모든 함수에 붙이는 것도 오버헤드 크고 CloudTrail 동작 방식과 다름. 【시험 포인트】 Lambda 호출·프린시펄 로깅 최소 오버헤드 → CloudTrail 데이터 이벤트.