설명
S3 서버 액세스 로그는 버킷에 대한 요청과 응답 상태를 조사하는 데 도움이 됩니다. 필요한 요청 기록을 보관하지 않으면 비정상 접근이나 운영 오류를 분석하기 어려울 수 있습니다.
서버 액세스 로그는 최선 노력 방식으로 전달되며 일부 기록이 지연되거나 누락될 수 있습니다. 모든 요청의 완전한 감사 기록이나 접근 통제를 대신하지 않습니다.
잠재적 영향
- 요청 경위나 오류 원인을 조사할 자료가 부족할 수 있습니다.
- 접근·보존 관리가 부족한 로그에서 요청 정보가 노출될 수 있습니다.
해결 방법
LoggingConfiguration으로 필요한 액세스 로그를 수집하세요. S3 대상 버킷은 원본과 같은 계정·리전에 별도로 준비하고 로그 전달 권한을 부여하세요. 로그 접근과 보존 기간을 제한하고, 요청을 보낸 뒤 전달 지연을 고려해 실제 수집을 확인하세요.
예시
AccessLogBucketName은 실제 로그 대상 버킷 이름입니다. 대상 버킷과 로그 전달 서비스 권한은 별도로 준비하세요. 버전 관리와 액세스 로깅은 서로 다른 기능입니다.
변경 전
yaml
Resources:
MyBucket:
Type: AWS::S3::Bucket
Properties:
VersioningConfiguration:
Status: Enabled
서버 액세스 로그 대상이 설정되어 있지 않습니다. 필요한 기록이 다른 감사 체계에서 수집되는지도 함께 확인하세요.
변경 후
yaml
Resources:
MyBucket:
Type: AWS::S3::Bucket
Properties:
VersioningConfiguration:
Status: Enabled
LoggingConfiguration:
DestinationBucketName: !Ref AccessLogBucketName
LogFilePrefix: loga/
별도 S3 버킷에 서버 액세스 로그를 저장하도록 구성합니다. 모든 요청이 즉시 기록된다는 보장은 아닙니다.