【问题标题】:How to secure SonarQube 5.4?如何保护 SonarQube 5.4?
【发布时间】:2016-07-09 14:50:38
【问题描述】:

我想配置 SonarQube,以便开发人员可以在本地生成 HTML 报告(在“问题”模式下),但不能在 SonarQube 服务器上发布报告(在“发布”模式下)。

相反,我希望 CI 服务器成为唯一可以访问发布结果的系统(使用“技术”用户)。

Release notes for SonarQube 5.4 表示“执行预览分析”权限已被删除。

有一个“执行分析”权限,但据我了解,这对于“问题”模式和“发布”模式都是必需的。

目前,执行分析权限已授予“任何人”。这允许 Maven 插件执行分析(问题或发布模式)。但是,sonar-runner(和 sonar-scanner)似乎都需要配置登录令牌,然后才能运行预览分析。这种不一致似乎令人困惑。

如何保护 SonarQube 5.4 以便只有构建服务器才能更新仪表板上显示的结果?

【问题讨论】:

    标签: sonarqube sonarqube-web sonarqube-5.4


    【解决方案1】:

    这很简单:

    • 确保“执行分析”全局权限仅授予“技术”用户,并配置您的 CI 服务器以将此用户的凭据传递给 Maven 命令
      • => 这将允许 CI 将分析报告推送到 SonarQube 服务器,但阻止任何其他用户这样做。
    • 确保每个其他用户都拥有项目的“浏览”权限
      • => 这将允许任何用户运行“问题”分析,从而生成 HTML 报告

    【讨论】:

    • 这在 sonar-runner/scanner 的情况下不太适用。 Global Permissions UI 中没有 Browse 权限,但即使所有项目都为每个人启用了 Browse,sonar-runner 仍然无法对 /batch/users 的请求。
    • 你一定错过了一些配置。如果开发人员使用他/她的凭据运行 sonar-runner/scanner,这应该可以完美运行(我昨天已经测试过了)。
    • 是的,我在第 5 段中提到过我已经这样做了。我提到的不一致是使用 Maven 的开发人员不需要配置凭据,但使用 sonar-runner/scanner 的开发人员需要。
    • 我很抱歉@MartinEllis,但我无法重现这种行为。 :-( 如果我匿名尝试“问题”分析,我可以使用 Maven 还是 SQ 扫描仪,在这两种情况下我都会收到“未经授权”错误。也许你可以在某个地方(在 pastebin 上)编写一个场景(从全新安装开始) .org 例如),以便我可以尝试在完全相同的条件下重现?
    • 由于对 /batch/users 的请求失败,我怀疑这可能与 LDAP 和 SCM 设置的某种组合有关。需要进一步调查。
    猜你喜欢
    • 2017-10-12
    • 1970-01-01
    • 1970-01-01
    • 2016-07-21
    • 1970-01-01
    • 2016-08-29
    • 2016-09-15
    • 2016-08-11
    • 1970-01-01
    相关资源
    最近更新 更多