Получить роль IAM из профиля экземпляра для использования с подписчиком v4 - PullRequest
0 голосов
/ 15 февраля 2019

Я пытаюсь добиться того же результата, что и пример кода 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.

Любая помощь будет принята!

1 Ответ

0 голосов
/ 17 февраля 2019

Мне удалось использовать вызов Amazon.Runtime.InstanceProfileAWSCredentials.GetCredentials (), чтобы получить временные учетные данные, которые я мог бы использовать для запроса других вещей в качестве роли IAM.

...