Amazon S3バケットへのアクセスにIP制限をかける
Amazon S3 バケットへのアクセスに IP 制限をかける(特定の IP アドレスだけにアクセスを許可する)方法について説明します。
■ Amazon S3 バケット ポリシーの作成
新規に Amazon S3 のバケット ポリシーを作成して、Amazon S3 バケットへの高度なアクセス許可を設定します。
1.AWS 管理コンソールの Amazon S3 サービスからアクセス許可を設定したいバケットを選択し、[アクセス権限] をクリックします。
2.[バケットポリシー] をクリックします。
3.以下のようなバケット ポリシーを作成し、[保存] してください。
バケット名(my-bucket
)は適宜置き換えてください。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": "arn:aws:s3:::my-bucket",
"Condition": {
"NotIpAddress": {
"aws:SourceIp": [
"111.111.222.111/32",
"111.111.222.222/32"
]
}
}
}
]
}
上記の例では、アクセス元の IP アドレスが 111.111.222.111 および 111.111.222.222 の場合だけ、Amazon S3 バケットへのアクセスを許可し、その他の IP アドレスからのアクセスは拒否(IP 制限)しています。
アクセス元の IP アドレスを範囲指定したい場合は、以下のようなバケットポリシーを作成します。
例)54.240.143.* の範囲の IP アドレスは許可して、54.240.143.188 からのアクセスは拒否(IP 制限)する場合
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": "arn:aws:s3:::my-bucket",
"Condition": {
"NotIpAddress": {"aws:SourceIp": "54.240.143.0/24"},
"IpAddress": {"aws:SourceIp": "54.240.143.188/32"}
}
}
]
}
"Effect": "Deny" を使用して、IP アドレス制限(アクセス拒否)を明確化しています。