如何在 Google Cloud VM (Ubuntu) 中为 Django 项目设置环境变量而不暴露敏感信息?

问题描述 投票:0回答:1

我正在使用 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 VM 中安全管理这些环境变量的最佳实践将不胜感激。谢谢!

django ubuntu security google-cloud-platform environment-variables
1个回答
0
投票

如果你有秘密,就保守秘密!您可以使用 Secret Manager 来实现此目的。然后,在运行时读取您的秘密,而不是将其以纯文本形式放入虚拟机配置中。

对此您有不同的选择:

  • 使用启动脚本在 VM 启动时读取密钥并将其放入 VM 的 env var(内存中)
  • 做同样的事情,但是当你的 Django 应用程序启动时
  • 仅在使用时在您的 Django 应用程序中读取秘密
© www.soinside.com 2019 - 2024. All rights reserved.