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