설명
Cloud Storage의 사용 로그는 버킷에 대한 요청을, 스토리지 로그는 저장 용량 정보를 제공합니다. 필요한 접근 기록이 없으면 비정상 요청을 분석하거나 사고 경위를 조사하기 어려울 수 있습니다.
버킷의 logging 설정은 이러한 로그를 별도 버킷에 저장하며 Cloud Audit Logs와는 별개입니다. Google은 대부분의 API 작업 감사에 Cloud Audit Logs를 권장합니다. 사용 로그는 공개 객체 접근 분석 등에 유용하지만, 전달의 적시성과 완전성이 보장되지는 않습니다.
잠재적 영향
- 필요한 요청 기록을 수집하지 않으면 무단 접근을 늦게 발견하거나 조사 자료가 부족해질 수 있습니다.
- 로그 전달 실패를 확인하지 않으면 수집이 정상이라고 잘못 판단할 수 있습니다.
해결 방법
감사 목적에 맞게 Cloud Audit Logs를 구성하고, 사용 로그가 필요하면 logging.logBucket에 로그 버킷을 지정하세요. 로그 전달 권한과 보존 기간을 설정하고 실제 로그 객체가 도착하는지 확인하세요.
예시
accessLogs라는 로그 버킷을 별도로 준비한 발췌입니다. 로그 버킷은 원본과 같은 위치 및 조직에 두고, 조직이 없으면 같은 프로젝트를 사용하세요. cloud-storage-analytics@google.com 그룹에 해당 버킷의 roles/storage.objectCreator 권한을 부여해야 합니다.
변경 전
yaml
resources:
example:
type: gcp:storage:Bucket
properties:
location: US-CENTRAL1
변경 후
yaml
resources:
example:
type: gcp:storage:Bucket
properties:
location: US-CENTRAL1
logging:
logBucket: ${accessLogs.name}
logObjectPrefix: some_obj_prefix
logBucket이 저장 대상을, logObjectPrefix가 로그 객체의 접두사를 지정합니다. Cloud Audit Logs 설정이나 모든 요청의 즉시 기록을 보장하는 예시는 아닙니다.