部署安全与软件架构优化
1. 保障部署安全
1.1 确保操作安全
GitHub Actions 虽实用,但它是可执行的代码,能访问你的资源。使用时需谨慎,尤其是在自托管运行器中。来自 GitHub、Microsoft、AWS 或 Google 等可信源的操作通常没问题,但它们也接受拉取请求,仍可能存在漏洞。以下是操作的最佳实践:
- 始终审查操作代码,查看所有者、贡献者数量、提交次数和日期、星标数量等指标,确保操作来自活跃社区。
- 始终通过明确的提交 SHA 引用操作,因为 SHA 不可变,而标签和分支可能被修改,导致在你不知情的情况下执行新代码。
- 若使用分叉仓库,要求所有外部协作者都需审批,而非仅首次贡献者。
- 使用 Dependabot 保持操作更新。
如果你使用自托管运行器,应更严格限制可使用的操作,有两种选择:
- 仅允许本地操作,分析操作后创建分叉并引用,可将操作添加到本地市场以便发现。
- 允许来自 GitHub 的选定操作和特定允许操作列表(白名单),可用通配符允许同一所有者的所有操作,此选项安全性稍低,但维护成本低。
这些选项可作为企业策略或为每个组织配置。
1.2 保护环境安全
使用环境保护规则和必需的审查者,在部署到环境前批准版本发布,确保在访问环境秘密和执行代码前对版本进行审查。结合分支保护和代码所有者,仅允许特定分支进入环境,确保在批准部署时进行必要的自动化测试和代码所有者审批。
1.3 尽可能使用令牌
连接云提供商(如 Azure、AWS、GCP 或 HashiCorp)时,可
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



