Как установить переменные окружения в виртуальной машине Google Cloud VM (Ubuntu) для проекта Django, не раскрывая конфиденциальную информацию?

Я использую виртуальную машину на Google Cloud с Ubuntu в качестве операционной системы, и я развернул на ней бэкэнд Django. В settings.py я использую переменные окружения следующим образом:

EMAIL_HOST_USER = env('EMAIL_HOST_USER')
EMAIL_HOST_PASSWORD = env('EMAIL_HOST_PASSWORD')

Я хотел бы узнать, как правильно установить переменные окружения на виртуальной машине, чтобы мое приложение Django могло получить к ним доступ. А именно:

  1. Как создать переменные окружения на виртуальной машине (Ubuntu)?
  2. Как сделать так, чтобы конфиденциальные данные (например, EMAIL_HOST_PASSWORD) не были открыты открытым текстом, но при этом были доступны моему Django-приложению?

Любые лучшие методы безопасного управления этими переменными окружения в виртуальной машине Google Cloud будут оценены по достоинству. Спасибо!

Если у вас есть секреты, храните их в тайне! Для этого можно использовать Secret Manager. А затем читайте свой секрет во время выполнения, вместо того чтобы помещать его открытым текстом в конфигурацию ВМ.

У вас есть разные варианты для этого:

  • Используйте скрипт запуска, чтобы прочитать секрет при запуске ВМ и поместить его в env var (в память) ВМ
  • .
  • Сделайте то же самое, но при запуске вашего приложения Django
  • .
  • Читайте секрет только во время использования, в вашем Django приложении
Вернуться на верх