«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Перенесите жестко запрограммированные секреты в диспетчер секретов.

Перенесите жестко запрограммированные секреты в диспетчер секретов.

Опубликовано 3 ноября 2024 г.
Просматривать:751

Move hardcoded secrets to a Secrets Manager

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

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

dotenv-хранилище

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" }

Выберите подходящий для вас менеджер секретов

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

Список альтернативных менеджеров секретов:

  1. Финансовые
  2. Допплер
  3. Хранилище HashiCorp
  4. Менеджер секретов AWS
  5. Хранилище ключей Azure
Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/kjt/move-hardcoded-secrets-to-a-secrets-manager-2bmc?1. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить их.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3