Amazon web services 我是否可以将假设规则策略限制为特定的lambda,而不是lambda';一般来说是什么?

Amazon web services 我是否可以将假设规则策略限制为特定的lambda,而不是lambda';一般来说是什么?,amazon-web-services,aws-lambda,amazon-iam,Amazon Web Services,Aws Lambda,Amazon Iam,我正试图进入整个IAM设置。我有一个角色,我希望一个lambda能够承担。 因此,我的信任关系策略设置如下: { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lambda.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } {

我正试图进入整个IAM设置。我有一个角色,我希望一个lambda能够承担。 因此,我的信任关系策略设置如下:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "lambda.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } { “版本”:“2012-10-17”, “声明”:[ { “效果”:“允许”, “委托人”:{ “服务”:“lambda.amazonaws.com” }, “操作”:“sts:假定角色” } ] } 现在,据我所知,这将允许任何lambda承担此角色。
我能不能再缩小一点,这样就只有一个特定的lambda,可以假设它


我试图用lambda的arn替换
“Service”:“lambda.amazonaws.com”
,但对我来说并没有真正起作用://

我认为事实上是相反的

创建Lambda函数时,可以指定要使用的角色。允许函数使用角色的功能需要
iam:PassRole
权限。具有此权限的任何人都可以将Lambda函数配置为使用特定(或任何)IAM角色

下面是一个示例策略,该策略授予IAM用户传递角色的能力:

{
    "Version": "2012-10-17",
    "Statement": [{
        "Effect": "Allow",
        "Action": [
            "iam:GetRole",
            "iam:PassRole"
        ],
        "Resource": "arn:aws:iam::<account-id>:role/EC2-roles-for-XYZ-*"
    }]
}
{
“版本”:“2012-10-17”,
“声明”:[{
“效果”:“允许”,
“行动”:[
“iam:GetRole”,
“iam:密码角色”
],
“资源”:“XYZ-*的arn:aws:iam:::角色/EC2角色”
}]
}
iam:PassRole
是一个非常重要的权限,因为它控制谁可以将角色传递给服务。如果使用不当,用户可能会获得过多的权限。例如,假设有一个管理员角色拥有很多权限。任何被授予使用
PassRole
权限的人都可以创建使用此角色的资源(例如Amazon EC2实例或AWS Lambda函数),从而为他们提供管理功能。因此,应严格控制使用
PassRole
的能力


因此,与角色信任Lambda函数不同,您实际上需要一个具有
PassRole
的用户将角色分配给该函数。

我不确定AWS是否允许此操作的资源级别权限,但方法是在操作下添加
“资源”: