説明
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 をログの保存先に指定しています。配信要件を満たすバケットであることと、実際にログオブジェクトが作成されることを確認してください。