【AWS】S3バケットの操作をIPアドレスで制限する

aws

 AWS S3を使う際、セキュリティ対策の関係で、S3へのアクセスおよび操作をIPアドレスで制限する場面が多いと思います。その際、 S3 バケットポリシーを使えば、Amazon S3 バケットへの高度なアクセス許可を設定できます。

Amazon S3バケットポリシーの作成

1.AWS 管理コンソールの Amazon S3 サービスからアクセス許可を設定したいバケットを選択し、[アクセス権限] をクリックします。
2.[バケットポリシー] をクリックします。
3.以下のようなバケット ポリシーを作成し、[保存] してください。

 バケット名(s3-sample)と制限したいIP(777.777.777.777, 888.888.888.888)を適当に書き換えてください。

{
    "Version": "2012-10-17",
    "Id": "SourceIP",
    "Statement": [
        {
            "Sid": "SourceIP",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::s3-sample",
                "arn:aws:s3:::s3-sample/*"
            ],
            "Condition": {
                "NotIpAddress": {
                    "aws:SourceIp": [
                        "777.777.777.777/32",
                        "888.888.888.888/32"
                    ]
                }
            }
        }
    ]
}

 上記の例では、アクセス元の IP アドレスが777.777.777.777 と 888.888.888.888 のみ、s3-sample バケットへのアクセスを許可し、その他の IP アドレスからのアクセスは拒否(IP 制限)しています。

コメント

タイトルとURLをコピーしました