最佳实践 Python - 存储位置 API KEYS/TOKENS

Best Practices Python - Where to store API KEYS/TOKENS

我正在构建一个使用 API 令牌和密钥访问服务的系统,但是存储它们的最佳位置在哪里?我想在不推送令牌的情况下将代码推送到 GitHub。

目前,我将它们放在一个名为 Constants.py 的空白文件中,并且在 python 主文件中,我导入 Constants.py.

API_KEY_SERVICE = "ABC123ABC"

Main.py:

import Constants
service_key = Constants.API_KEY_SENDGRID

您正在尝试的是从代码中分离敏感信息的正确方法。您应该在 .gitignore 文件中包含 constants.py,这将阻止 git 跟踪该文件,从而不会将其推送到 github。

.git忽略,参考:https://git-scm.com/docs/gitignore

有几个选项:

  1. 将其存储在本地,正如 Sebastin Santy 指出的那样,将 constants.py 添加到您的 .gitignore 文件中。

  2. 如果您使用的是 conda 虚拟环境,请将其存储为环境变量。不存储虚拟环境;创建一个的要求在 requirements.txt 文件中。您可以在 conda documetation

    中找到更多有关步骤的信息
  3. 使用OS module

  4. 如果你有不止一组环境变量,你可以考虑使用decouple

  5. 如果您使用的是 AWS,您将希望使用自己的 IAM 将(第三方)密钥存储在他们自己的区域中。 AWS推荐的两种方式