S3パブリックアクセス設定を試してみる

S3パブリックアクセス設定を試してみる:


目的

2018/11/16にS3の公開設定をブロックするパブリックバケットポリシーがリリースされたので試してみます。
https://aws.amazon.com/jp/blogs/aws/amazon-s3-block-public-access-another-layer-of-protection-for-your-accounts-and-buckets/

ACLとバケットポリシーがありますがここでは、バケットポリシーについて記載したいと思います。

バケットポリシーに対する設定項目としては、以下の2つがあります。

・新規のパブリックバケットポリシーをブロックする (推奨)

・バケットにパブリックポリシーがある場合、パブリックアクセスとクロスアカウントアクセスをブロックする (推奨)


新規のパブリックバケットポリシーをブロックする (推奨)

新規の公開設定の禁止

既存の公開設定はそのまま有効


バケットにパブリックポリシーがある場合、パブリックアクセスとクロスアカウントアクセスをブロックする (推奨)

既存の公開設計の禁止

新規の公開設定は可能

また、アカウントIDを指定したクロスアカウントアクセスは、パブリックバケットポリシーを有効にしても引き続き可能です。パブリックバケットポリシーは、「"Principal": "*"」な設定が禁止の対象となる。

表にしたものが以下になります。



image.png


ちなみに、新規にバケットを作成するとデフォルトすべてTrueになっています。



image.png




image.png


状況の設定で、バケットポリシーで公開設定しようとすると以下の様なエラーになります。

{ 
    "Id": "Policy1542641668505", 
    "Version": "2012-10-17", 
    "Statement": [ 
        { 
            "Sid": "Stmt1542641665444", 
            "Action": [ 
                "s3:getobject" 
            ], 
            "Effect": "Allow", 
            "Resource": "arn:aws:s3:::<S3バケット名>/*", 
            "Principal": "*" 
        } 
    ] 
} 
image.png


試してみます


前提

すべての設定がfalseです。


image.png


公開設定が可能です。
image.png

ファイルをアップロードしてダウンロードしてみます。



image.png


URLをクリックしてファイルをダウンロードする

→OK


既存の公開設計の禁止してみる

バケットにパブリックポリシーがある場合、パブリックアクセスとクロスアカウントアクセスをブロックする (推奨)をTrueにする


image.png


ファイルのURLを開くとAccess Deniedになります。


image.png



新規の公開設定の禁止してみる

公開設定のバケットポリシーを削除します。

新規のパブリックバケットポリシーをブロックする (推奨)をTrueにします。


image.png


バケットポリシーで公開設定を使用とするとアクセスが拒否される
image.png

この状態でクロスアカウント設定する

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
        { 
            "Sid": "Example", 
            "Effect": "Allow", 
            "Principal": { 
                "AWS": "arn:aws:iam::<AWSアカウントID>:root" 
            }, 
            "Action": "s3:getobject", 
            "Resource": [ 
                "arn:aws:s3:::<S3バケット名>*", 
                "arn:aws:s3:::<S3バケット名> " 
            ] 
        } 
    ] 
} 
s3 cliでファイルをダウンロードしてみます。

$ aws s3 cp s3://<S3バケット名>/test.txt . 
download: s3://<S3バケット名>/test.txt to ./test.txt 
問題なくダウンロードできます。


約束

投稿内容は私個人の意見であり、所属企業・部門見解を代表するものではありません。

コメント

このブログの人気の投稿

投稿時間:2021-06-17 22:08:45 RSSフィード2021-06-17 22:00 分まとめ(2089件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)