为什么具有来宾角色的外部用户在授予其时无法访问内部仓库?

时间:2017-11-21 16:54:20

标签: gitlab

为什么具有访客角色的外部用户在授予内部仓库时无法访问内部仓库?

目标

我在gitlab中提供权限时遇到问题。我希望 externals 用户具有访客(角色)权限来下载一个内部项目。

gitlab documentation说明如下:

  • 具有访客角色的用户只有在公共或内部时才能下载项目。
  • 外部用户只能访问明确授予其访问权限的项目,从而隐藏所有其他内部或私有项目。可以通过将用户作为成员添加到项目或组来授予访问权限。

环境

我在gitlab中有下一个配置:

  • 一位名为userexternal的外部用户创建的用户。
  • 一个名为internalproject
  • 的内部项目
  • internalprojectuserexternal作为来宾角色的成员。

预期行为

userexternal可以下载(clone等)internalproject因为他已获得访问权限。

实际行为

userexternal无法下载internalproject。该页面返回 403错误(禁止访问)。

Cloning into 'internalproject'...
remote: You are not allowed to download code from this project.
fatal: unable to access 'https://userexternal:PASS@example.com/internalproject.git/': The requested URL returned error: 403

1 个答案:

答案 0 :(得分:0)

这可能不会直接适用于您的情况,但我们希望与客户做类似的事情。我们在gitlab中创建了deploy keys,只读访问一个项目。由于ssh键仅与该项目相关联而不与用户相关联,因此除了该回购之外,它们不能触及任何其他内容。与只读选项混合,它们只能拉动和克隆。

我们希望将此用户与任何其他帐户分开,因此我们在系统中创建了另一个具有管理功能的用户(唯一的缺点),他们无法获得的随机密码,没有ssh登录密钥,我们勾选外部用户复选框(是的,你可以成为外部管理员?)。

同样,不理想但是解决方法...... :(

干杯