我正在尝试实现与使用 AWS .NET SDK 的 Ruby 示例代码相同的结果,并且在查询实例配置文件凭证时遇到了问题。在查询实例配置文件时,.NET SDK 似乎隐藏了凭据提供程序。但是,我需要做到这一点,以便可以使用它来签署 STS 请求并将其传递给使用该信息进行身份验证的 API。到目前为止,我还没有找到查询实例配置文件并承担 IAM EC2 角色的方法。
有谁知道如何做到这一点?
红宝石:
request = Aws::Sigv4::Signer.new(
service: 'sts',
region: 'us-east-1',
credentials_provider: Aws::InstanceProfileCredentials.new
).sign_request(
http_method: 'GET',
url: 'https://sts.amazonaws.com/?Action=GetCallerIdentity&Version=2011-06-15'
).headers
我要避免的是在实例上存储任何凭据。但是,v4 签名者方法的签名是:
var signer = new Amazon.Runtime.Internal.Auth.AWS4Signer();
signer.SignRequest(IRequest request, IClientConfig clientConfig, RequestMetrics metrics, string awsAccessKeyId, string awsSecretAccessKey);
此代码将在 EC2 实例上运行。
任何帮助,将不胜感激!