授予使用此权限创建的IAM角色:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "sts:AssumeRole",
"Principal": {
"Service": "lambda.amazonaws.com"
},
"Effect": "Allow",
"Sid": "First"
}
]
}
是否有任何内容告诉AWS,只有此帐户中的lambda函数才能够承担该角色。我希望AWS Lambda在此帐户中运行功能时能够承担此角色,但只能在此AWS帐户中运行的Lambda函数-而不是在偶然发现该IAM角色的ARN的其他随机AWS帐户中运行的Lambda函数。
如果使用此配置允许在任何AWS账户中运行的lambda函数承担该角色,那么如何修改此策略以仅允许在我的账户中运行的lambda函数承担该角色。
答案 0 :(得分:1)
"Service": "lambda.amazonaws.com"
告诉您,IAM角色只能由Lambda承担。
如果您想授予其他帐户以担任该角色的权限,则该角色的IAM策略可能如下所示:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<AccountNumberThatCanAssumeTheRole>:root"
},
"Action": "sts:AssumeRole",
"Condition": {}
}
]
}