Cloud Storage 사용 로그 설정 점검

Cloud Storage 사용 로그와 Cloud Audit Logs의 목적을 구분하고 필요한 접근 기록의 수집·전달을 확인하세요.

설명

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을 로그 대상으로 지정합니다. 해당 버킷이 전달 요건을 충족하는지 확인하고 실제 로그 객체가 생성되는지 점검하세요.

참조