Как улучшить безопасность с помощью подключения psycopg2? - PullRequest
0 голосов
/ 23 января 2019

У меня есть база данных PostgreSQL, и у меня есть скрипт, который использует данные в БД для обновления веб-сайта. В скрипте у меня есть следующий код:

conn = psycopg2.connect('dbname=name user=user password=password')

Есть ли лучший или более безопасный способ подключения к БД без раскрытия моего пароля в скрипте?

У меня та же проблема в Django с файлом settings.py.

Ответы [ 5 ]

0 голосов
/ 16 августа 2019

AWS и Databricks имеют секретные инструменты управления, позволяющие хранить пароль в секрете.

0 голосов
/ 29 января 2019

Добавьте учетные данные в защищенный файл JSON и загрузите этот файл для импорта переменных в функцию psycopg2.connect.

0 голосов
/ 23 января 2019

Поместите его в переменную, сохраните в модуле / пакете, их в вашем скрипте напишите:

from *libname* import sqlpassword

conn = psycopg2.connect('dbname=name user=user password=sqlpassword')
0 голосов
/ 24 января 2019


Вы должны хранить свои учетные данные postgresql и не кодировать их жестко в скриптах .py. Для этого я предлагаю использовать модуль django-decouple.
С помощью этого модуля вы можете сохранить свои учетные данные в файле .env, например,

DB_NAME=DB_NAME
DB_USER=DB_USER
DB_PASSWORD=DB_PASS
DB_HOST=localhost
DB_PORT=5432

и затем вы можете использовать его в своем проекте на python или django так же просто, как выпить чашку чая :)

Ссылки по теме:
официальная страница djang-decouple
https://pypi.org/project/django-decouple/
хороший и простой учебник, чтобы узнать, как использовать Django-Decouple
https://simpleisbetterthancomplex.com/2015/11/26/package-of-the-week-python-decouple.html

С уважением.

0 голосов
/ 23 января 2019

Один из возможных способов - сохранить цепочку ключей в каталоге с контролируемыми правами и заставить ваш скрипт читать этот файл учетных данных для извлечения имени пользователя и пароля. Таким образом, вы могли бы замаскировать учетные данные, от которых можно было бы просмотреть скрипт, но у вас нет прав доступа к каталогу.

...