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 制限)しています。


コメント