감사(audit)의 본질은 "누가, 언제, 무엇을, 어디서, 어떻게 했는가"를 사후에 재구성할 수 있게 만드는 것이다. AWS에서 이 질문에 답하는 1차 증거는 CloudTrail이다. CloudTrail은 계정 안에서 발생한 거의 모든 API 호출을 JSON 이벤트로 기록한다. 보안 시험의 관점에서 핵심은 "CloudTrail이 무엇을 기록하고 무엇을 기록하지 않는가", 그리고 "그 기록이 변조되지 않았음을 어떻게 증명하는가"이다.
CloudTrail은 두 가지 모드로 존재한다. 모든 계정에 기본 활성화되어 최근 90일치 관리 이벤트를 보여주는 Event history(저장·내보내기 불가, 단일 리전·읽기 전용 콘솔 뷰), 그리고 사용자가 명시적으로 만들어 S3에 영구 보관하는 Trail이다. 시험에서 "장기 보존", "포렌식", "규정 준수"가 나오면 Event history가 아니라 Trail 또는 CloudTrail Lake가 정답이다.
CloudTrail이 기록하는 이벤트는 성격이 다른 세 부류로 나뉜다. 이 구분을 모르면 "왜 내 S3 GetObject가 로그에 안 보이지?" 같은 함정에 빠진다.