Учетные данные AWS из пакета Nuget в C # - PullRequest
0 голосов
/ 25 января 2019

Я создаю пакет Nuget, который сможет помещать данные в Kinesis Steam на AWS.

Я не хочу, чтобы сам пакет Nuget содержал какие-либо учетные данные. Я хочу, чтобы пакет nuget использовал ключи в web.config или app.config того приложения, которое его использует.

Мой вопрос:

Это произойдет по умолчанию? Или AmazonKinesisClient попытается прочитать из app.config самого пакета nuget и затем сдаться?

В последнем случае, может ли пакет nuget загрузить учетные данные из хост-приложения или приложение хоста будет вынуждено явно передавать учетные данные в пакет nuget?

Я бы предпочел не заставлять хост-приложение передавать учетные данные.

Пакет nuget предназначен для .NET Framework V4.5

1 Ответ

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

Даже если вы используете AWS SDK внутри пакета Nuget, он все равно получит информацию о соединении из app.config запущенного приложения.

Я проверил это и подтвердил это, создав консольное приложение в .net 4.5, добавив информацию о профиле в конфигурацию приложения.Затем создайте отдельную библиотеку и упакуйте ее, используя nuget.Эта библиотека не предоставляет учетные данные.Я добавил пакет Nuget в свое консольное приложение, и он успешно подключился к профилю учетной записи, указанному в app.config.

Если приложение создает клиент Kinesis с использованием AWS dotnet SDK, а ваш пакет специально не предназначенПередавая учетные данные клиенту, SDK ищет их в указанном ниже порядке.

Я бы предоставил разработчикам возможность предоставить учетные данные и вашему классу, чтобы они могли вручную установить учетные данные.Разработчики могут иметь другой механизм управления учетными данными, чем система профилей, которую использует SDK.

SDK будет:

  • Искать AWSAccessKey и AWSSecretKey в App.config
  • Поиск в SDK
  • Store Поиск в файле учетных данных
  • Поиск профилей экземпляров

Более подробную информацию можно найти здесь: https://aws.amazon.com/blogs/developer/referencing-credentials-using-profiles/

...