IPアドレスでS3アクセスを制限するIAMポリシー
特定のIPアドレスまたはCIDR範囲からのみS3アクセスを許可するIAMポリシーを作成します。ネットワークレベルの制限にaws:SourceIp条件を使用します。
Advanced Patterns
詳細な説明
IP制限付きS3アクセス
コンプライアンスやセキュリティ要件のため、S3データへのアクセスを企業VPN、オフィスIPレンジ、特定のサーバーなど特定のネットワークからのみに制限する必要がある場合があります。
ポリシーJSON
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowS3FromSpecificIPs",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::sensitive-data-bucket",
"arn:aws:s3:::sensitive-data-bucket/*"
],
"Condition": {
"IpAddress": {
"aws:SourceIp": [
"203.0.113.0/24",
"198.51.100.0/24"
]
}
}
}
]
}
IpAddress条件の仕組み
aws:SourceIpはAPI呼び出し元のIPアドレスを評価します。- CIDR表記(
/24、/32など)と個別のIPをサポートします。 - 複数のCIDR範囲を配列として指定でき、いずれかが一致するとアクセスが許可されます。
重要な注意事項
- VPCエンドポイント: S3 VPCエンドポイント経由のリクエストにはソースIPがありません — 代わりに
aws:SourceVpceまたはaws:SourceVpcを使用してください。 - Lambdaや他のサービス: AWSサービスからのリクエストは予測不可能な内部IPを使用します。サービス間アクセスにはIP条件の代わりにVPC条件やサービスリンクロールを使用してください。
ユースケース
規制コンプライアンス(HIPAA、PCI DSS、SOC 2)のために機密データバケットへのアクセスを企業ネットワーク範囲、VPN出口ポイント、特定のサーバーIPアドレスに制限する。