2019-04-08Rails、Laravel画像アップロード向けのAWSの設定です。具体的には、IAMのユーザ作成とS3のバケットの作成手順になります。※Rails、Laravel以外での環境での動作確認は未確認です。「サービス」->「IAM」をクリックし、IAMのトップページへ移動します。「個々のIAMユーザの作成」->「ユーザの管理」を順にクリックしてください。「ユーザを追加」をクリックしてください。「ユーザ名」を入力し、「プログラムによるアクセス」にチェックを入れてください。「次のステップ:アクセス権限」をクリックしてください。「既存のポリシーを直接アタッチ」を選択し「AmazonS3FullAcces」にチェックを入れてください。「次のステップ:タグ」をクリックしてください。「次のステップ:確認」をクリックしてください。設定した情報が表示されていることを確認し、「ユーザの作成」をクリックしてください。「csvのダウンロード」をクリックし、認証情報を保存してください。ユーザのパスワードの設定IAMのトップページから「ユーザ」->「作成したユーザ名」をクリックしてください。「認証情報」->「管理」をクリックしてください。コンソールへのアクセスを「有効化」、パスワードの設定を「自動生成パスワード」にチェックを入れ「適用」をクリックしてください。認証情報と同様に、必ず「csvのダウンロード」をクリックし、アカウント情報を保存してください。ログインの確認IAMのトップページからIAMユーザのサインインリンクをコピーし、ブラウザのアドレスに貼り付けてください。ログイン画面が表示されたら、アカウント情報を入力してサインインをクリックしてください。ログインできれば成功です。二段階認証(推奨)IAMのトップページから「ユーザー」->「対象のユーザー」->「認証情報」->「MFAデバイスの割り当て:管理」をクリックしてください。「仮想MFAデバイス」->「続行」をクリックしてください。その後の手順は以下の記事を参考にしてください。上部のメニューから「サービス」->「S3」をクリックしてください。「バケットを作成する」をクリックしてください。バケット名に任意の名前を入力、リージョンは「アジアパシフィック(東京)」を選択し「次へ」をクリックしてください。何も変更せずに「次へ」をクリックしてください。以下の操作をし、「次へ」をクリックしてください。・「パブリックアクセスをすべてブロック」のチェックを外す・「新規のパブリックバケットポリシーまたはアクセスポイントポリシーを介して付与されたバケットとオブジェクトへのパブリックアクセスをブロックする」にチェックを入れる・「任意のパブリックバケットポリシーまたはアクセスポイントポリシーを介したバケットとオブジェクトへのパブリックアクセスとクロスアカウントアクセスをブロックする」にチェックを入れる「バケットを作成」をクリックしてください。以上でバケットの作成は完了です。上部の「サービス」->「IAM」->「ユーザー」->「作成したユーザー」をクリックします。「ユーザのARN」の右側のアイコンをクリックして**ユーザのARN**をコピーします。上部の「サービス」->「S3」->「作成したバケット」をクリックします。ARN:」の右側の文字列をコピーします(バケットのARN)「アクセス権限」->「バケットポリシー」->「ポリシージェネレーター」をクリックします。Statement」をクリックしてください。Policy」をクリックします。生成されたPolicyを全選択し、コピーしてください。コピーしたPolicyをバケットポリシーエディタへ貼り付け、「保存」をクリックします。これでバケットポリシーの設定は完了です。最後に以上でAWSの設定は完了です。作成した認証情報を使用して、下記のように必要に応じて環境変数等に設定して下さい。