説明
Cloud Storage バケットの一覧は、オブジェクトストレージ資産を把握し、公開アクセス、暗号鍵、アクセス制御を確認するために使います。バケットの存在自体は脆弱性を意味しません。
Cloud Storage は保存データを既定で暗号化します。顧客管理暗号鍵(CMEK)は、別途必要な鍵管理に対応する選択肢です。均一なバケットレベルのアクセスは ACL を無効にしますが、公開 IAM 権限を自動で削除するものではありません。
想定される影響
- 資産一覧にないバケットでは、公開権限や保護設定の確認が抜ける場合があります。
- データの場所、費用、運用責任を正確に管理しにくくなる場合があります。
対処方法
バケットを資産一覧に反映し、IAM・ACL の公開権限、保持・復旧方針、担当チームを確認してください。CMEK が必要ならバケットと一致するロケーションの鍵を選び、サービスエージェントの権限と鍵の可用性を管理してください。
例
サポートが終了した Deployment Manager 形式の抜粋です。バケット名と鍵は実際の環境に合わせて指定してください。両方とも保存時暗号化を使い、変更後はアクセス制御方式と鍵管理を追加指定します。
変更前
yaml
resources:
- name: sample-input3
type: storage.v1.bucket
properties:
storageClass: STANDARD
location: EUROPE-WEST3
acl:
- entity: allUsers
role: READER
変更後
yaml
resources:
- name: sample-input
type: storage.v1.bucket
properties:
storageClass: STANDARD
location: EUROPE-WEST3
iamConfiguration:
uniformBucketLevelAccess:
enabled: true
encryption:
defaultKmsKeyName: projects/example/locations/europe-west3/keyRings/ring/cryptoKeys/key
補足:
- 変更前:
allUsersのバケットREADERACL は、匿名ユーザーによるバケット内のオブジェクト一覧取得を許可します。内容の読み取り権限は別です。 - 変更後: ACL に代えて IAM を使い、バケットと同じリージョンの CMEK を指定します。公開 IAM 権限は別途確認してください。既定の鍵を変えるだけでは既存オブジェクトは再暗号化されません。