配置GitLab以将SAML OmniAuth与Active Directory IdP一起使用

jjw*_*jjw 12 git ldap saml omniauth gitlab

我正在更改GitLab要使用的现有安装SAML而不是LDAP身份验证.

此时,用户可以使用"使用Saml登录"按钮成功登录Web应用程序.但是,我不清楚LDAP和SAML方法之间的区别是什么:通过LDAP登录创建帐户的用户可以使用他们的LDAP用户名访问Git存储库(例如使用clone,push,...)和密码,但通过SAML登录创建帐户的用户不能.

通过实验,我发现用户可以访问Git存储库,如果他们使用GitLab UI在初始SAML交互期间创建的帐户上设置单独的GitLab帐户密码.在一个新用户帐户下创建项目后出现的GitLab消息指向了这个方向:'在您的帐户上设置密码之前,您将无法通过HTTPS提取或推送项目代码'.

这个单独的密码配置似乎有可能是必要的,因为我错误地配置了SAML集成.所以,我的问题是,无论我是错的期望,验证访问GitLab托管Git仓库会的工作一样的,不管是否SAML还是LDAP使用?如果没有,是否有人知道我应该检查的相关SAML配置设置?

如果感兴趣:我已向该GitLab Google组发布了类似的问题,但我还没有收到任何回复.

Dre*_*ing 3

这是一个老问题,但无论如何我都会回答,希望它能帮助其他偶然发现这个问题的人。

LDAP 和 SAML 之间的一个重要区别是 SAML 是一种基于 Web 的单点登录技术。SAML 登录过程的一部分直接发生在用户客户端(浏览器)和 SAML 服务器之间,然后 GitLab 在后端验证该信息。相反,当给定用户的 LDAP 密码时,GitLab 可以直接连接到 LDAP 服务器并验证身份。

许多 GitLab 用户结合使用 LDAP 和 SAML。SAML 为 Web 端提供无缝单点登录,而 LDAP 允许 Git 通过 HTTPS 接受密码,并且还为企业版中的 LDAP 组同步等高级功能打开了大门。