【问题标题】:EC2 instance temporary creds from IAM role not working来自 IAM 角色的 EC2 实例临时凭据不起作用
【发布时间】:2019-09-12 08:37:44
【问题描述】:

我有一个与 IAM 角色相关联的 EC2 实例。该角色称为 EC2_Role (非常原始),当我在 Powershell 中执行以下操作时:

Get-EC2InstanceMetadata -Path "/iam/info"

我什么也得不到。运行后只是一个新的提示。

以下python代码:

class Boto3STSService():
def __init__(self):
    sts_connection = boto3.client('sts')
    assume_role_object = sts_connection.assume_role(RoleArn='arn:aws:iam::153621189007:role/EC2_Role', RoleSessionName='sds_mws_session', DurationSeconds=3600)
    self.credentials = assume_role_object['Credentials']
    print(self.credentials)

credentials = Boto3STSService()

说“NoCredentialsError:无法找到凭据”,这似乎证实了我从 powershell 得到的任何东西。

角色arn:aws:iam::<account>:role/EC2_Role 显示arn:aws:iam::<same account>:instance-profile/EC2_Role 的配置文件,并且它具有AmazonEC2FullAccess 策略。

那么为什么我无法从与实例关联的 IAM 角色检索临时凭证或任何信息?

实例是windows server 2016。

【问题讨论】:

标签: amazon-web-services amazon-ec2 amazon-iam


【解决方案1】:

试试:

Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/iam/security-credentials/EC2_Role/

我不确定这如何转化为 Get-EC2InstanceMetadata

【讨论】:

  • 找不到页面。
  • 在这种情况下,从末尾开始删除元素,直到获得有效响应。它将提供一个有效值列表。
猜你喜欢
  • 2016-11-21
  • 2014-10-10
  • 2018-01-07
  • 2020-05-30
  • 2018-07-09
  • 2021-05-28
  • 2019-06-14
  • 1970-01-01
  • 2019-08-23
相关资源
最近更新 更多