GitHub Pages

Amazon S3に画像を置いてアクセス制御

hedgehog https://s3-ap-northeast-1.amazonaws.com/syon.github.io/hello/hedgehog.jpg

この画像(出典[1])は Amazon S3 に置いてアクセス制御を行っています。 このサイトsyon.github.ioからは表示できますが、画像の URL を直接ブラウザで 表示しようとしても拒否されます(はじめの表示と更新ボタンではキャッシュが使われるかもしれません)。

GitHubに画像ファイルを置かないようにしたい

おことわり

Amazon S3への画像配置とアクセス制御

バケットポリシー

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Give access if referer is set",
      "Effect": "Allow",
      "Principal": "*",
      "Action": ["s3:GetObject"],
      "Resource": ["arn:aws:s3:::syon.github.io/*"],
      "Condition": {
        "StringLike": {
          "aws:Referer": [
            "http://syon.github.io/*",
            "https://syon.github.io/*"
          ]
        }
      }
    }
  ]
}
Version
任意の日付ではなく、バリデータのバージョン。
Resource
S3 バケット名を username.github.io に合わせています。

バケットポリシーの適用

Amazon S3 Bucket Policy

参考記事


  1. http://gahag.net/001616-hedgehog-animal/