У меня есть приложение. 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();
Любая помощь будет принята с благодарностью.