当前位置: 首页 > 面试题库 >

使用在aws-sdk中扮演角色的配置文件(AWS JavaScript SDK)

赏航
2023-03-14
问题内容

使用适用于JavaScript的AWS开发工具包,我想使用承担角色的默认配置文件。这与AWS
CLI完美配合。将node.js与SDK结合使用不承担角色,而仅使用访问密钥所属的AWS账户的凭证。我已经找到了此文档,但没有涉及扮演以下角色:http :
//docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/loading-node-
credentials-shared.html

有小费吗?

这是我的配置文件:

[default]
role_arn = arn:aws:iam::123456789:role/Developer
source_profile = default
output = json
region = us-east-1

问题答案:

CLI和SDK的工作方式不同,因为在使用SDK时必须明确承担角色。SDK不会像CLI一样自动从配置中承担角色。

担任角色后,必须使用新凭证更新AWS.config。

这对我有用:

var AWS = require('aws-sdk');
AWS.config.region = 'us-east-1';

var sts = new AWS.STS();
sts.assumeRole({
  RoleArn: 'arn:aws:iam::123456789:role/Developer',
  RoleSessionName: 'awssdk'
}, function(err, data) {
  if (err) { // an error occurred
    console.log('Cannot assume role');
    console.log(err, err.stack);
  } else { // successful response
    AWS.config.update({
      accessKeyId: data.Credentials.AccessKeyId,
      secretAccessKey: data.Credentials.SecretAccessKey,
      sessionToken: data.Credentials.SessionToken
    });
  }
});


 类似资料:
  • 本文向大家介绍副本和ISR扮演什么角色?相关面试题,主要包含被问及副本和ISR扮演什么角色?时的应答技巧和注意事项,需要的朋友参考一下 答:基本上,复制日志的节点列表就是副本。特别是对于特定的分区。但是,无论他们是否扮演领导者的角色,他们都是如此。 此外,ISR指的是同步副本。在定义ISR时,它是一组与领导者同步的消息副本。

  • 我一直在阅读关于使用GSI的最佳方式的问题,这一个DynamoDB:在查询中使用全球二级索引接近我所需要的,但我仍然有几个问题。 我需要进行以下三类查询: 根据我的理解,创建一个基于product_name的GSI将服务于所有三个目的。我想了解的是,在排序键中再添加2个带有launch_year和manufacture的GSI会加快查询2和3的速度吗?sort key的唯一目的是返回已排序的数据,

  • 获取错误 引起原因:org.springframework.beans.BeanInstantiationExc0019:未能实例化[software.amazon.awssdk.services.dynamodb.DynamoDbClient]:工厂方法'amazonDynamoDB'抛出异常;嵌套异常java.lang.NullPointerExc0019: STS客户端不得为空。atspri

  • 使用AWS节点SDK的代码似乎无法获得ECS任务的角色权限。 如果在EC2 ECS实例上运行代码,代码似乎继承了实例上的角色,而不是任务。 如果我在Fargate上运行代码,代码不会得到任何许可。 相比之下,在实例中运行的任何bash脚本似乎都具有适当的权限。 实际上,文档中没有提到这是node sdk的一个选项,只是: 从Amazon EC2的IAM角色加载(如果在EC2上运行), 有没有办法让

  • 我使用Redis作为内存中的数据存储,用于spring boot应用程序中的缓存目的。目前,我已经为我需要缓存的实体实现了基本CRUD功能的Redis支持[Scenario 1]。但突然间,我发现有很多资源使用额外的Spring Boot缓存注释,比如来实现Redis的缓存[Scenario 2]。我监控到,当我们开始在find(params)这样的操作中使用这些注释时,只有第一个方法调用会被调用

  • 我的意思是我的错误是: ``` 正在检查“contacts”表是否存在{unrecognizedClientException:请求中包含的安全令牌无效。在request.extractorry(/root/work/contacts_api/node_modules/aws-sdk/lib/protocol/json.js:51:27)在request.calllisteners(/root/w