AWS IAM角色策略资源限制

时间:2018-05-23 19:41:13

标签: amazon-web-services aws-lambda aws-iam

我是AWS的新手,我正试图弄清楚角色政策的运作方式。我已经阅读了AWS文档,这篇文档非常全面,但我正在应用的策略仍然没有达到我的预期......让我解释一下

我正在尝试授予对角色的访问权限,以便在假设时可以使用lambda进行操作

我创建了一个名为“deployer”的角色 然后我将以下政策附加到该角色:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "1",
            "Effect": "Allow",
            "Action": "lambda:*"
            "Resource": "arn:aws:iam::<account_id>:role/deployer"
        }
    ]
}

我的期望是政策说...指定的资源(部署者角色)是“允许”使用Lambda服务执行任何操作

但是,当我在前端切换到该角色时,我在Lambda仪表板中收到以下错误:

  

您无权执行:lambda:GetAccountSettings。

我发现的唯一解决方案是在策略中对资源属性进行通配符...但是这种方式否定了尝试仅限制访问该角色的目的

执行我想要的政策的示例

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

有人可以向我解释这里到底发生了什么吗?我显然不明白资源属性的用途......对我而言,第二个政策说任何资源都可以对Lambda做任何事......

由于

1 个答案:

答案 0 :(得分:2)

您尝试定义要在资源属性中应用策略的角色 - 这不是资源属性的用途。资源属性与您希望用户能够调用的Lambda函数相关。

要将此策略分配给角色,只需创建上述策略(适当地定义您的Lambda资源,如果您真的想将其应用于所有Lambda函数,则可以是通配符)然后将策略分配给角色IAM控制台。

有关定义资源的更多信息,请参阅here