我担心安全性。IAM角色的创建存在很高的安全风险,并且只能将可以承担角色的角色指定为AWS Lambda并不足以满足IMO的要求。如果不谨慎对待,可能会导致特权升级。
如何创建特定于某些Lambda函数的IAM角色?
我还没有找到类似的东西,但我相信这是可能的。
此角色还将附加一些策略:
{
"Action": "sts:AssumeRole",
"Principal": {
"Service": "lambda.amazonaws.com"
},
"Effect": "Allow",
"Sid": ""
}
Run Code Online (Sandbox Code Playgroud)
通常,在其他角色中,您将使用Principal子句来确定哪些帐户可以担任该角色。
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789:root"
},
"Action": "sts:AssumeRole"
}
Run Code Online (Sandbox Code Playgroud)
根据@Michael在评论中,我必须说出哪些用户可以在哪些角色上使用传递角色,因此问题是,我该如何确定哪些用户可以确切地传递此角色?
如果是这样,这个问题的答案将分两个步骤解决。使该角色只能由Lambda服务承担(已经存在),然后为每个用户制定一个具有PassRole限制的策略。