Как правильно хранить секретный ключ? - Python

Формулировка задачи:

Здравствуйте! Как известно, разработчики Django категорически не рекомендуют хранить секретный ключ в файле settings.py В качестве альтернативы предлагается хранить ключ в переменной среды или в отдельном файле:
The secret key must be a large random value and it must be kept secret. Make sure that the key used in production isn’t used anywhere else and avoid committing it to source control. This reduces the number of vectors from which an attacker may acquire the key. Instead of hardcoding the secret key in your settings module, consider loading it from an environment variable:
import os SECRET_KEY = os.environ['SECRET_KEY']
or from a file:
with open('/etc/secret_key.txt') as f: SECRET_KEY = f.read().strip()
Оба этих способа имеют своих сторонников и противников. Например, мне встречалось такое утверждение:
Environment variables of any running process are visible to any user on that system by running ps with the -e option. At least in a file its only visible to people with permissions on that file.
Скажите, пожалуйста, действительно ли хранить секретный ключ в переменной среды небезопасно? И если хранить секретный ключ в файле, то какие права доступа следует устанавливать? Заранее спасибо за ответ!

Код к задаче: «Как правильно хранить секретный ключ? - Python»

textual
-r--------   1 michael michael secrets.json

10   голосов, оценка 4.200 из 5


СОХРАНИТЬ ССЫЛКУ