使用AWS节点SDK的代码似乎无法获得ECS任务的角色权限。
如果在EC2 ECS实例上运行代码,代码似乎继承了实例上的角色,而不是任务。
如果我在Fargate上运行代码,代码不会得到任何许可。
相比之下,在实例中运行的任何bash脚本似乎都具有适当的权限。
实际上,文档中没有提到这是node sdk的一个选项,只是:
有没有办法让您的节点代码获得ECS任务的权限?
这似乎是将权限传递给您的代码的合乎逻辑的方式。它非常适合在实例上运行的代码。
我能想到的唯一解决方法是为每个ECS服务创建一个IAM用户,并在任务定义中将API密钥/机密作为环境html" target="_blank">变量传递。然而,这似乎不是很安全,因为任何有权访问任务定义的人都可以看到它的纯文本。
我明白了。这是个奇怪的问题。
一位同事认为,如果我们调用Object,会“更安全”。冻结过程。环境。这在某种程度上干扰了SDK访问凭据的能力。
去掉了那个“改进”,一切又好了。我认为教训是“不要弄乱process.env”。
你的问题缺少很多关于如何设置ECS集群的细节,另外我不确定这个问题是针对ECS还是专门针对Fargate。
确保您使用的是最新版本的SDK。Javascript支持ECS和Fargate任务凭据。
ECS上的凭据经常存在混淆。有分配给群集EC2实例的IAM角色和分配给ECS任务的IAM角色。
最常见的问题是ECS任务角色上未设置“信任关系”。选择您的IAM角色,然后选择“信任关系”选项卡,并确保它如下所示:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": "ecs-tasks.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
除了运行任务和服务所需的标准Amazon ECS权限外,IAM用户还需要iam: PassRole
权限才能将IAM角色用于任务。
接下来验证您是否在任务定义中使用了IAM角色。在任务角色字段中指定正确的IAM角色ARN
。请注意,这与任务执行角色(允许容器提取图像和发布日志)不同。
接下来确保您的ECS实例正在使用最新版本的ECS代理。代理版本列在右侧“代理版本”列下的“ECS实例”选项卡上。当前版本为1.20.3
。
您是否使用ECS优化的AMI?如果没有,请将--net=host添加到启动代理的docker run命令中。有关详细信息,请查看此链接。
问题内容: 我试图在节点中陷入进口的泥潭,并试图使用此示例中提供的语法: [备忘单链接](https://hackernoon.com/import-export-default-require-commandjs- javascript-nodejs-es6-vs-cheatsheet-different-tutorial-example-5a321738b50f) 我正在浏览支持表,但无法找到
问题内容: 我目前在我的项目中使用类型,并且遇到问题。 上面的代码中的可以是或。这是类型的原因。 我知道不是。 我需要知道的是如何使它工作。 问题答案: 可编码需要知道要转换的类型。 首先,我将尝试解决不知道类型的问题,看看是否可以解决它并使它更简单。 否则,我目前认为解决您的问题的唯一方法就是使用如下所示的泛型。
根据统一码规范 D91 UTF-16 编码形式:在 U 0000..U D7FF 和 U E000 范围内分配每个 Unicode 标量值的 Unicode 编码形式。U FFFF 到与 Unicode 标量值具有相同数值的单个无符号 16 位代码单元,并将 U 10000..U 10FFFF 范围内的每个 Unicode 标量值分配给代理项对。 术语“标量值”是指 Unicode 码位,即必须通
我遇到了一个问题,我知道如何计算树中的所有节点,像这样
问题内容: 我需要编写一个代码来比较Java 和Scala的性能。我很难在我的Java代码中使用Scala 。有人可以发布一个真正简单的“ hello world”示例,该示例如何使用Java代码(在文件中)创建Scala 并在其中添加100个随机数吗? PS:我非常擅长Java,但从未使用过Scala。 问题答案: 与其他方式相比,在Scala中使用Java集合要容易得多,但是由于您提出了以下要
我对香草js(来自node.js)很陌生,我想弄清楚如何在我的网站上显示它,它是在线托管的 有没有什么工具我可以使用使它在网页工作。 这是一个简单的木偶演示代码(从文档),我需要运行它在我的网页