我为几个IAM用户提供了对S3上大量数据的访问权限。这些用户可能希望将数据复制到他们的存储桶,离线下载数据,或从他们的帐户访问Databricks,EMR或Athena的数据。
我负责从我的存储区传输的数据的带宽成本,所以我想限制传出数据传输到数据所在的同一区域,因为区域内带宽是免费的。
换句话说,由于数据位于us-east-1中,我希望将数据限制为仅可用于传输到us-east-1区域中的其他存储桶,EC2实例,EMR或Athena实例。
有没有办法实现这个限制?
我们目前使用请求者付费来管理这个,但它引入了不必要的复杂性并限制了我上面提到的托管服务的直接使用。
答案 0 :(得分:3)
您可能想要调查一个S3 bucket policy,它会在请求者的源IP上放置条件,并使用广告的AWS IP ranges for us-east-1。
此外,CloudFront具有地理阻止功能,但它只允许您按国家/地区阻止/允许。另外,正如迈克尔 - sqlbot指出的那样,它不会是免费的。