【问题标题】:Variable resource name in AWS IAM policyAWS IAM 策略中的变量资源名称
【发布时间】:2015-08-15 03:19:56
【问题描述】:

我正在使用“standard-prefix-{variable}”的程序中创建 S3 存储桶。在尝试创建 IAM 策略以便用户可以更新、创建、删除账户中的存储桶时,但前提是存储桶名称包含“标准前缀”。 IE,我不想允许修改帐户中的其他存储桶。在给定特定存储桶名称的情况下,我找到了许多方法来限制对存储桶内资源的访问,但在存储桶名称更改时无法限制访问。

类似的东西(似乎不起作用):

"Resource": "arn:aws:s3:::standard-prefix-*"

来自AWS Docs的示例:

基于用户名的动态名称是我找到的最接近的名称。但我需要一个通配符作为存储桶名称的可变部分:

{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Allow",
    "Action": "sqs:*",
    "Resource": "arn:aws:sqs:us-west-2:*:${aws:username}-queue"
  }]
}  

具有指定存储桶名称的项目:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": ["s3:ListBucket"],
      "Effect": "Allow",
      "Resource": ["arn:aws:s3:::mybucket"],
      "Condition": {"StringLike": {"s3:prefix": ["${aws:username}/*"]}}
    },
    {
      "Action": [
        "s3:GetObject",
        "s3:PutObject"
      ],
      "Effect": "Allow",
      "Resource": ["arn:aws:s3:::mybucket/${aws:username}/*"]
    }
  ]
}

【问题讨论】:

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


    【解决方案1】:

    这是最终奏效的政策。创建存储桶时,它们会获得一个名称,例如 standard_prefix-20150101standard_prefix-20150515 等。具有此 IAM 策略的用户可以对这些存储桶执行任何操作,但不能修改账户中的其他存储桶。

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "One",
                "Effect": "Allow",
                "Action": [
                    "*"
                ],
                "Resource": [
                    "arn:aws:s3:::standard_prefix-*"
                ]
            },
                    {
                "Sid": "Two",
                "Effect": "Allow",
                "Action": [
                    "s3:List*"
                ],
                "Resource": [
                    "arn:aws:s3:::*"
                ]
            }
        ]
    }
    

    【讨论】:

    • 我不知道为什么我在问题中的“类似...”不起作用,因为答案基本相同。
    • 您的答案与您最初尝试的主要区别是standard-prefixstandard_prefix。注意破折号和下划线。
    猜你喜欢
    • 2018-11-02
    • 2021-10-23
    • 2020-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-05
    • 1970-01-01
    • 2021-02-15
    相关资源
    最近更新 更多