我正在尝试使用Gitlab主持一个新项目。这是一个私有的Python项目。我能够用Gitlab CI测试一些初始测试。
我在运行测试时不使用缓存,
在设置中探索跑步者部分时,会显示警告,
GitLab Runners不为它们构建的项目提供安全隔离。您正在信任所有GitLab用户,他们可以将代码推送到项目A,B或C,以便在托管运行器X的机器上运行shell脚本。
使用共享测试运行器有哪些安全风险?在共享跑步者上运行私人项目是否安全?在共享跑步者上运行测试时可以采取哪些预防措施?
感谢您的任何见解。
GitLab CI runner提供以下执行程序类型:
shell
docker
ssh
docker-ssh
parallels
virtualbox
您应该拥有的安全问题主要来自使用ssh
和shell
跑步者。
shell
是不安全的。
这是因为它确实是一个简单的shell。运行构建的用户可以访问该用户正在进行的所有其他操作,包括其他项目。ssh
容易受到中间人攻击。
如果您在构建中处理私人加密密钥,请注意它们可能被盗。幸运的是,http://gitlab.com似乎只分享docker
跑步者。
docker
跑步者通常是安全的*因为每个构建都在一个新容器中运行,所以没有什么可担心的。
你可以进一步阅读about GitLab CI Runner security here。
*除非你正在做令人讨厌的privileged
模式!