作者:顺hw应大自然改造大自然 | 来源:互联网 | 2022-11-30 11:10
我在Gitlab上有一个私人项目,设置了CI / CD,用于从Google Container Registry推送/拉取docker映像,并将我的软件部署到GCP中的Kubernetes Engine。
有没有一种方法可以使我的项目公开,而不必担心用于连接到GCP的秘密泄露?特别是,我担心当我的存储库公开时,任何人都可以echo $GCP_REPOSITORY_SECRET
在.gitlab-ci.yml
文件中的某处添加一行,然后推其分支并查看CI的输出,以“发现”我的秘密。Gitlab有防止这种情况发生的机制吗?从根本上讲,是否存在最佳实践,可以为公共存储库保密部署秘密?
1> VonC..:
从根本上讲,是否存在最佳实践,可以为公共存储库保密部署秘密?
是的,其中没有任何敏感数据。曾经
在GCP级别,此处列出了机密管理选项。
将GitLab-CI连接到GCP时,您可以在此处看到安全含义,该含义kubectl get secret -o jsOnpath="{['data']['ca\.crt']}" | base64 -D
与正确的帐户和RBAC一起使用。
整个集群的安全性基于可信任开发人员的模型,因此应仅允许受信任的用户控制您的集群。
请注意,GitLab 11.7(2019年1月)允许:
将Kubernetes应用秘密配置为Auto DevOps管道的变量
操作员和管理员要求在应用程序存储库之外进行机密配置,以降低风险和敏感数据的暴露。
为了满足此需求,GitLab现在提供了将机密配置为环境变量的功能,这些变量可用于在Kubernetes集群中运行的Auto DevOps应用程序。
只需在变量之前加上K8S_SECRET_
,相关的Auto DevOps CI管道就会使用您的应用程序秘密变量来填充Kubernetes秘密。