AWS powershell credential_source=Ec2InstanceMetadata

AWS powershell credential_source=Ec2InstanceMetadata,powershell,aws-cli,aws-powershell,aws-sdk-net,Powershell,Aws Cli,Aws Powershell,Aws Sdk Net,我试图在概要文件配置文件中设置credential\u source=Ec2InstanceMetadata选项,以便在EC2上运行的应用程序/工具可以承担特定角色,而不是实例概要文件角色 我在c:\aws\config [SomeUser] aws_access_key_id = AKIAXXX aws_secret_access_key = zzzz [profile RoleA] role_arn = arn:aws:iam::1111111:role/RoleA credential_

我试图在概要文件配置文件中设置
credential\u source=Ec2InstanceMetadata
选项,以便在EC2上运行的应用程序/工具可以承担特定角色,而不是实例概要文件角色

我在
c:\aws\config

[SomeUser]
aws_access_key_id = AKIAXXX
aws_secret_access_key = zzzz

[profile RoleA]
role_arn = arn:aws:iam::1111111:role/RoleA
credential_source = Ec2InstanceMetadata

[profile RoleB]
role_arn = arn:aws:iam::1111111:role/RoleB
source_profile = SomeUser
要设置当前Powershell会话的配置文件,我运行以下命令

PS C:\>设置AWSCredentials-ProfileName RoleA-ProfileLocation C:\aws\config

但是,它抛出了错误

设置AWSCredentials:凭证配置文件[RoleA]无效。请确保配置文件包含有效的属性组合。

根据,
credential\u source=Ec2InstanceMetadata
是一个有效的选项,但如果我从配置文件中删除
RoleA
配置文件,它会接受该命令,使我相信该选项无法识别

一旦该角色被删除,并且我使用
Set AWSCredentials
命令将
RoleB
作为
ProfileName
传递,我就可以运行假定为
RoleB
的其他AWS CLI命令(在这种情况下,凭据取自
[SomeUser]
的IAM用户凭据)。但这不是我想要的,因为我不想在实例上存储IAM凭据

知道我做错了什么吗

附言。 我有以下AWS PS工具版本(
Get-AWSPowerShellVersion


这是AWS PowerShell工具所基于的.NET版AWS SDK中缺少的功能。您能否在我们的存储库中打开GitHub问题以帮助跟踪此功能

PowerShell是否已更新到最新版本?
Amazon Web Services SDK for .NET: Core Runtime Version 3.3.22.5
AWS Tools for Windows PowerShell: Version 3.3.283.0`