Amazon web services 如何将AWS lambda访问权限限制为仅一个角色

Amazon web services 如何将AWS lambda访问权限限制为仅一个角色,amazon-web-services,aws-lambda,cloud,amazon-iam,Amazon Web Services,Aws Lambda,Cloud,Amazon Iam,我已经创建了一个lambda。我只需要提供对为此lambda创建的一个角色的访问权限,即只有此角色应该具有调用访问权限。帐户中可能有其他角色可以对所有lambda进行调用访问,但我想限制这些角色不访问我的lambda。 有人能提出一种实现这种行为的方法吗?一个附加到lambda函数的基于资源的策略将如Maurice所评论的那样起作用 下面是示例策略。策略语句中指定的操作被明确拒绝给除指定主体之外的所有主体。仅允许lambda_角色使用以下基于资源的策略调用testfunction lambda

我已经创建了一个lambda。我只需要提供对为此lambda创建的一个角色的访问权限,即只有此角色应该具有调用访问权限。帐户中可能有其他角色可以对所有lambda进行调用访问,但我想限制这些角色不访问我的lambda。
有人能提出一种实现这种行为的方法吗?

一个附加到lambda函数的基于资源的策略将如Maurice所评论的那样起作用

下面是示例策略。策略语句中指定的操作被明确拒绝给除指定主体之外的所有主体。仅允许lambda_角色使用以下基于资源的策略调用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"
    }
  ]
}

附加到lambda函数的基于资源的策略将如Maurice所评论的那样起作用

下面是示例策略。策略语句中指定的操作被明确拒绝给除指定主体之外的所有主体。仅允许lambda_角色使用以下基于资源的策略调用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"
    }
  ]
}

我会尝试使用显式拒绝和引用您角色的条件的资源策略。我会尝试使用显式拒绝和引用您角色的条件的资源策略。如果有人再次为其他角色创建另一个允许调用访问该角色的策略,在这种情况下,它会覆盖上述策略吗?否,显式拒绝始终优先。如果有人再次为其他角色创建另一个策略,该策略将允许调用访问该角色,在这种情况下,它是否会覆盖上述策略?否,显式拒绝始终优先。