sts get-caller-identity 如何在部署在私有子网中的Cloud9实例上工作?

0

【以下的问题经过翻译处理】 大家好,在部署了具有SSM访问权限的NAT网关的私有子网中的Cloud9实例上,AWS CLI可以工作,但是“aws sts get-caller-identity”除外。这怎么可能?我正在使用get-caller-identity检查AWS CLI的连通性,但现在它失败了,而其他AWS CLI API仍然可以工作。

如何复制此问题:

  • 在默认VPC中创建一个私有子网
  • 在默认VPC中的公共子网中创建一个NAT网关
  • 创建一个允许外发连接到Internet的路由表
  • 将路由表分配给刚刚创建的私有子网
  • 转到Cloud9控制台,在私有子网上创建具有SSM访问权限的Cloud9实例(而不是直接访问或SSH访问)
  • 在Cloud9控制台上尝试使用各种命令进行aws cli。
1 回答
0

【以下的回答经过翻译处理】 您好!实际上这是有文档记录的[1]预期行为。

重要提示:如果您的环境的EC2实例启动到私有子网中,则无法使用AWS管理的临时凭证来允许EC2环境代表AWS实体(例如IAM用户)访问AWS服务。

由于Cloud9在底层使用EC2,您可以禁用临时凭证,而是附加一个实例配置文件/角色[2]。这将允许您执行所需的操作。

[1] https://docs.aws.amazon.com/zh_cn/cloud9/latest/user-guide/security-iam.html

[2] https://docs.aws.amazon.com/zh_cn/cloud9/latest/user-guide/credentials.html#credentials-temporary

profile picture
专家
已回答 1 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则