drz*_*aus 17 amazon-s3 amazon-web-services amazon-iam
在所有IAM策略示例中,他们都提到使用通配符(*
)作为"stuff"的占位符.但是,示例总是在最后使用它们,和/或仅使用一个通配符进行演示(例如,列出文件夹"xyz"中的所有内容.../xyz/*
).
我找不到任何关于使用多个通配符的确定性,例如匹配多个存储桶中子文件夹中的任何内容:
arn:aws:s3:::mynamespace-property*/logs/*
允许某些内容log
在"production"(mynamespace-property-prod
)和"sandbox"(mynamespace-property-sand
)存储桶中查看任何文件.
drz*_*aus 15
不确定,但"突然间"(你知道我在说什么)它正在政策模拟器中工作:
"政策2"的地方是:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ExplicitlyDenyAnythingExceptOwnNamedFolder",
"Action": [
"s3:*"
],
"Effect": "Deny",
"NotResource": [
"arn:aws:s3:::mynamespace-property*/subfolder/${aws:username}/*"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
作为旁注,请注意arn:aws:s3:::mynamespace-property*/${aws:username}/*
(没有明确的子文件夹)将匹配和不使用"干预"子文件夹:
arn:aws:s3:::mynamespace-property-suffix/subfolder/theuser/files..."
arn:aws:s3:::mynamespace-property-suffix/theuser/files..."
是的,它将起作用
从文档中:
您可以将通配符用作资源ARN的一部分。您可以在任何ARN段(用冒号分隔的部分)中使用通配符(*和?)。星号(*)代表字符的任何组合,问号(?)代表任何单个字符。您可以使用多个*或?每个段中的字符,但通配符不能跨越段。
我要说“您可以使用多个”是文档中的错字,它们的意思是“您可以使用”。
ARN格式由段组成(如partition、service、regions ...):
arn:partition:service:region:account-id:resource-id
arn:partition:service:region:account-id:resource-type/resource-id
arn:partition:service:region:account-id:resource-type:resource-id
Run Code Online (Sandbox Code Playgroud)
根据文档:
您可以使用多个 * 或 ? 每个段中都有字符,但通配符不能跨越段。
我的解释是,您可以使用许多通配符,但是您在段中使用的通配符(由 分隔:
)不会影响其他段。所以答案是肯定的。
归档时间: |
|
查看次数: |
9258 次 |
最近记录: |