最佳实践 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
有几个选项:
将其存储在本地,正如 Sebastin Santy 指出的那样,将 constants.py 添加到您的 .gitignore 文件中。
如果您使用的是 conda 虚拟环境,请将其存储为环境变量。不存储虚拟环境;创建一个的要求在 requirements.txt 文件中。您可以在 conda documetation
中找到更多有关步骤的信息
-
如果你有不止一组环境变量,你可以考虑使用decouple
如果您使用的是 AWS,您将希望使用自己的 IAM 将(第三方)密钥存储在他们自己的区域中。 AWS推荐的两种方式
我正在构建一个使用 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
有几个选项:
将其存储在本地,正如 Sebastin Santy 指出的那样,将 constants.py 添加到您的 .gitignore 文件中。
如果您使用的是 conda 虚拟环境,请将其存储为环境变量。不存储虚拟环境;创建一个的要求在 requirements.txt 文件中。您可以在 conda documetation
中找到更多有关步骤的信息如果你有不止一组环境变量,你可以考虑使用decouple
如果您使用的是 AWS,您将希望使用自己的 IAM 将(第三方)密钥存储在他们自己的区域中。 AWS推荐的两种方式