【发布时间】:2020-12-07 07:04:10
【问题描述】:
我的任务是在 AWS 中创建我认为是存储桶策略的任务。我已将视频上传到 S3 存储桶,我必须创建一个策略来限制谁可以根据他们的 IP 地址查看它。目前我需要制作它,以便只有我家庭网络中的人可以观看它。
我还应该根据用户名限制谁可以观看。该存储桶现在可以公开查看,视频文件也是如此。
我尝试了以下两种策略,但它们都不起作用。
第一条政策:我已尝试同时使用我的私有和公共 IP 地址。
{
"Version": "2012-10-17",
"Id": "Policy1607205862213",
"Statement": [
{
"Sid": "Stmt1607205861134",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": "arn:aws:s3:::internshipbucket12",
"Condition": {
"NotIpAddress": {
"aws:SourceIp": "10.1.10.1"
}
}
}
]
}
第二条策略:每当我尝试使用存储桶的 arn 时,都会出现某种错误。当我放入我正在使用的视频文件的 arn 时,它接受它就好了。
{
"Version": "2012-10-17",
"Id": "S3PolicyId1",
"Statement": [
{
"Sid": "IPAllow",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::DOC-EXAMPLE-BUCKET;",
"arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"
],
"Condition": {
"NotIpAddress": {
"aws:SourceIp": "54.240.143.0/24"
}
}
}
]
}
【问题讨论】:
-
你为什么用他们的截图替换政策?我编辑了您的问题以更早地修复格式。
-
我不知道你可以这样做,或者我们会这样做,我想如果事情看起来一团糟,发布照片会更容易
-
您说“根据用户名限制谁可以观看”,但您指的是什么
username?这是 AWS 登录(IAM 用户)吗? -
尽量避免像您的第一个策略(如果源 IP 不是 10.1.10.1,则明确、全面拒绝)。如果您输入错误的 IP 地址,您将无法访问存储桶。它会拒绝您从除该 IP 之外的任何地方进行访问,并且由于您不拥有输入错误的 IP,这意味着存储桶将无法从您的家庭 IP、AWS 控制台等使用。几乎不需要拥有一个明确的、全面的拒绝(默认情况下权限是隐式拒绝)。
标签: amazon-web-services amazon-s3 bucket