17 GitHub Actions中的环境变量与秘密之管理秘密
在上一篇文章中,我们探讨了如何在 GitHub Actions 中使用环境变量来提高工作流程的灵活性和可维护性。这一篇将重点关注如何有效管理和保护秘密,确保它们的安全,并合理地使用它们。
什么是秘密?
在 GitHub Actions 中,秘密
(secrets)用于存储敏感信息,如 API 密钥、数据库密码或任何其他不应公开的信息。这些秘密在工作流程运行时可以作为环境变量使用,但它们不会出现在构建日志中,因此可以有效防止敏感信息泄露。
如何管理秘密?
1. 添加秘密
在你的 GitHub 仓库中添加秘密非常简单:
- 进入你的仓库,点击
Settings
(设置)。 - 找到
Secrets
部分,选择Actions
。 - 点击
New repository secret
(新建仓库秘密)。 - 输入一个名称,这将是你在工作流程中引用的标识符,例如
API_KEY
。 - 输入秘密的值并保存。
2. 在工作流程中使用秘密
一旦你添加了秘密,就可以通过 secrets
关键字在工作流程中使用它们。以下是一个示例 workflow.yml
文件,展示了如何使用秘密:
1 | name: CI |
在这个示例中,API_KEY
被从 GitHub Secrets 中提取,并传递给了 curl
命令。通过这种方式,API_KEY
的值不会出现在构建日志中,确保了它的安全性。
密码的安全性管理
1. 只授予必要的权限
在添加秘密时,除了存储敏感信息之外,确保这些信息只被需要的工作流程访问。避免将秘密暴露给所有成员或所有工作流程,以降低潜在风险。
2. 定期更新秘密
为了保持代码库的安全性,建议定期更新秘密的值。例如,API 密钥的使用期限可能不应过长。你可以设置提醒,定期检查并更新秘密内容。
3. 使用环境特定的秘密
对于不同的环境(如开发、测试、生产),建议使用不同的秘密。例如,可以在生产环境中使用不同的数据库密码和 API 密钥。通过这种方式,可以有效降低在环境间切换时带来的风险。
1 | jobs: |
在上面的示例中,我们在生产工作流中使用了专门为生产环境配置的 PROD_API_KEY
秘密。
小结
在本篇中,我们深入探讨了如何管理和使用秘密,以提高 GitHub Actions 工作流程的安全性。通过合理管理秘密,确保只有授权人员和工作流程可以访问敏感信息,可以大大降低潜在的安全风险。在下一篇文章中,我们将讨论环境变量与秘密的安全性最佳实践,进一步增强开发流程中的安全性。
请密切关注我们的系列教程,以便更深入了解 GitHub Actions 的其他功能和最佳实践。
17 GitHub Actions中的环境变量与秘密之管理秘密