天将奔烈

日々の記録や学習内容を書いていきます

S3のBucketにVPS環境からのアクセスを許可する

個人的な開発でS3を使用する事になったのでメモ。  

やりたかった事

・S3に置いたファイルに特定のIPからアクセスできるようにしたい。

・不特定多数からはアクセスはされたくない。

 調べてみたけど、古い情報が多くて現在の環境に適用できなかったりでちょっとハマった。

  1. アクセス権限→ブロックパブリックアクセス (バケット設定)→パブリックアクセスをすべてブロックをオフ
  2. バケットポリシーに↓を記述→保存
{
    "Version": "2012-10-17",
    "Id": "Policy Allow Access Id",
    "Statement": [
        {
            "Sid": "Sid",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::<bucketName>",
                "arn:aws:s3:::<bucketName>/*"
            ],
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": "<IPAddress>"
                }
            }
        }
    ]
}

これで指定したIPと管理画面からのみアクセスができるようになる。