S3でホスティングしてるページに特定のIPからのみアクセスできるようにする。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::s3バケット名/*",
"Condition": {
"NotIpAddress": {
"aws:SourceIp": "許可したいIPアドレス"
}
}
},
{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::s3バケット名/*"
}
]
}
調べてて困ったこと
{
"Sid": "PublicReadGetObject",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::s3バケット名/*",
"Condition": {
"NotIpAddress": {
"aws:SourceIp": "許可したいIPアドレス"
}
}
},
この部分の記述はよく見るんですけど、これは否定の記述であって許可する記述が抜けてしまうと誰もアクセスできない状態に制限をかけてるだけなので一生みれず...
{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::s3バケット名/*"
}
下のこちらを追記することでちゃんと制限をかけることができました😇