Как я могу защитить свой идентификатор доступа AWS и секретный ключ в своем приложении на Python

Я делаю приложение на Python и использую Amazon Web Services в некоторых модулях.

Теперь я жестко кодирую свой идентификатор доступа AWS и секретный ключ в файле *.py. Или может переместить их в файл конфигурации в будущем.

Но есть проблема: как я могу защитить информацию AWS от других людей? Насколько я знаю, Python — это язык, который легко декомпилировать.

Есть ли способ сделать это?


Я делаю приложение, помогающее пользователям загружать/выгружать данные из облака. Я использую Amazon S3 в качестве облачного хранилища. Насколько я знаю, Dropbox также использует S3, поэтому мне интересно, как они защищают ключ.


После дня поисков я кое-что нашел. Сейчас я использую boto (библиотека AWS для Python). Я могу использовать функцию «generate_url(X)», чтобы получить URL-адрес приложения для доступа к объекту в S3. Срок действия URL-адреса истекает через X секунд. Поэтому я могу создать веб-службу для своих приложений, чтобы предоставить им URL-адреса. Ключи AWS будут установлены не в приложении, а в веб-сервисе.

Звучит здорово, но пока я могу загружать только объекты с помощью этой функции, загрузка не работает. Любой орган знает, как использовать его для загрузки?


Кто-нибудь здесь знает, как использовать key.generate_url() из boto, чтобы получить временный URL-адрес для загрузки материалов на S3?

10
задан michael.luk 4 April 2012 в 07:13
поделиться