从实例配置文件中检索 IAM 角色以与 v4 签名者一起使用
Retrieve IAM Role from Instance Profile for Use With v4 Signer
我正在尝试实现与我使用 AWS .NET SDK 的 Ruby 示例代码相同的结果,但 运行 在查询实例配置文件凭证时遇到了麻烦。 .NET SDK 似乎在查询实例配置文件时隐藏了凭据提供程序。但是,我需要了解它,以便我可以使用它来签署 STS 请求并将其传递给使用该信息进行身份验证的 API。到目前为止,我还没有找到查询实例配置文件并承担 IAM EC2 角色的方法。
有没有人知道如何做到这一点?
Ruby:
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 signer 方法的签名是:
var signer = new Amazon.Runtime.Internal.Auth.AWS4Signer();
signer.SignRequest(IRequest request, IClientConfig clientConfig, RequestMetrics metrics, string awsAccessKeyId, string awsSecretAccessKey);
此代码将在 EC2 实例上 运行。
如有任何帮助,我们将不胜感激!
我能够使用 Amazon.Runtime.InstanceProfileAWSCredentials.GetCredentials() 调用获取临时凭据,我可以使用这些凭据作为 IAM 角色查询其他内容。
我正在尝试实现与我使用 AWS .NET SDK 的 Ruby 示例代码相同的结果,但 运行 在查询实例配置文件凭证时遇到了麻烦。 .NET SDK 似乎在查询实例配置文件时隐藏了凭据提供程序。但是,我需要了解它,以便我可以使用它来签署 STS 请求并将其传递给使用该信息进行身份验证的 API。到目前为止,我还没有找到查询实例配置文件并承担 IAM EC2 角色的方法。
有没有人知道如何做到这一点?
Ruby:
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 signer 方法的签名是:
var signer = new Amazon.Runtime.Internal.Auth.AWS4Signer();
signer.SignRequest(IRequest request, IClientConfig clientConfig, RequestMetrics metrics, string awsAccessKeyId, string awsSecretAccessKey);
此代码将在 EC2 实例上 运行。
如有任何帮助,我们将不胜感激!
我能够使用 Amazon.Runtime.InstanceProfileAWSCredentials.GetCredentials() 调用获取临时凭据,我可以使用这些凭据作为 IAM 角色查询其他内容。