설명
CloudTrail 로그를 저장하는 S3 버킷의 서버 액세스 로그는 해당 버킷에 대한 요청을 조사하는 데 도움이 됩니다. 필요한 액세스 기록을 수집하지 않으면 로그 파일에 대한 접근이나 운영 문제를 사후 분석하기 어려울 수 있습니다.
S3 서버 액세스 로깅은 추적의 이벤트 기록이나 CloudTrail 데이터 이벤트와 별도 기능입니다. 최선 노력 방식으로 전달되어 지연되거나 누락될 수 있으므로 모든 요청의 완전한 기록으로 간주하지 마세요.
잠재적 영향
- 로그 파일을 저장하는 버킷의 접근 경위를 조사할 자료가 부족할 수 있습니다.
- 필요한 보존 기간이나 조사 범위를 충족하지 못할 수 있습니다.
해결 방법
필요한 서버 액세스 로그를 LoggingConfiguration으로 수집하세요. S3를 대상으로 사용할 때는 같은 계정·리전의 별도 버킷과 로그 전달 권한을 준비하고 접근 제한·보존 기간을 관리하세요. 실제 전달을 확인하고 CloudTrail 이벤트 수집 범위도 별도로 점검하세요.
예시
버킷 설정만 발췌했습니다. CloudTrail 추적과 해당 버킷 정책은 포함하지 않습니다. AccessLogBucketName에 실제 로그 대상 버킷 이름을 제공하고 로그 전달 서비스 권한을 별도로 설정하세요.
변경 전
yaml
Resources:
MyBucket:
Type: AWS::S3::Bucket
Properties:
VersioningConfiguration:
Status: Enabled
이 버킷에는 서버 액세스 로그 대상이 없습니다. 이것만으로 CloudTrail 추적 자체가 중지되었다는 뜻은 아닙니다.
변경 후
yaml
Resources:
MyBucket:
Type: AWS::S3::Bucket
Properties:
VersioningConfiguration:
Status: Enabled
LoggingConfiguration:
DestinationBucketName: !Ref AccessLogBucketName
LogFilePrefix: loga/
별도 S3 버킷으로 서버 액세스 로그를 보냅니다. 버전 관리는 요청 로깅을 대신하지 않으며 로그 전달은 지연될 수 있습니다.