当前位置: 首页 > 知识库问答 >
问题:

最简单的IAM策略被拒绝。为什么?

古弘
2023-03-14

在让IAM策略为我的SQS队列工作时遇到问题,我尝试了IAM策略模拟器。无论我的政策多么简单,它总是说它被拒绝了。

以下政策旨在允许对任何SQS资源采取任何行动。这是我附加到特定用户的一个策略,这就是没有指定主体的原因。

{
  "Version": "2012-10-17",
  "Statement": [
    {
        "Action": "sqs:*",
        "Effect": "Allow",
        "Resource": "arn:aws:sqs:::*"
    }
  ]
}

当我尝试在策略模拟器中运行这个列表队列操作时,我会被拒绝:隐式拒绝(没有匹配的声明)。这种说法怎么可能不符合呢?

以下是策略编辑器上被拒绝的截图:

共有2个答案

杨甫
2023-03-14

这不是最简单的IAM策略。这是:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action":  "*",
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}

在运行模拟之前,您是否单击策略编辑器底部的“应用”?

朱丰
2023-03-14

默认情况下,IAM策略模拟器设置您模拟访问的资源的ARN*。由于某些原因,这与的Resource子句不匹配:“arn:aws:sqs:**”

一旦我扩展了模拟器的资源部分(见下面的屏幕截图),并粘贴到ARN中以获得有效的SQS资源,策略就匹配了。请参见下面屏幕截图的底部。

我发现的另一个解决问题的方法是@Mark-B的建议。将Resource子句更改为“Resource”:“*”。与策略模拟器的默认资源*匹配,而的“资源”:“arn:aws:sqs:****”未匹配。

 类似资料:
  • 以下AWS策略旨在绑定到IAM组,然后添加到用户。这将授予组中的每个用户访问Amazon S3上自己的文件夹的权限。 现在的问题是,使用此策略,用户在自己的文件夹中仍然会被拒绝访问,他们无法列出存储桶或执行任何其他操作。 } 我最终想要的是,用户能够从自己的文件夹中放置和获取文件,但看不到任何其他文件夹或存储桶,但使用此策略似乎不可能做到这一点。 想法?

  • 我想设置IAM策略以允许用户发布到SNS以发送SMS并发布到特定的SNS arn。 我找到了一种允许短信发布而不允许任何SNS发布的方法:使用亚马逊SNS客户端发送短信时的授权 但是这个策略明确拒绝所有其他SNS发布,所以我不能添加允许特定SNS发布的策略。 问题是SMS发布没有特定的arn。 所以我正在寻找一种方法来限制只允许发布短信的条件。但是具体的短信参数(phone number cf h

  • 我对策略变量${aws: username}感到困惑,即它是我在AWS帐户中登录的IAM用户名,还是我在创建实例时手动输入的标记值。 实际上,我想实现ec2实例的唯一所有者应该是执行操作

  • 有没有人遇到过这样的情况:当我对一个用户使用管理策略时,它可以工作,但当我使用内联策略时,它说访问被拒绝。我为IAM用户授予了对bucket读取访问权限,即它只能访问bucket。 我也试过这个

  • 对于小型CloudFormation和CodePipeline模板,我们可以“尝试-测试”以获得所需角色的最低权限IAM策略。 这通常包括: 从最小策略开始 创建堆栈 它失败与-堆栈没有权限的一些服务:一些行动 将服务操作添加到策略 更新堆栈并重试 这种方法对于较大的CloudFormation模板来说太耗时了 您如何制定最低特权IAM策略? 思想: > 允许"*",然后为事件刮取云迹,并为列出的

  • 我现在正在尝试使用AWS S3。 我创建了一个没有“权限策略”的IAM用户。 并且,S3的bucket策略设置如下。 但是,此设置给出了拒绝访问错误。 桶和IAM用户在同一个AWS帐户中。 顺便说一句,如果我在IAM的策略设置中授予S3的完全访问权限,它就可以正常工作。 有没有一种方法可以只使用S3 bucket策略而不给IAM用户任何“权限策略”来访问? 如果您知道什么,我很乐意让您知道。 我可