AWS S3のアクセスを公開にする

やりたいこと

AWS S3でアクセスを公開にする。

公開にすると、外部から画像を表示することができます。

 

実装

①ブロックパブリックアクセス設定をオフにする

S3の管理画面から、「このアカウントのブロックパブリックアクセス設定」より、ブロックパブリックアクセス設定をオフにします。

 

②バケットポリシーを設定する

サイドバー「バケット」より、任意のバケットを選択し、上部ナビより「アクセス許可」を選択します。

バケットポリシーに以下コードを設定します。

参考:

https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/WebsiteAccessPermissionsReqd.html

{ 
  "Version": "2012-10-17", 
  "Statement": [ 
    { 
      "Sid": "PublicReadGetObject", 
      "Effect": "Allow", 
      "Principal": "*", 
      "Action": [ "s3:GetObject" ], 
      "Resource": [ 
        "arn:aws:s3:::Bucket-Name/*" 
      ] 
    } 
  ] 
}

以上の設定でバケットのアクセスが「公開」になっているかと思います。

※AWS側では、必要がない場合はpublicにしないことが推奨されているので、全てのバケットを公開にするのはやめておきましょう

 

以上!!!!!!!