我创建了一个 lambda。我只需要提供对为此 lambda 创建的一个角色的访问权限,即只有该角色应该具有调用访问权限。帐户中可能还有其他角色可能对所有 lambda 具有调用访问权限,但我想限制这些角色不访问我的 lambda。 谁能建议一种方法来实现这种行为?
附加到 lambda 函数的基于资源的策略将像 Maurice 评论的那样发挥作用。
以下是政策样本。除指定的主体外,所有主体都明确拒绝策略声明中指定的操作。仅允许 lambda_role 使用以下基于资源的策略调用 testfunction lambda。
{
"Version": "2012-10-17",
"Id": "default",
"Statement": [
{
"Sid": "0001",
"Effect": "Deny",
"NotPrincipal": {
"AWS": "arn:aws:iam::659266464590:role/service-role/lambda_role"
},
"Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:us-east-1:659266464590:function:testfunction"
}
]
}