均一なバケットレベルのアクセスが無効なバケット

Cloud Storage の権限を IAM に統一する前に、必要な ACL 権限を移行してください。

説明

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 でアクセスを管理します。必要な権限の移行と公開アクセスの確認は別途必要です。

参考資料