0
1

More than 1 year has passed since last update.

S3に適切な権限を付与しよう

Last updated at Posted at 2021-10-29

今回はAWS S3(Amazon Simple Storage Service)の適切な権限を付与して行きたいと思います。
静的なWebサイトの公開などの際に有効かと思います。

S3のアクセス制限について

S3は必要に応じて特定のアカウント、IAMユーザー、AWSリソースにアクセス権限を設定することができます

 アクセスコントロールリスト(ACL)

・他の特定のAWSアカウントに対してバケット・オブジェクトへのアクセス権限を付与する
・誰にでもバケット・オブジェクトへのアクセス権限を付与できる

 バケットポリシー

・ACLより権限をもっと細かく設定できる(ex. 特定のIPアドレスからのアクセスを許可)
・主にALCよりこちらを使用していく

 IAMポリシー

・IAMユーザーに対してS3へのアクセス権限を設定できる

 パブリックブロックアクセス

・ACLとバケットポリシーについて、新規の公開を防ぐ設定と、既存の公開を修正する設定

以下のサイトがわかりやすいです↓↓↓

 実践

バケットポリシーを利用してHTMLファイルを公開する際に適切なアクセス権限をつけていきましょう。まず、パブリックブロックアクセスを設定していきます。ACLを介してアクセス権限の設定をしないのでブロックを「オン」、一方でバケットポリシーを介してアクセス権限の設定を「オフ」にします。

*バケットポリシーを編集したあとは「新しいパブリックバケットポリシーまたはアクセスポイントポリシーを介して付与されたバケットとオブジェクトへのパブリックアクセスをブロックする」をオンにするべきです。

スクリーンショット 2021-10-29 17.39.40.png

 バケットポリシー

全ての人に対して閲覧権限を付与


{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "BucketPlicy",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::<バケット名>/*"
        }
    ]
}

特定のIPアドレスのみアクセスを許可


{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "IpAddress",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::<バケット名>/*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": "IPアドレス"
                }
            }
        }
    ]
}

 参考文献

0
1
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
0
1