감사(audit)의 본질은 "누가, 언제, 무엇을, 어디서, 어떻게 했는가"를 사후에 재구성할 수 있게 만드는 것이다. AWS에서 이 질문에 답하는 1차 증거는 CloudTrail이다. CloudTrail은 계정 안에서 발생한 거의 모든 API 호출을 JSON 이벤트로 기록한다. 보안 시험의 관점에서 핵심은 "CloudTrail이 무엇을 기록하고 무엇을 기록하지 않는가", 그리고 "그 기록이 변조되지 않았음을 어떻게 증명하는가"이다.
CloudTrail은 두 가지 모드로 존재한다. 모든 계정에 기본 활성화되어 최근 90일치 관리 이벤트를 보여주는 Event history(저장·내보내기 불가, 단일 리전·읽기 전용 콘솔 뷰), 그리고 사용자가 명시적으로 만들어 S3에 영구 보관하는 Trail이다. 시험에서 "장기 보존", "포렌식", "규정 준수"가 나오면 Event history가 아니라 Trail 또는 CloudTrail Lake가 정답이다.
📚 사례: 2014년 코드 호스팅 업체 Code Spaces는 공격자가 AWS 콘솔 제어권을 얻은 뒤 인스턴스·스토리지·스냅샷·백업을 차례로 삭제해 사실상 하루 만에 서비스를 접었다. 널리 알려진 이 사건이 남긴 교훈은 단순하다 — 백업과 로그가 침해된 계정과 같은 통제 경계 안에 있으면 그것은 백업도 로그도 아니다. 침해 대응의 순서를 공격자 입장에서 뒤집어 보면 더 분명해진다