설명
Cloud Storage의 사용 로그는 버킷에 대한 요청을, 스토리지 로그는 저장 용량 정보를 CSV로 제공합니다. 필요한 접근 기록이 없으면 비정상 요청을 분석하거나 사고 경위를 조사하기 어려울 수 있습니다.
버킷의 logging 설정은 이러한 로그를 별도 버킷에 저장하는 기능이며 Cloud Audit Logs와는 별개입니다. Google은 대부분의 API 작업 감사에 Cloud Audit Logs를 권장합니다. 사용 로그는 공개 객체 접근 등 추가 분석에 유용하지만, 전달의 적시성과 완전성은 보장되지 않습니다.
잠재적 영향
- 필요한 요청 기록을 수집하지 않으면 비정상 접근을 늦게 발견하거나 조사 자료가 부족해질 수 있습니다.
- 로그 전달 실패를 확인하지 않으면 수집이 정상이라고 잘못 판단할 수 있습니다.
해결 방법
- 감사 목적에 맞게 Cloud Audit Logs를 구성하고, 사용 로그가 필요한 버킷에는
logging.logBucket을 지정하세요. - 로그 버킷은 원본 버킷과 같은 위치 및 조직에 두세요. 조직이 없으면 같은 프로젝트를 사용하세요.
cloud-storage-analytics@google.com그룹에 로그 버킷의roles/storage.objectCreator권한을 부여하세요. - 로그 읽기 권한과 보존 기간을 제한하고 시험 요청 후 실제 전달을 확인하세요. VPC Service Controls를 사용하면 로그 버킷도 같은 보안 경계에 두어야 합니다.
예시
기존 Crossplane API의 부분 예시입니다. 로그 버킷과 전달 권한 등 나머지 설정은 별도로 준비해야 합니다.
변경 전
yaml
apiVersion: storage.gcp.crossplane.io/v1alpha3
kind: Bucket
spec:
location: EU
storageClass: MULTI_REGIONAL
사용·스토리지 로그를 저장할 버킷을 지정하지 않습니다. 이것만으로 Cloud Audit Logs도 비활성화되어 있다고 판단할 수는 없습니다.
변경 후
yaml
apiVersion: storage.gcp.crossplane.io/v1alpha3
kind: Bucket
spec:
location: EU
logging:
logBucket: example-logs-bucket
storageClass: MULTI_REGIONAL
example-logs-bucket을 로그 대상으로 지정합니다. 해당 버킷이 전달 요건을 충족하는지 확인하고 실제 로그 객체가 생성되는지 점검하세요.