我希望能够让用户将一个停靠文件连同代码一起推送到gitlab,让gitlab构建映像,然后由项目的经过身份验证的用户来提取。
问题是,我想确保用户不直接将停靠文件推送到gitlab容器注册中心,这样我们就可以查看停靠文件和控制,并确保Dockefile使用Redhat only注册表来从中提取内容。
我们如何防止用户将自己构建的图像推送给gitlab?换句话说,我们如何确保gitlab项目容器注册中心中的对接者映像是由gitlab从dockerfile构建的,而不是由来自其他地方的项目用户推送的?
发布于 2019-03-08 13:46:44
发布于 2018-10-29 17:30:01
我认为目前这是不可能的。如果您检查gitlab权限模型,您将看到用户访问级别决定了您可以在容器注册表中做什么:
如果您的用户是开发人员,那么他们将能够将图像推送到注册表。如果您希望将其限制在gitlab构建上,则需要使用受保护分支并将用户限制在Reporter级别(可能不是您想要的)。
另一种有点费解的方法是设置第二个用作映像源的项目,并将其构建设置配置为从第一个受保护的项目分支中提取。提交到第一个项目中的受保护分支总是必须被审查,并且停靠者图像将从第二个项目中提取出来。
https://stackoverflow.com/questions/50194430
复制相似问题