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": "*"」な設定が禁止の対象となる。
表にしたものが以下になります。
ちなみに、新規にバケットを作成するとデフォルトすべてTrueになっています。
状況の設定で、バケットポリシーで公開設定しようとすると以下の様なエラーになります。
すべての設定がfalseです。
公開設定が可能です。
ファイルをアップロードしてダウンロードしてみます。
URLをクリックしてファイルをダウンロードする
→OK
バケットにパブリックポリシーがある場合、パブリックアクセスとクロスアカウントアクセスをブロックする (推奨)をTrueにする
ファイルのURLを開くとAccess Deniedになります。
公開設定のバケットポリシーを削除します。
新規のパブリックバケットポリシーをブロックする (推奨)をTrueにします。
バケットポリシーで公開設定を使用とするとアクセスが拒否される
この状態でクロスアカウント設定する
s3 cliでファイルをダウンロードしてみます。
問題なくダウンロードできます。
投稿内容は私個人の意見であり、所属企業・部門見解を代表するものではありません。
目的
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": "*"」な設定が禁止の対象となる。
表にしたものが以下になります。
ちなみに、新規にバケットを作成するとデフォルトすべてTrueになっています。
状況の設定で、バケットポリシーで公開設定しようとすると以下の様なエラーになります。
{ "Id": "Policy1542641668505", "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1542641665444", "Action": [ "s3:getobject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::<S3バケット名>/*", "Principal": "*" } ] }
試してみます
前提
すべての設定がfalseです。公開設定が可能です。
ファイルをアップロードしてダウンロードしてみます。
URLをクリックしてファイルをダウンロードする
→OK
既存の公開設計の禁止してみる
バケットにパブリックポリシーがある場合、パブリックアクセスとクロスアカウントアクセスをブロックする (推奨)をTrueにするファイルのURLを開くとAccess Deniedになります。
新規の公開設定の禁止してみる
公開設定のバケットポリシーを削除します。新規のパブリックバケットポリシーをブロックする (推奨)をTrueにします。
バケットポリシーで公開設定を使用とするとアクセスが拒否される
この状態でクロスアカウント設定する
{ "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バケット名> " ] } ] }
$ aws s3 cp s3://<S3バケット名>/test.txt . download: s3://<S3バケット名>/test.txt to ./test.txt
コメント
コメントを投稿