Храня секрет ключа в тайне с Amazon Web Services

Я играю вокруг с использованием услуг Amazon Web в моем персональном проекте. Я захватил их SDK AWS для.NET, и я использую это, но я немного смущен.

  1. Доступ к веб-сервису (в этом случае, SimpleDB, хотя я не думаю, что это действительно существенно к вопросу) авторизовывается через частную/с открытым ключом пару.

  2. SDK AWS для API.NET, используемого для создания объекта клиента, требует закрытого ключа:

    AWSClientFactory.CreateAmazonSimpleDBClient(publicKey, privateKey);
    
  3. Это - клиентское приложение, таким образом, код работал бы полностью на клиенте.

  4. Предположение, что у клиента должен был бы быть доступ к моему закрытому ключу, чтобы иметь доступ к SimpleDB. Но амазонка неоднократно и решительно заявляет, что мой закрытый ключ не должен выходить из-под моего контроля.

Это не имеет смысла мне, таким образом, я полагаю, что должен пропускать что-то.

Действительно ли клиентское приложение является неправильной моделью для услуг Amazon Web в целом для использования их SDK AWS для.NET, или я пропускаю что-то, что делает клиентское приложение совершенно разумным? Существует ли хороший способ работать вокруг этого, не создавая мой собственный сервис прокси, который аутентифицировал бы клиенты и передал бы их запросы к SimpleDB?

10
задан Greg D 10 February 2010 в 20:44
поделиться

1 ответ

Вам не нужно внедрять прокси-сервер, который обслуживает удаленную (AWS) службу. Просто реализуйте простую небольшую службу с проверкой подлинности, которая возвращает клиенту URL-адрес и заголовки для использования при обращении к AWS. Ваш аутентифицированный веб-сервис хранит секрет AWS и предоставляет клиенту только подписанный URL-адрес запроса и заголовки, который затем выполняет фактический рабочий вызов, используя эту возвращенную информацию.

Таким образом, вы избегаете накладных расходов во время вызова AWS, связанных с прохождением через ваши собственные серверы, сохраняя задержку, пропускную способность, связанные сокеты на вашем сервере, сложность обработки сбоев и т. Д. клиент, чтобы получить надлежащие инструкции.

6
ответ дан 4 December 2019 в 03:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: