如何将AWS NodeJS Lambda上的V3 AWS-SDK凭据提供给另一个AWS帐户

hi3rlvi2  于 2023-03-07  发布在  Node.js
关注(0)|答案(1)|浏览(151)

我的应用程序是一个AWS Lambda,它使用了AWS-SDK的v3。
我的Lambda的目的是从保存AWS密钥和客户访问密钥的DynamoDB表中读取,然后我想使用AWS-SDK调用describeVpcs,其中包含从DynamoDB检索到的信息。
我可以看到,将访问密钥和密钥传递到AWS.config.update中的做法已经过时。
我下面的代码将收集我的AWS帐户中的VPC信息,而不是客户。我正在寻找使用客户信息所需的更改。

const { EC2 } = require('@aws-sdk/client-ec2');

const ec2 = new EC2();

const describeVpcs = async () => {
  const params = {
  };

  try {
    const data = await ec2.describeVpcs(params);
    return data;
  } catch (e) {
    console.error(e);
    throw new Error(e);
  }
};

module.exports = { describeVpcs };
umuewwlo

umuewwlo1#

为了让你的Lambda能够访问describeVpcs,你需要你的lambda在另一个账户中扮演一个角色。基本上,你需要在另一个账户中创建一个角色,并允许你的Lambda扮演这个角色。https://aws.amazon.com/premiumsupport/knowledge-center/lambda-function-assume-iam-role/

相关问题