我是AWS的新手,正在尝试弄清楚角色策略的工作原理。我已经阅读了非常全面的AWS文档,但是我正在应用的策略仍然没有达到我的期望...让我解释一下
我正在尝试授予对角色的访问权限,以便在假定该角色时可以使用lambda进行操作
我已经创建了一个称为“部署者”的角色。
然后,我将以下策略附加到该角色上:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "1",
"Effect": "Allow",
"Action": "lambda:*"
"Resource": "arn:aws:iam::<account_id>:role/deployer"
}
]
}
我的期望是该策略说...已允许“指定的”资源(部署者角色)对Lambda服务执行任何操作
但是,当我在前端切换到该角色时,Lambda仪表板中出现以下错误:
您无权执行:lambda:GetAccountSettings。
我找到的唯一解决方案是在Policy中对Resource属性进行通配...但是这种否定了试图将访问权限限制为仅对该角色的目的
做我想做的政策示例
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "1",
"Effect": "Allow",
"Action": "lambda:*"
"Resource": "*"
}
]
}
有人可以向我解释一下这里到底发生了什么吗?我显然不明白Resource属性用于什么……对我来说,第二个策略说任何资源都可以用Lambda做任何事情……
谢谢
您正在尝试在资源属性中定义将策略应用到的角色-这不是资源属性的作用。资源属性与您希望用户能够调用的Lambda函数有关。
要将策略分配给角色,只需如上所述创建策略(适当地定义Lambda资源,如果您确实想将其应用于所有Lambda函数,则可以使用通配符),然后将策略分配给IAM控制台中的角色。
有关定义资源的更多信息,请参见此处。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句