Upgrade to Pro — share decks privately, control downloads, hide ads and more …

何が嬉しい?S3 Object ACL無効化 - 聞いた後、速攻で忘れていい知識をお届けします -

Cc9e31933e199606c510ba9b0b0258eb?s=47 takashi
December 09, 2021

何が嬉しい?S3 Object ACL無効化 - 聞いた後、速攻で忘れていい知識をお届けします -

2021/12/7に開催されたre:Growth ONLINE 2021で
re:Invent 2021で発表されたAmazon S3 Object ACLの無効化について
登壇しました。

Cc9e31933e199606c510ba9b0b0258eb?s=128

takashi

December 09, 2021
Tweet

Transcript

  1. 何が嬉しい︖S3 Object ACL無効化 2021/12/7 コンサルティング部 豊崎 隆 聞いた後、速攻で忘れていい知識をお届けします

  2. 2 自己紹介 豊﨑 隆 AWS 事業本部 コンサルティング部 マネージャー 2021 APN

    ALL AWS Certifications Engineers
  3. 3 re:Invent 2021 S3関連アップデート

  4. 4 S3関連Update たくさんS3のアップデートがありました。

  5. 5 S3関連Update たくさんS3のアップデートがありました。

  6. 6 S3関連Update

  7. 7 これについて話します Amazon S3 Object OwnershipでACL無効化

  8. 8 どういうUpdate? S3 Object ACLを無効化(BacketOwnerEnforced)が可能に なりました →設定することでS3バケット内のオブジェクトは全てS3 バケットを所有しているアカウントのものになります

  9. 9 どゆこと? ???

  10. 10 1つ目の前提 S3には歴史的背景から複数の制御方法が存在します。 • Object ACL • Bucket ACL •

    User Policy(IAM) • Bucket Policy • Trust Policy アクセスコントロールリスト ポリシー
  11. 11 1つ目の前提 S3には歴史的背景から複数の制御方法が存在します。 • Object ACL • Bucket ACL •

    User Policy(IAM) • Bucket Policy • Trust Policy アクセスコントロールリスト ポリシー ここが無効化できるようにな りました!
  12. 12 2つ目の前提 S3には所有者という考え方が存在 • バケット所有者 = AWSアカウントA • オブジェクト所有者 =

    AWSアカウントB Amazon Simple Storage Service (Amazon S3) Object AWSアカウント A AWSアカウント B
  13. 13 具体的な例 アカウントB配下のオブジェクトをAのS3にPutしても • バケット所有者 • オブジェクト所有者 Amazon Simple Storage

    Service (Amazon S3) Object AWSアカウント A AWSアカウント B アカウントBの許可がないと アカウントAはオブジェクトへ アクセスできません
  14. 14 具体的な例 Amazon Simple Storage Service (Amazon S3) Object AWSアカウント

    A AWSアカウント B バケット所有者への フルアクセス権を オブジェクトに付与する Object ACL バケット所有者(=A)にフルア クセス許可を付与しないとBか らバケットを使わせない Bucket Policy
  15. 15 まだ所有者はこのまま • バケット所有者 = AWSアカウントA • オブジェクト所有者 = AWSアカウントB

    Amazon Simple Storage Service (Amazon S3) Object AWSアカウント A AWSアカウント B バケット所有者(=A)にフルア クセス許可を付与しないとBから バケットを使わせない Bucket Policy バケット所有者への フルアクセス権を オブジェクトに付与する Object ACL
  16. 16 2020年Update オブジェクトオーナーシップ設定 オブジェクトが既定ACLの bucket-owner-full-control を指定してアップロ ードされた場合、バケット所有者がオブジェクトを所有する Amazon Simple Storage

    Service (Amazon S3) Object AWSアカウント A AWSアカウント B バケット所有者(=A)にフルア クセス許可を付与しないとBから バケットを使わせない Bucket Policy バケット所有者への フルアクセス権を オブジェクトに付与する Object ACL
  17. 17 オブジェクト所有者が変わった! • バケット所有者 = AWSアカウントA • オブジェクト所有者 = AWSアカウントA

    Amazon Simple Storage Service (Amazon S3) Object AWSアカウント A AWSアカウント B バケット所有者(=A)にフルア クセス許可を付与しないとBから バケットを使わせない Bucket Policy バケット所有者への フルアクセス権を オブジェクトに付与する Object ACL
  18. 18 でもまだややこしい Amazon Simple Storage Service (Amazon S3) Object AWSアカウント

    A AWSアカウント B バケット所有者(=A)にフルア クセス許可を付与しないとBから バケットを使わせない Bucket Policy バケット所有者への フルアクセス権を オブジェクトに付与する Object ACL
  19. 19 そこで今回のUpdateの登場! Amazon S3 Object OwnershipでACL無効化

  20. 20 シンプル! S3 Object ACLを無効化(BacketOwnerEnforced)すること でバケットに入れたオブジェクトは強制的にバケット所 有者のものとする!!となりました Amazon Simple Storage

    Service (Amazon S3) Object AWSアカウント A AWSアカウント B Amazon S3 Object Ownership = BucketOwnerEnforced 設定不要! ACLの設定してたとしても BOEに負ける!
  21. 21 シンプル! シンプルに別AWSアカウントからのオブジェクトが利用 できる!嬉しい! Amazon Simple Storage Service (Amazon S3)

    Object AWSアカウント A AWSアカウント B Amazon S3 Object Ownership = BucketOwnerEnforced
  22. 22 今までありがとうS3 Object ACL 本UpdateにてS3 Object ACLのユースケースがなくなった

  23. 23 まとめ • S3 には複数の権限制御と所有者という考え方がある • S3 Object所有者に対するACL無効が可能になったこと でS3 Object

    ACLが役目を終えた • 今後はポリシーだけ考えて管理すればOK
  24. None