Sonarqube 通过基本身份验证对声纳扫描仪进行身份验证
我对这个问题感到沮丧, 我们的sonarqube服务器支持http基本身份验证,本地运行程序失败,出现401错误。是否有可能向其提供凭据?A官方文档显示如何提供sonarqube的内部用户。。。 runner+via+basic+auth 对此有何想法或经验?执行分析需要“执行分析”权限。 为了设置扫描仪的凭证,您需要使用sonar.login和sonar.password。 有关更多信息,请查看:Sonarqube 通过基本身份验证对声纳扫描仪进行身份验证,sonarqube,sonarqube-scan,Sonarqube,Sonarqube Scan,我对这个问题感到沮丧, 我们的sonarqube服务器支持http基本身份验证,本地运行程序失败,出现401错误。是否有可能向其提供凭据?A官方文档显示如何提供sonarqube的内部用户。。。 runner+via+basic+auth 对此有何想法或经验?执行分析需要“执行分析”权限。 为了设置扫描仪的凭证,您需要使用sonar.login和sonar.password。 有关更多信息,请查看: 授权: 扫描仪参数: 我知道这个问题已经很老了,但我只是花了一天的时间来解决以下问题: TLD
- 授权:
- 扫描仪参数:
- 我知道这个问题已经很老了,但我只是花了一天的时间来解决以下问题:
TLDR:
sonar runner即使配置了凭据,也不会使用这些凭据对服务器进行第一次调用。端点是/batch/index。
您必须允许公众访问该端点。对于所有其他URL,基本身份验证是可以的
更多详情:
我使用Apache2.4作为反向代理,对Sonar7.9.2进行基本身份验证,它位于path/Sonar下的docker容器中。
我的Apache 2.4身份验证配置的一部分
SetEnvIf用户代理“^ScannerMaven”扫描仪\u maven
SetEnvIf用户代理“^ScannerCli”扫描仪\u maven
需要群声纳
需要expr%{REQUEST_URI}=~m#^.*\/sonar\/batch\/index#
需要环境扫描仪
SetEnv代理链身份验证打开
如您所见,路径/sonar/batch/index
不使用身份验证。作为一个不太好但总比没有好的限制,如果有人使用用户代理ScannerMaven或ScannerCli(即声纳扫描仪)发出请求,我会设置一个env变量。请注意,用户代理很容易伪造,或者可能会根据扫描仪的不同而改变。
对于所有其他URL,必须对sonar组中的用户进行身份验证。(Apache和Sonar的用户相同,代理将带有代理链auth的凭据转发给Sonar)
使用maven测试此设置:mvn sonar:sonar
使用
声纳
真的
https://myhost/sonar/
${env.user}
${env.pwd}
[...]
org.sonarsource.scanner.maven
声纳maven插件
3.7.0.1746
您尝试过什么?还有,你是如何分析的?嗨,朱利安,这不是Sonar身份验证问题,而是一个http身份验证问题,使得无法访问sonarQube。如果SonarScanner由于401错误而失败,这意味着它能够访问服务器,但用于执行分析的用户缺少某些权限