AWS Lambda - 访问另一个 AWS 账户中的资源 (EC2)

AWS Lambda - Access resources (EC2) in another AWS account

我有一个 AWS Lambda,它正在我的账户中查询 EC2 实例,我将其称为账户 A,它工作正常,我可以看到它正在寻找我的服务器。我还希望 lambda 同时查询另一个 AWS 账户中的 EC2 实例,我将调用该账户 B - 这可能吗?

我有以下策略允许 lambda 承担账户 B 中的角色,但它只查询相同的服务器 - 全部在账户 A 中 - 我只是想知道我是否遗漏了什么?

这是我附加到 lambda 角色的策略:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Assume Role",
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Resource": "arn:aws:iam::AccountB:role/MyRoleNameInAccountB"
    },
    {
      "Effect": "Allow",
      "Action": "ec2:DescribeInstances",
      "Resource": "*"
    }
  ]
}

谢谢

为了让 Lambda 能够在 AccountB 中担任角色,AccountB 中的角色必须具有允许 Lambda 担任角色的信任策略。

此外,AccountB 中的角色必须具有允许 Lambda 描述 EC2 实例的策略。 AccountB 应该是允许在自身内部执行操作的实体,而不是相反,出于明显的安全原因。

建议查看此 AWS support page