流水线安全

密钥管理

密钥管理是开发人员用来在具有严格访问控制的安全环境中安全存储敏感数据的系统。密钥 是应保密的敏感凭证,包括:

  • 密码
  • SSH 密钥
  • 访问令牌
  • 其他类型的凭证

密钥存储

密钥管理提供商

最敏感且遵循最严格策略的密钥应存储在单独的密钥管理提供商中。当使用密钥管理器解决方式时,密钥存储在极狐GitLab 实例外。市面上有很多这类提供商,诸如 ,例如 HashiCorp 的 VaultAzure Key Vault, 以及 Google Cloud Secret Manager

您可以使用极狐GitLab 原生的集成来集成外部密钥管理提供商来获取 CI/CD 流水线所需要的密钥。

CI/CD 变量

CI/CD 变量是在 CI/CD 流水线中存储和使用数据的便捷方法,但变量的安全性不如 secrets 管理提供商。 变量值:

  • 存储在极狐GitLab 项目、群组或实例设置中。有权访问设置的用户可以访问变量。
  • 可以被覆盖,很难确定使用了哪个值。
  • 更容易因意外的流水线配置错误而暴露。

敏感数据应存储在 secrets 管理解决方案中。如果您想要将低敏感度数据存储在 CI/CD 变量中,请务必: