首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从运行在另一个AWS帐户中的lambda更新SSM param?

从运行在另一个AWS帐户中的lambda更新SSM param?
EN

Stack Overflow用户
提问于 2020-11-20 05:03:10
回答 1查看 493关注 0票数 1

我在AWS帐户1里有个小路标。

我在AWS帐户2中有一个SSM参数。

我想在lambda中这样写代码:

代码语言:javascript
运行
复制
const ssm = new AWS.SSM({apiVersion: "2014-11-06"});

function updateSsmParamInOtherAwsAccount(newSsmValue) {
  const params = {
    Name: "ssm-parameter-name",
    Value: newSsmValue,
    Overwrite: true,
    Type: "String",
  };

  ssm.putParameter(params, function (err) {
    if (err) {
      console.error(
        err,
        err.stack
      );
    } else {
      console.log(
        `Successfully set SSM param`
      );
    }
  });
}

我知道如何使用IAM为此授予权限

I 不理解的是如何将 aws javascript sdk 配置为指向其他AWS帐户.

如上面示例所写,它将更新lambda运行的同一个AWS帐户中的SSM param。似乎没有任何环境变量配置选项允许这样做。

有人知道怎么把这里的点连起来吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-20 05:58:42

正如您所写的,由于您理解了跨帐户IAM角色的使用,所以我猜所有角色和权限都是正确设置的。

所以,对于所有的SDK,您必须做的都是一样的,而不仅仅是JavaScript。也就是说,在lambda函数中,您必须从显式地承担来自AWS Account 2的IAM角色。在JS中,您必须调用assumeRole并从第二个帐户为它提供IAM角色。

assumeRole调用将返回临时AWS凭据,您可以使用它访问第二个帐户。在这个例子中,所以回答是一个很好的例子,您可以在JS中这样做。另一个特定于lambda (但对于python)的示例是这里

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64924077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档