Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

3 re:Invent 2021 S3関連アップデート

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

6 S3関連Update

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

9 どゆこと? ???

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

11 1つ目の前提 S3には歴史的背景から複数の制御方法が存在します。 • Object ACL • Bucket ACL • User Policy(IAM) • Bucket Policy • Trust Policy アクセスコントロールリスト ポリシー ここが無効化できるようにな りました!

Slide 12

Slide 12 text

12 2つ目の前提 S3には所有者という考え方が存在 • バケット所有者 = AWSアカウントA • オブジェクト所有者 = AWSアカウントB Amazon Simple Storage Service (Amazon S3) Object AWSアカウント A AWSアカウント B

Slide 13

Slide 13 text

13 具体的な例 アカウントB配下のオブジェクトをAのS3にPutしても • バケット所有者 • オブジェクト所有者 Amazon Simple Storage Service (Amazon S3) Object AWSアカウント A AWSアカウント B アカウントBの許可がないと アカウントAはオブジェクトへ アクセスできません

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

19 そこで今回のUpdateの登場! Amazon S3 Object OwnershipでACL無効化

Slide 20

Slide 20 text

20 シンプル! S3 Object ACLを無効化(BacketOwnerEnforced)すること でバケットに入れたオブジェクトは強制的にバケット所 有者のものとする!!となりました Amazon Simple Storage Service (Amazon S3) Object AWSアカウント A AWSアカウント B Amazon S3 Object Ownership = BucketOwnerEnforced 設定不要! ACLの設定してたとしても BOEに負ける!

Slide 21

Slide 21 text

21 シンプル! シンプルに別AWSアカウントからのオブジェクトが利用 できる!嬉しい! Amazon Simple Storage Service (Amazon S3) Object AWSアカウント A AWSアカウント B Amazon S3 Object Ownership = BucketOwnerEnforced

Slide 22

Slide 22 text

22 今までありがとうS3 Object ACL 本UpdateにてS3 Object ACLのユースケースがなくなった

Slide 23

Slide 23 text

23 まとめ • S3 には複数の権限制御と所有者という考え方がある • S3 Object所有者に対するACL無効が可能になったこと でS3 Object ACLが役目を終えた • 今後はポリシーだけ考えて管理すればOK

Slide 24

Slide 24 text

No content