ボクココ

サービス開発を成功させるまでの歩み

Amazon S3 でバケット配下を全て public read にする

Amazon S3 において、デフォルトではアップロードしたファイルや画像を部外者がそのままURL叩くと、Access Denied になって取得することはできない。

これに対応するためにはいくつか方法がある。

  1. S3 Console 上で対象フォルダ or ファイルを右クリック -> Make Public
  2. アップロードのコードで、AccessControl を public read に設定
  3. Bucket Policy を変更

個々のファイルごとに設定を変えたい場合は、1か2をする必要があるが、まとめて全部公開したい場合は3が有効。

Bucket の Property の Permisson にて、add bucket policyを選択。そこに

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

で適用。これで指定Bucketが全てpublic readになる。

Amazon Web Services 業務システム設計・移行ガイド 一番大切な知識と技術が身につく

Amazon Web Services 業務システム設計・移行ガイド 一番大切な知識と技術が身につく

  • 作者: 佐々木拓郎,林晋一郎,瀬戸島敏宏,宮川亮,金澤圭
  • 出版社/メーカー: SBクリエイティブ
  • 発売日: 2018/01/20
  • メディア: Kindle版
  • この商品を含むブログを見る