- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个如下所示的存储桶策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::test-bucket/*"
},
{
"Effect": "Deny",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::test-bucket/*",
"Condition": {
"StringEquals": {
"s3:ExistingObjectTag/status": "INFECTED"
},
"StringNotLike": {
"aws:SourceArn": "arn:aws:sts::1234567890:assumed-role/ecs_task_role/*"
}
}
}
]
}
我想要的是这样的:
如果 s3 对象有一个带有键值 status=INFECTED
的标签,则限制对公众的访问,除非您使用此 iam 角色 arn:aws:iam::1234567890:角色/ecs_task_role
。因此,任何承担此 iam 角色的系统(此处为容器)都应该能够访问存储桶内容,而不管其中的对象具有什么标签。
我看到我的 ecs 任务承担了这个角色,然后它的角色 arn 看起来像这样:arn:aws:sts::1234567890:assumed-role/ecs_task_role/e7f2364b-c93d-4228-9259- 1a59bdf2d201
。
所以我使用通配符 StringNotLike
运算符将来 self 的 ecs 任务的请求列入白名单。
但由于某些原因,这不起作用。当我尝试从带有标签 status: INFECTED
的存储桶中下载对象时,我的 ecs 任务出现 403 访问被拒绝。我在这里错过了什么?更重要的是,我需要更改什么才能使此访问控制逻辑起作用?
提前致谢!
最佳答案
如果不使用 Deny
,生活会简单得多。
看来您有两个要求:
这可以分为两个部分:
在存储桶策略中,您应该使用 NotStringEquals
来检查标签(即,在未找到该标签的地方授予权限)。这限制了 Allow
而不必使用 Deny
。
{
"Version": "2012-10-17",
"Id": "AllowNonInfected",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::stack-woodstock/*",
"Condition": {
"StringNotEquals": {
"s3:ExistingObjectTag/status": "INFECTED"
}
}
}
]
}
关于amazon-web-services - 将特定 IAM 角色列入白名单的存储桶策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61920939/
我正在尝试从另一个网站远程连接到 SQL。我进行了 whois 查找以获取尝试连接的域的 IP 地址并将其列入 cPanel 中的白名单。我还执行了 echo $_SERVER['SERVER_ADD
Microsoft SmartScreen,以其消息而闻名: Windows Defender SmartScreen prevented an unrecognized app from start
我有一个由多个 .aspx 页面组成的 ASP.NET 应用程序。我希望其中一个 .aspx 页面只能由一组特定的 IP 访问。这可能吗? 我知道您可以在网站级别将 IP 列入白名单,但是您可以将应用
我是一名优秀的程序员,十分优秀!