0

我正在尝试实现与使用 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 实例上运行。

任何帮助,将不胜感激!

4

1 回答 1

0

我能够使用 Amazon.Runtime.InstanceProfileAWSCredentials.GetCredentials() 调用来获取临时凭证,我可以使用这些凭证作为 IAM 角色查询其他内容。

于 2019-02-17T07:49:15.910 回答