【问题标题】:AWS IAM - Can you use multiple wildcards (*) in a valueAWS IAM - 您可以在一个值中使用多个通配符 (*)
【发布时间】:2014-04-28 23:53:56
【问题描述】:

在所有 IAM 政策示例中,他们都提到使用通配符 (*) 作为“stuff”的占位符。但是,示例总是在最后使用它们,和/或仅使用一个通配符进行演示(例如,使用.../xyz/* 列出文件夹“xyz”中的所有内容)。

我找不到任何关于使用多个通配符的明确信息,例如匹配多个存储桶的子文件夹中的任何内容:

arn:aws:s3:::mynamespace-property*/logs/*

允许某物查看“生产”(mynamespace-property-prod) 和“沙盒”(mynamespace-property-sand) 存储桶中的任何 log 文件。

【问题讨论】:

  • 我可以确认 arn:aws:cloudformation:*:123456789012:stack/Foo/* 形式的 IAM 策略资源有效。这包含多个通配符,其中一个不在 ARN 末尾。

标签: amazon-web-services amazon-s3 amazon-iam


【解决方案1】:

不确定,但“突然之间”(你知道我在说什么)它在 policy simulator 中工作:

  • 策略 1:“允许对任何存储桶的特定 S3 权限” (例如,编辑角色)
  • 策略 2:“拒绝所有 S3 操作,除非在跨存储桶的用户文件夹中” (即只能查看他们的文件)

“政策 2”在哪里:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "ExplicitlyDenyAnythingExceptOwnNamedFolder",
            "Action": [
                "s3:*"
            ],
            "Effect": "Deny",
            "NotResource": [
                "arn:aws:s3:::mynamespace-property*/subfolder/${aws:username}/*"
            ]
        }
    ]
}

作为旁注,请注意arn:aws:s3:::mynamespace-property*/${aws:username}/* (无显式子文件夹) 将匹配有和没有“干预”子文件夹:

  • arn:aws:s3:::mynamespace-property-suffix/subfolder/theuser/files..."
  • arn:aws:s3:::mynamespace-property-suffix/theuser/files..."

【讨论】:

    【解决方案2】:

    是的,它会起作用的

    来自documentation

    您可以将通配符用作资源 ARN 的一部分。您可以使用 任何 ARN 段(部分 用冒号隔开)。星号 (*) 代表任何组合 字符和问号 (?) 表示任何单个字符。 您可以使用多个 * 或 ?每个段中的字符,但一个 通配符不能跨段。

    我要说“你可以使用多个”是文档中的一个错字,它们的意思是“你可以使用”。

    【讨论】:

    • 有趣的是,文档中指定了 ...a wildcard cannot span segments. - 通用的 Resource: "*" (据我了解,它是有效的)与此声明不一致吗?
    • @WXMan 你提出了一个好观点。就个人而言,我将 Resource: "*" 解释为指定 ARN 的替代方法,因此 ARN 通配符文档不适用。
    • 奇怪的是,策略模拟器似乎不同意文档。通配符跨段(它们真的像.* 正则表达式)。如果被忽视,这可能会导致严重的安全问题。
    • 我认为我们都误读了文档,因为它指出 ARN 段是“由冒号分隔的部分”(如:通配符不跨越列表中的多个 ARN 定义),而不是斜线.所以* 真的没有理由不匹配任何资源。
    猜你喜欢
    • 2019-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-29
    • 2016-09-05
    • 2021-12-09
    • 2015-07-11
    • 2012-01-30
    相关资源
    最近更新 更多