我对 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。
我发现的唯一解决方案是在策略中使用通配符 Resource 属性...但是这否定了尝试限制仅访问该角色的目的
做我想做的事的政策示例
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "1",
"Effect": "Allow",
"Action": "lambda:*"
"Resource": "*"
}
]
}
有人可以向我解释这里实际发生了什么吗?我显然不明白 Resource 属性的用途......对我来说,第二个政策说任何资源都可以用 Lambda 做任何事情......
谢谢