보안 사고가 터졌을 때 가장 먼저 던지는 질문은 "누가, 언제, 무엇을 했는가"다. 침입자가 IAM 사용자를 만들었는지, S3 버킷을 공개로 바꿨는지, 보안 그룹을 0.0.0.0/0으로 열었는지 — 이걸 정확히 재구성할 수 없으면 사고 대응은 추측의 영역으로 떨어진다. 그런데 더 무서운 시나리오가 있다. 침입자가 권한을 탈취한 뒤 자신이 한 행위의 로그를 지워버리는 것이다. 감사 로그가 행위 주체에 의해 수정·삭제될 수 있다면, 그 로그는 법정에서도 사후 분석에서도 증거 능력을 잃는다. 그래서 감사 로깅 시스템의 가장 중요한 설계 목표는 "기록한다"가 아니라 "기록을 아무도 — 심지어 root조차 — 사후에 바꿀 수 없게 한다"이다.
AWS의 CloudTrail(2013년 출시)은 이 문제를 정면으로 푸는 서비스다. 콘솔·CLI·SDK·심지어 AWS 서비스가 다른 서비스를 호출한 것까지, 계정 안에서 일어난 거의 모든 API 호출을 기록한다. 이 글은 CloudTrail의 기능을 나열하는 대신, "관리 이벤트와 데이터 이벤트가 왜 비용이 다른지", "로그 무결성 검증이 암호학적으로 어떻게 변조를 막는지", "CloudTrail이 Config·VPC Flow Logs와 무엇이 다른지"를 따라가며 SAA 보안·거버넌스 도메인이 묻는 본질을 짚는다.