0
1

More than 3 years have passed since last update.

[Rails] ActiveStrageの画像の保存先をAmazon S3にする②~バケット作成~

Posted at

はじめに

前回の続きです。AmazonS3に画像を保存するために、保存先であるバケットを作成します。

バケットの作成

AWSにルートユーザーでログインします。
検索フォームにS3と入力して、S3をクリックします。

image.png

バケットを作成と書かれたボタンをクリックします。
バケット名を入力します。名前は自由に決めて大丈夫です。

リージョンというところは「アジアパシフィック(東京) ap-northeast-1」を選択してください。

ブロックパブリックアクセスのバケット設定というところですが、
まず、「パブリックアクセスを全てブロック」のチェックを外し、
「新しいパブリックバケットポリシーまたはアクセスポイントポリシーを介して付与されたバケットとオブジェクトへのパブリックアクセスをブロックする」

「任意のパブリックバケットポリシーまたはアクセスポイントポリシーを介したバケットとオブジェクトへのパブリックアクセスとクロスアカウントアクセスをブロックする」
と最後の警告のところの三つにチェックを入れます。↓
image.png

その後は何も入力せずに「バケットを作成」をクリック
これでバケットの作成が完了したはずです。

セキュリティー対策 バケットポリシーを設定

バケットポリシーというものを使用してアクセス制限の設定をします。
前回作成したIAMユーザーのみがこのバケットにアクセスできるように設定します。

まずはIAMを検索から探し、クリックします。
image.png

それから「ユーザー」という項目をクリックすると、前回作成したユーザーが出てくるので名前をクリックします。

「ユーザーのARN」と書かれた情報が出てくるはずです。コピーができるようになっているはずなのでコピーして、一時メモアプリなどに保存しておいてください。

続いてS3の方に戻ります。同じように検索でS3と入力してバケットのページへ移動してください。
作成したバケット名をクリックして画面中央の「アクセス許可」というところをクリックしてください。

スクロールすると、バケットポリシーという項目が出てくるので編集をクリックし下記を貼り付けてください。

バケットポリシー
{
   "Version": "2012-10-17",
   "Id": "Policy1544152951996",
   "Statement": [
       {
           "Sid": "Stmt1544152948221",
           "Effect": "Allow",
           "Principal": {
               "AWS": "①"
           },
           "Action": "s3:*",
           "Resource": "arn:aws:s3:::②"
       }
   ]
}

貼り付けたら、「①」のところに先ほどコピーした「ユーザーARN」を入力します。
「②」に作成したバケット名を入力します。

しっかり確認し間違えがなかったら、変更を保存をクリックして完了です。

もし不明なエラーが出たら下記のことを確認してください
・「①」の箇所に「ユーザーARN」を記述できているか
・「②」の箇所に「作成したバケット名」を記述できているか
・ダブルクォーテーション("")を消してしまっていないか
・全角スペースを入れてしまっていないか

これでバケット作成完了です。

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