Я пытаюсь добиться того же результата, что и пример кода Ruby, который я использую с помощью AWS .NET SDK, и у меня возникают проблемы с запросом учетных данных профиля экземпляра.Похоже, .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:
var signer = new Amazon.Runtime.Internal.Auth.AWS4Signer();
signer.SignRequest(IRequest request, IClientConfig clientConfig, RequestMetrics metrics, string awsAccessKeyId, string awsSecretAccessKey);
Этот код будет работать на экземплярах EC2.
Любая помощь будет принята!