【问题标题】:AWS IAM policy restriction based on Tags not giving me any access基于标签的 AWS IAM 政策限制未授予我任何访问权限
【发布时间】:2021-06-21 05:52:16
【问题描述】:

所以我按照this AWS 教程创建了这个 IAM 策略,该策略应该允许访问具有这些密钥的任何 dynamodb 操作。但正如您在所附图片中看到的那样,它告诉我我没有任何权限。它也确实发生在其他服务上,所以不仅是 dynamodb,而且我还尝试硬编码策略中的 'access-project' 标签,就像你看到的'access-environment'一样。

{
    "Version": "2012-10-17",
    "Statement": [
        {
         "Sid": "AllActionsSameProjectEnvironment",
         "Effect": "Allow",
         "Action": "dynamodb:*",
         "Resource": "*",
         "Condition": {
               "StringEquals": {
                 "aws:ResourceTag/access-project": "${aws:PrincipalTag/access-project}",
                 "aws:ResourceTag/access-environment": "pre"
             },
             "ForAllValues:StringEquals": {
                 "aws:TagKeys": [
                     "access-project",
                     "access-environment",
                     "Name",
                     "OwnedBy"
                 ]
             },
             "StringEqualsIfExists": {
                 "aws:RequestTag/access-project": "${aws:PrincipalTag/access-project}",
                 "aws:RequestTag/access-environment": "pre"
             }
         }
     }
]
}

error image

知道为什么会这样吗?谢谢!

【问题讨论】:

    标签: amazon-web-services amazon-iam


    【解决方案1】:

    DynamoDB不支持Authorization based on tags,如the docs 中所列。

    【讨论】:

    • 好的,谢谢!但是我想,为了限制基于任何 aws 服务的属性的访问,也许更好的选择是基于 ARN 调整策略(类似于“ arn:aws:s3:::projectname-dev-* ”)但是AWS 不允许使用通配符资源创建策略,例如:``` { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowFullAccessPre", "Effect": "Allow ", "操作": "", "资源": [ "arn:aws::*:*:projectname-pre-*" ] } ] } ```
    猜你喜欢
    • 2019-07-07
    • 2016-04-29
    • 2017-11-01
    • 2019-07-13
    • 2020-06-01
    • 1970-01-01
    • 2017-01-01
    • 2020-01-27
    • 1970-01-01
    相关资源
    最近更新 更多