AWS S3:IPアドレス制限

1. 目的


S3バケットに対してIPアドレス制限をかけてみます。
具体的には「特定のIPアドレスからのみS3特定バケットに保存されているオブジェクトへのアクセスを許可」してみます。

2. 作業手順


  1. S3を開き、<対象バケット>をクリックします。
     

     
  2. [アクセス権限]をクリックします。
     

     
  3. [バケットポリシー]をクリックします。
     

     
  4. [ポリシージェネレーター]をクリックします。
     

     
  5. 以下の通り設定し、[Add Conditions]をクリックします。
     

    項目 設定値
    Select Type S3 Bucket Policy
    Effect Allow
    Principal *
    AWS Service Amazon S3
    Actions 利用を許可するアクション
    Amazon Resource Name(ARN) arn:aws:s3:::<Bucket>/*


     

  6. 以下の通り設定し、[Add Conditions]をクリックします。
     

    項目 設定値
    Condition IpAddress
    Key aws:SourceIp
    Value <許可するIPアドレス>


     

  7. [Add Statement]をクリックします。
     

     
  8. [Generate Policy]をクリックします。
     

     
  9. 以下ポリシーをコピーし、[Close]をクリックします。
     

    {
    "Version": "2012-10-17",
    "Id": "<Policy ID>",
    "Statement": [
        {
            "Sid": "<Sid>",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::<Bucket>/*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": "<IP Address>"
                }
            }
        }
    ]
    }

     

  10. バケットポリシーエディターにコピーしたポリシーを貼り付け、[保存]をクリックします。
     

3. 動作確認


  • 許可されたIPアドレス以外からのアクセス結果