Зачем использовать Amazon SQS, когда доступны закрытые ключи

#amazon-web-services #amazon-s3 #queue #amazon-sqs

#amazon-веб-сервисы #amazon-s3 #очередь #amazon-sqs

Вопрос:

Так что это может быть глупый вопрос, но какой смысл использовать Amazon SQS, если для этого требуется закрытый и открытый ключи? Если у клиента есть закрытый и открытый ключи, они, вероятно, могут обнаружить ключи с помощью декомпиляции или каким-либо другим способом…

Единственный безопасный способ, который я мог придумать, — это использовать прокси (например, php), который имеет закрытый и открытый ключи. Но тогда какой смысл использовать SQS в первую очередь? Основное преимущество SQS (я вижу) заключается в том, что он может масштабироваться вверх, и вам не нужно беспокоиться о том, сколько сообщений вы получаете. Но если вы собираетесь использовать прокси, вам также придется его масштабировать… Надеюсь, мои опасения имеют смысл?

Спасибо

Комментарии:

1. Я также изучаю этот вопрос о том, как отправлять сообщения в SQS из общедоступного приложения, которое можно декомпилировать. Что вы думаете об использовании временных учетных данных docs.aws.amazon.com/AWSSimpleQueueService/latest /…

Ответ №1:

Ваши опасения были бы обоснованны, если бы вам пришлось выдавать свой секретный ключ клиентам для извлечения данных из очереди. Однако типичный рабочий процесс включает использование вашего идентификатора учетной записи AWS для создания и изменения очередей и, возможно, передачи данных в очереди. Затем вы можете установить разрешения либо с помощью действия SQS AddPermission, либо настроить более точно контролируемую политику доступа. Это означает, что вы предоставляете доступ на чтение только определенной учетной записи AWS или для анонимного использования, но не разрешаете другие изменения.

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

Вам было бы полезно ознакомиться с этими ресурсами: