バケットに接続できる IP を絞りたいことがある。バケットポリシーを記載することで制御可能なので方法を紹介。
ブロックパブリックアクセス (バケット設定)
ブロックパブリックアクセスはすべてオフにする
バケットポリシー
バケットポリシーの設定は以下の通り
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::tsukada-hoge-js",
"arn:aws:s3:::tsukada-hoge-js/*"
],
"Condition": {
"NotIpAddress": {
"aws:SourceIp": [
"1.1.1.111/32",
"2.2.2.222/32"
]
}
}
}
]
}
ポイントとして、
Resource にバケット自体を宣言するのとは別にバケット配下を /*
でワイルドカードで指定する必要があるという点だ。