Рубрики
Без рубрики

Обработка паролей и секретных ключей с использованием переменных среды

Что мы должны делать со всеми секретными вещами, такими как пароли или секретные ключи, которые у нас есть в нашем коде? … Tagged with Python, Tuperial, Beginters, Security.

Что мы должны делать со всеми секретными вещами, такими как пароли или секретные ключи, которые у нас есть в нашем коде?

Самый простой способ и неправильный способ справиться с этими важными учетными данными – это жесткий код в нашем коде. Когда вы подталкиваете код в репозиторий, вы делитесь своими секретными вещами со всеми в вашем проекте. Даже если вы работаете в одиночку, это может вызвать проблемы, поскольку любой, кто видит ваш код, также будет иметь доступ к вашей секретной информации.

Держите их в переменных окружающей среды

Самый безопасный способ обработки ваших секретных ключей/пароля – это сохранять их в переменных среды. В этом посте мы узнаем, как сэкономить важные учетные данные в переменных окружающей среды и получить доступ к ним в сценарии Python.

Чтобы установить пароль или секретные ключи в переменной среды на Linux (и Mac), вам нужно изменить .bash_profile Файл, который находится в вашем домашнем каталоге. Вы должны открыть терминал и CD в домашний каталог.

$ cd

Теперь откройте .bash_profile Файл в любом текстовом редакторе по вашему выбору.

$ nano .bash_profile

Нам нужно добавить переменную нашей среды в этот файл. Для этого добавить следующее содержимое в верхней части файла.

export USER="username"
export PASSWORD="password"

Примечание: не должно быть никаких пробелов по обе стороны от = знак.

Сохраните файл NANO, нажав CTRL + X и Y. Теперь используйте следующую команду, чтобы внести изменения.

$ source .bash_profile

Использование отдельного файла .env

Вышеупомянутый метод сохраняет секретные учетные данные по всей системе, что может быть не хорошей идеей, если у вас есть несколько приложений.

Решение состоит в том, чтобы хранить секреты в отдельном .env файл. Файл DOTENV содержит только текст, где он имеет одно назначение переменной среды на строку. Создать .env файл в ваш проект и добавьте свой секрет

USER=username
PASSWORD=password

ВАЖНО: Обязательно добавьте его в свой файл .gitignore.

Теперь вам нужно установить Python-Dotenv упаковка. Python-Dotenv это пакет Python, который позволяет вашему приложению Python читать .env файл. Этот пакет будет искать .env И если он найдет один, выставит в нем переменные переменные.

 $ pip install -U python-dotenv

Чтобы сохранить пароли и секретные ключи в переменных среды в Windows, вам нужно будет открыть настройку предварительной системы.

Вы можете перейти к Панель управления> Система и безопасность> Система Теперь в будущем Настройка Нажмите на Переменные среды . Здесь мы можем добавить новые пользовательские переменные и новые системные переменные. Мы добавим пользовательскую переменную, нажав Новый Под пользовательскими переменными.

В новом окне вы можете добавить Имя переменной и Переменное значение и нажмите ОК. Теперь нажмите ОК Переменные среды окно, чтобы сохранить изменения.

Чтобы получить доступ к этим переменным в нашем сценарии Python, нам необходимо импортировать модуль ОС. Мы можем сделать это, используя os.environ.get () Метод и передача ключа, к которому мы хотим получить доступ.

Если вы используете .python-dotenv Метод вам нужно добавить пару строк в начале вашего приложения.

от dotenv import load_dotenv load_dotenv ()

В случае проекта Django вы должны добавить вышеупомянутый сценарий в верхней части wsgi.py и Manage.py файл.

from dotenv import load_dotenv   #for python-dotenv method
load_dotenv()                    #for python-dotenv method

import os 

user_name = os.environ.get('USER')
password = os.environ.get('password')

print(user_name, password)

# output

username password

Оригинал: “https://dev.to/biplov/handling-passwords-and-secret-keys-using-environment-variables-2ei0”