Менеджер секретов — это инструмент для хранения и управления вашими паролями, ключами API, учетными данными базы данных и другими типами конфиденциальных данных, которые требуются вашему приложению.
Секреты, жестко запрограммированные в исходных кодах приложений или хранящиеся в обычных текстовых файлах для использования вашими кодами, могут быть использованы злоумышленниками, которые могут проверять приложения или компоненты в вашей системе. Этот риск можно снизить с помощью менеджеров секретов.
dotenv-vault — один из таких менеджеров секретов, который обеспечивает более безопасную альтернативу помещению ваших секретов в код.
[!Примечание]
Это не руководство по использованию dotenv-vault. Цель этого документа — объяснить, как менеджер секретов может помочь разработчикам избежать жесткого кодирования секретов или их хранения в простых текстовых файлах. Вы можете узнать, как начать работу с dotenv-vault здесь.
Предположим, у меня есть конфиденциальная информация об определенном персонаже фильма Звездные войны: Эпизод V, и я хочу, чтобы моя программа использовала эту информацию.
def spoiler(): spoiler = "Darth Vader is Luke Skywalker's father" return { "spoiler": spoiler }
Вместо жесткого кодирования информации я бы записал ее как переменную среды в файле .env:
SPOILER="Darth Vader is Luke Skywalker's father"
С помощью dotenv-vault моя программа может получить доступ к конфиденциальной информации с помощью переменной среды.
import os from dotenv_vault import load_dotenv load_dotenv() # Take environment variables from .env def spoiler(): spoiler = os.getenv("SPOILER") # Get the secret return { "spoiler": spoiler }
Затем я шифрую переменную среды, синхронизируя файл .env. После завершения синхронизации могут быть сгенерированы данные, известные как DOTENV_KEY. Моя программа может прочитать этот вывод как переменную среды в рабочей среде.
DOTENV_KEY='dotenv://:[email protected]/vault/.env.vault?environment=production' python main.py
В результате мое производственное приложение может получить доступ к секрету.
{ "spoiler": "Darth Vader is Luke Skywalker's father" }
Существует множество решений для управления секретами. У каждого менеджера секретов есть свои плюсы и минусы. Выберите вариант, который лучше всего соответствует требованиям вашей организации.
Список альтернативных менеджеров секретов:
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3