如何使用 *** 限制对 S3 托管网站的访问
Posted
技术标签:
【中文标题】如何使用 *** 限制对 S3 托管网站的访问【英文标题】:How to restrict access to S3 hosted website using *** 【发布时间】:2021-03-27 19:49:19 【问题描述】:我有一个简单的网站托管在aws
s3
。目前任何人都可以访问它。
但我需要限制访问。
所以,我有一个 aws
client *** endpoint
设置,其 CIDR 块为 10.3.0.0/22
那么是否可以只向仅连接到 *** 的任何人授予访问权限,并限制其他任何人的访问权限。
【问题讨论】:
【参考方案1】:我们可以限制 S3 对特定 IP 范围的访问。 Here 是一些例子。
仅当 sourceIp 低于 10.3.0.0/22
时才允许对 S3 的请求
"Version": "2012-10-17",
"Statement": [
"Sid": "PublicReadForGetBucketObjects",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-s3-static-assets-bucket/*",
"Condition":
"IpAddress":
"aws:SourceIp": [
"10.3.0.0/22"
]
]
【讨论】:
这很好,但有时当我的 IP 更改时,即使从 aws 控制台我也无法通过存储桶访问。有解决办法吗? @JananathBanuka 通过 IAM 策略和角色控制对 AWS 控制台用户的 S3 存储桶的访问比单个存储桶资源策略更好。我通常使用存储桶策略来为跨账户或非 AWS 用户提供访问权限,在这种情况下它是公开的。 问题是当我像这样添加源IP时,如果IP发生了变化,我什至无法通过控制台访问s3
存储桶。即使我拥有完整的s3
访问权限,我也不得不要求root
用户删除该策略。是否可以提供对整个帐户的 s3 访问权限?因此任何登录到该帐户的人都可以访问 s3 存储桶。
无法使此解决方案发挥作用以上是关于如何使用 *** 限制对 S3 托管网站的访问的主要内容,如果未能解决你的问题,请参考以下文章
如何在AWS中为自己的S3托管站点添加SSL/TSL证书(https)
如何通过 IP 限制对我的 PHP 弹性 beanstalk 环境的访问?