2

给定使用此权限创建的 IAM 角色:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": "sts:AssumeRole",
      "Principal": {
        "Service": "lambda.amazonaws.com"
      },
      "Effect": "Allow",
      "Sid": "First"
    }
  ]
}

有什么东西可以告诉 AWS 只有 lambda 函数在这个账户中的 lambda 函数才能承担这个角色。我希望 AWS lambda 在此账户中运行函数时能够担任此角色,但仅在此 AWS 账户中运行 lambda 函数 - 而不是在其他随机 AWS 账户中运行的 lambda 函数,碰巧发现此 IAM 角色的 ARN。

如果使用此配置允许在任何 AWS 账户中运行的任何 lambda 函数担任此角色,那么如何修改此策略以仅允许在我的账户中运行的 lambda 函数担任此角色。

4

1 回答 1

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": {}
    }
  ]
}
于 2018-06-20T14:35:48.663 回答