説明
Cloud Storage で均一なバケットレベルのアクセスが無効な場合、IAM ポリシーとバケット・オブジェクトの ACL が併用されます。権限の管理場所が分かれると、実際のアクセス範囲を確認しにくくなります。
uniformBucketLevelAccess.enabled: true は ACL を無効にし、IAM でアクセスを管理する設定です。この設定だけでは、IAM で付与した公開アクセス権限は削除されません。
想定される影響
- オブジェクト ACL に、意図しない公開アクセスや過剰な権限が残る可能性があります。
- ACL に依存する権限を移行せずに有効にすると、必要なアクセスが停止するおそれがあります。
対処方法
- ACL に依存する主体を確認し、必要最小限の IAM 権限を先に用意してください。
iamConfiguration.uniformBucketLevelAccess.enabledをtrueにして必要なアクセスをテストしてください。90 日間連続で有効にした後は無効に戻せません。- IAM の公開権限も確認し、公開が不要なら公開アクセスの防止も使用してください。
例
Deployment Manager のサポートは終了しています。次の例は従来のバケット設定の抜粋です。実際の名前、場所などの必要な設定は別途用意し、サポートされる管理ツールへの移行を計画してください。
変更前
yaml
resources:
- name: bucket
type: storage.v1.bucket
properties:
iamConfiguration:
uniformBucketLevelAccess:
enabled: false
ACL と IAM を併用できる構成です。
変更後
yaml
resources:
- name: bucket
type: storage.v1.bucket
properties:
iamConfiguration:
uniformBucketLevelAccess:
enabled: true
ACL を無効にし、IAM でアクセスを管理します。必要な権限の移行と公開アクセスの確認は別途必要です。