LoginSignup
1
1

More than 5 years have passed since last update.

Railsでfogを使用してamazonS3にファイルアップロードする時の権限設定

Last updated at Posted at 2017-11-01

はじめに

Ruby on Rails Tutorial 13.4.4ではfogを使用してAmazonS3にファイルをアップロードする必要があります。AmazonS3にファイルをアップロードするためにはIAMユーザーとS3 bucketの間に権限設定を行う必要があるのですが、単純にググるとIAMにAmazon S3 Full Accessを設定するように説明しているサイトが引っかかることが多いです。

もちろんチュートリアルなのでこれで動作確認はできますし、初めて利用するAWSとしては十分なのかもしれません。ただ、本番運用を想定すると、無闇にIAMに対してFullAccessは設定したくないですよね。できればbucketを限定した必要十分な権限設定としたいところです。

インラインポリシー設定方法

IAMに以下の2つのインラインポリシーを設定すると、fogによるファイルアップロードやダウンロード、削除を行うことができました。ちなみに、〜Aclの権限を設定していなくて結構時間がかかってしまいました・・・fogはアップロードしたあとに、オブジェクトの権限を設定したりしているのでしょう。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "****",
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketLocation",
                "s3:ListAllMyBuckets"
            ],
            "Resource": [
                "arn:aws:s3:::my-bucket"
            ]
        }
    ]
}
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "****",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectAcl",
                "s3:PutObject",
                "s3:PutObjectAcl",
                "s3:DeleteObject"
            ],
            "Resource": [
                "arn:aws:s3:::my-bucket/*"
            ]
        }
    ]
}
1
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
1
1