# S3: 限制仅从预期网络可以访问

## 从预期的网络才能访问S3存储桶

为了实现控制目标，您可以编写一个AWS服务控制策略（SCP），以确保您的应用程序的临时凭证只能在您期望的网络空间内访问您的S3存储桶。根据提供的信息，您可以使用SCP来限制对S3的访问，以确保只有在特定网络空间内的应用程序才能访问该存储桶。

以下是一个示例SCP，用于实现您的控制目标：

在上面的示例中，这个SCP将拒绝所有对S3存储桶的操作，除非请求来自于指定的IP地址范围（您期望的网络空间）。您需要将示例中的"your-s3-bucket-name"替换为您的S3存储桶名称，并根据您的网络空间配置正确的IP地址范围。

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::your-s3-bucket-name",
                "arn:aws:s3:::your-s3-bucket-name/*"
            ],
            "Condition": {
                "NotIpAddress": {
                    "aws:SourceIp": [
                        "192.168.1.0/24",  // 期望的网络空间IP范围
                        "10.0.0.0/16"
                    ]
                }
            }
        }
    ]
}
```

如果要限制指定的VPC或者VPCE建议在存储桶策略中进行设置。

参考资料

\[AWS Security Blog] [Establishing a data perimeter on AWS: Require services to be created only within expected networks](https://aws.amazon.com/blogs/security/establishing-a-data-perimeter-on-aws-require-services-to-be-created-only-within-expected-networks/)
