vpc endpoint から s3 へのアクセス制御 (bucket policy)
記載された vpce
と IPアドレスのみ許可する設定例です。
{ "Version": "2012-10-17", "Id": "vpce-restrict", "Statement": [{ "Sid": "Allow-VPCE", "Action": "s3:*", "Principal": { "AWS": "*" }, "Effect": "Allow", "Resource": [ "arn:aws:s3:::bucket-name*", "arn:aws:s3:::bucket-name/*", ], "Condition": { "StringEquals": { "aws:sourceVpce": [ "vpce-********" ] } } }, { "Sid": "IPAddress-restrict", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "s3:*", "Resource": [ "arn:aws:s3:::bucket-name*", "arn:aws:s3:::bucket-name/*", ], "Condition": { "IpAddress": { "aws:SourceIp": [ "***.***.***.***/**" ] } } }] }
この場合、StringEquals
だと許可、 StringNotEquals
だと拒否になりますので、うまいぐあいに使い分けができます。
というか、これに気づかなくてハマってしまった・・・