26
24

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-11-20

##目的

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

問題なくダウンロードできます。

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

26
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
24

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?