执行 Sonarqube 分析“权限不足”时出错

Posted

技术标签:

【中文标题】执行 Sonarqube 分析“权限不足”时出错【英文标题】:Error while executing Sonarqube analysis " Insufficient privileges" 【发布时间】:2018-02-26 12:10:54 【问题描述】:

我正在尝试通过 sonarqube 分析 java 代码。我们在本地环境中创建了一个 sonarqube 服务器,而不是使用声纳云。

我最初尝试使用 sonar maven 插件形成此链接 Sonar-Maven Plugin

但是我遇到了“权限不足”错误。

[INFO] BUILD FAILURE [INFO]
------------------------------------------------------------------------ [INFO] Total time: 22.185 s [INFO] Finished at: 2017-09-18T13:04:47+10:00 [INFO] Final Memory: 64M/589M [INFO]
------------------------------------------------------------------------ [ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:
3.3.0.603:sonar (default-cli) on project testproject: Insufficient privileges ->  [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal o rg.sonarsource.scanner.maven:sonar-maven-plugin:3.3.0.603:sonar (default-cli) on  project testproject: Insufficient privileges
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor .java:213)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor .java:154)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor .java:146)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje ct(LifecycleModuleBuilder.java:117)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje ct(LifecycleModuleBuilder.java:81)
        at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThre adedBuilder.build(SingleThreadedBuilder.java:51)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifecycl eStarter.java:128)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:309)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:194)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:107)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:993)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:345)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:191)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Laun cher.java:289)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.jav a:229)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(La uncher.java:415)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java: 356) Caused by: org.apache.maven.plugin.MojoExecutionException: Insufficient privileg es
        at org.sonarsource.scanner.maven.bootstrap.ExceptionHandling.handle(Exce ptionHandling.java:36)
        at org.sonarsource.scanner.maven.bootstrap.ScannerBootstrapper.execute(S cannerBootstrapper.java:80)
        at org.sonarsource.scanner.maven.SonarQubeMojo.execute(SonarQubeMojo.jav a:139)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(Default BuildPluginManager.java:134)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor .java:208)
        ... 20 more Caused by: Insufficient privileges [ERROR] [ERROR] Re-run Maven using the -X switch to enable full debug logging.

然后我尝试使用 Sonar runner 进行分析,我再次遇到同样的“权限不足”错误。

13:01:41.145 DEBUG: Upload report
13:01:41.179 DEBUG: POST 403 http://myserver:9000/api/ce/submit?projectKey=
SampleProject&projectName=sampleprojectWrapper | time=34ms
13:01:41.208 INFO: -------------------------------------------------------------
-----------
13:01:41.209 INFO: EXECUTION FAILURE
13:01:41.209 INFO: -------------------------------------------------------------
-----------
13:01:41.211 INFO: Total time: 12.919s
13:01:41.412 INFO: Final Memory: 52M/320M
13:01:41.413 INFO: -------------------------------------------------------------
-----------
13:01:41.414 ERROR: Error during SonarQube Scanner execution
Insufficient privileges

然后我创建了一个新的 Sonarqube 服务器并重新运行,它运行良好。 我试图找出第一台服务器出了什么问题。服务器和项目的配置是一样的。

提前致谢。

【问题讨论】:

【参考方案1】:

如this answer 中所述,检查您用于工作的 SonarQube 用户权限:

global:执行分析 project: 浏览并查看源代码

这些可能默认在您的新 SonarQube 服务器中。

正如OP VVP 确认in the comments:

是的,问题是“Anyone”组以某种方式被删除,这阻止了代码被推送到 SonarQube。

在Sonarqube / Security / Authorization / Group查看更多信息。

【讨论】:

谢谢。是的,问题是“任何人”组以某种方式被删除,这阻止了代码被推送到 sonarqube。 @VVP 很好。我已将您的评论包含在答案中以提高知名度。【参考方案2】:

只是有关如何解决此问题的更新。 我正在使用 Sonar runner 来分析代码。 问题是“任何人”组的权限以某种方式被删除。根据上面的答案,我再次添加了权限,执行了,我可以看到发布的结果。

【讨论】:

很好的插图。 +1

以上是关于执行 Sonarqube 分析“权限不足”时出错的主要内容,如果未能解决你的问题,请参考以下文章

使用 SCM 提供程序自动检测执行 SonarQube 扫描仪时出错

从 GitLab CI 运行 sonarqube 时出错

对文件执行责备时发生 SonarQube 错误

在存储过程中创建动态表而在 PL/SQL 块表中创建时权限不足[重复]

SonarQube Azure Devops 未授权

SonarQube Scanner 执行期间出错错误:“您必须为‘未知’定义以下强制属性:sonar.projectKey”