代码质量与安全 | SonarQube如何实现LDAP、SSO等身份验证和授权

DevOps流水线是许多不同工具的串联,可帮助构建、测试、验证和部署软件应用程序。当公司员工多起来,如果他们必须在工具中分别管理用户账户,那就没有意义了。对于任何面向企业的解决方案来说,能够与已经在公司中使用的IdP(身份提供方)解决方案无缝集成是一种标准。Sonar一直在确保SonarQube也满足这个期望,本篇文章将概述为您提供的将SonarQube与您现有的IdP集成。

SonarQube与LDAP和Active Directory的集成
当涉及到企业环境中的集中式身份验证时,LDAP(轻量级目录访问协议)历来是首选之一。它是一个与目录服务(OpenLDAP, Apache Directory, Microsoft Active Directory等)接口的开放协议,这些服务存储用户信息和凭证。
LDAP身份验证和实时配置
这是SonarQube完全支持的基本用例:通过LDAP验证用户的凭据。所有这些都需要对SonarQube与LDAP服务器(目录)的连接进行初步配置。一旦就绪,SonarQube将系统地将所有登录请求提交到第三方LDAP服务器。请注意,如果用户帐户在 SonarQube 中尚不存在,则会在授予访问权时当场进行配置(该过程通常被称为“实时配置”)。
通过LDAP自动同步姓名和电子邮件
将您的全名和电子邮件地址与您的用户ID相关联是标准做法,SonarQube会自动同步,因此它可以在整个UI及其通知中使用这些信息。SonarQube-LDAP集成系统在每次用户登录时系统地、自动地更新这些用户记录。除了集中身份验证之外,这还有助于确保所有IT设置中用户信息的一致性。
更进一步:支持多个LDAP服务器和多个安全协议
LDAP部署的范围可以是单个位置,也可以是全球地理分布式设置,多个LDAP服务器连接在一起以满足公司的需求。SonarSource不断听取反馈,构建了LDAP功能,帮助这些全球企业真正全面使用LDAP:
支持多个LDAP服务器:SonarQube可以连接到不同的LDAP服务器。这允许连接不同的目录,并启用冗余;
支持多种身份验证方法:出于安全考虑,SonarQube自身需要向LDAP服务器进行身份验证(在交换任何用户信息之前)。SonarQube支持在这种情况下使用的标准协议有:CRAM-MD5,DIGEST-MD5和GSSAPI。
更进一步:使用SonarQube
进行SSO(单点登录)
SAML身份验证
(Okta、OneLogin、Azure AD等)

通过DevOps平台进行身份验证
(GitHub SSO、GitLab SSO)

用户的身份验证将通过平台重定向,除了第一次必须明确授予SonarQube权限(以这种方式登录)之外,一旦他们有了当前的活动会话,就能开启无缝体验。
将这一切整合在一起:使用SonarQube进行委托授权

是时候开始尝试了
文章来源:https://www.sonarsource.com/blog/sonarqube-ldap-sso/
希望您已经了解SonarQube如何与您现有的企业身份验证和授权设置集成,如需更多支持,请联系SonarQube中国官方授权合作伙伴——创实 ,我们提供SonarQube产品的咨询、销售、 实施、培训及技术支持服务。