我有一个 EC2 实例,我已将 IAM 角色关联到该实例。该角色称为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。
尝试:
Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/iam/security-credentials/EC2_Role/
我不确定这如何转化为Get-EC2InstanceMetadata
.