Хранение секретного ключа в секрете с Amazon Web Services
Я играю с использованием веб-сервисов Amazon в моем личном проекте. Я взял их AWS SDK для .NET, и я использую это, но я немного запутался.
Доступ к веб-сервису (в данном случае SimpleDB, хотя я не думаю, что это действительно существенный вопрос) разрешается через пару секретный / открытый ключ.
API AWS SDK для .NET, используемый для создания объекта клиента, требуется закрытый ключ:
AWSClientFactory.CreateAmazonSimpleDBClient(publicKey, privateKey);
Это клиентское приложение, поэтому код будет полностью выполняться на клиенте.
Предполагая, что клиент должен иметь доступ к моему личному ключу, чтобы иметь доступ к SimpleDB. Но Амазонка неоднократно и решительно заявляет, что мой закрытый ключ не должен выходить из-под контроля.
Это не имеет смысла для меня, поэтому я полагаю, что я что-то упускаю.
Является ли клиентское приложение неправильной моделью для веб-сервисов amazon в целом, для использования их AWS SDK для .NET, или я упускаю что-то, что делает клиентское приложение совершенно разумным? Есть ли хороший способ обойти это без создания собственной прокси-службы, которая будет аутентифицировать клиентов и пересылать их запросы в SimpleDB?