ある程度の規模のサイトを作成していると、画像やcss、jsなどの静的なファイルをプログラムとは別の場所(S3)で管理・運営したいといったことがあると思います。
ここでは作成したS3バケットを公開する方法をご紹介しています。
公開したいバケットを選択
最初に、公開したいS3バケットを選択してください。
アクセス許可のタブを選択
以下の赤枠にあるタブ「アクセス許可」を選択して表示される「ブロックパブリックアクセス (パケット設定) 」の「編集」を選択してください。
権限の設定
パブリックアクセスのブロックをすべてオフに変更
「パブリックアクセスをすべてブロック」を「オフ」にして「変更の保存」をクリックします。この時点ではまだ公開されません。
バケットポリシーの入力
バケットポリシーに以下のコードを入力します。「Resource」の部分は自身のS3のバケット名を入力してください。入力をして「変更の保存」を設定すると外部からファイルへアクセスできるようになります。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::バケット名/*"
}
]
}
今回は特に制限などは付与していませんが、バケットポリシーを変更することで特定のIPのみを許可するなどの制限をすることも可能です。