AWS KMS (AmazonKeyManagementServiceClient). Net Ядро не загружает AWS настройки приложения профиля. json - PullRequest
0 голосов
/ 05 мая 2020

У меня есть приложение. Net Core, которому требуется доступ к KMS с помощью AmazonKeyManagementServiceClient. Приложение использует специфицированный c AWS ProfilesLocation и специальный c профиль, установленный в appSettings. json. Клиент S3 работает нормально и получает учетные данные из местоположения профилей. Однако AmazonKeyManagementServiceClient не может подобрать правильный профиль и связанные учетные данные. Есть ли способ, чтобы AmazonKeyManagementServiceClient забирал учетные данные из местоположения, указанного в appSettings. json, без использования перегруженного конструктора public AmazonKeyManagementServiceClient(AWSCredentials credentials)?

Вот соответствующий код для appSettings.Development. json (Для переменной среды задано значение «Разработка»):

    {
  "AWS": {
    "Profile": "prod",
    "ProfilesLocation": "C:\\Users\\my-folder-location\\.aws\\credentials",
    "Region": "us-east-1"
  }

}

Вот код, который обращается к S3 и KMS

//I checked below that the AWS options are being loaded correctly 
var options = _configuration.GetAWSOptions();

//The S3 client uses the correct credentials
var s3Client = options.CreateServiceClient<IAmazonS3>();

//However the KMS client is using default credentials
var kmsClient = new AmazonKeyManagementServiceClient();

Любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 06 мая 2020

Если вы хотите, чтобы клиент AmazonKeyManagementServiceClient был настроен как клиент S3, вам необходимо вызвать options.CreateServiceClient<IAmazonKeyManagementService>(), как вы это делали для S3. Просто используя конструкторы сервисного клиента не будет доступа к IConfiguration в вашем приложении для получения информации о конфигурации учетных данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...