Getting a 401 error when scanning project via CI

Hello, I’m running into a problem where I’m gettting 401 errors when scanning my project via a CI environment.
Version of Sonarqube: Community Edition 10.3 (build 82913)
Version of Scanner: 5.0.1.3006
Sonarqube is deployed on an ec2 instance installed from an apt package

I would like to resolve the 401 error so I can scan my project. It was previously setup before and working.

I have deleted the project several times to ensure I wasn’t making a mistake. I do have another project that is running fine.

11:51:30  [AWS CodeBuild Plugin] INFO: Scanner configuration file: /root/.sonar/sonar-scanner-5.0.1.3006-linux/conf/sonar-scanner.properties
11:51:30  [AWS CodeBuild Plugin] INFO: Project root configuration file: NONE
11:51:30  [AWS CodeBuild Plugin] 17:51:23.252 INFO: SonarScanner 5.0.1.3006
11:51:30  [AWS CodeBuild Plugin] 17:51:23.259 INFO: Java 17.0.7 Eclipse Adoptium (64-bit)
11:51:30  [AWS CodeBuild Plugin] 17:51:23.259 INFO: Linux 4.14.291-218.527.amzn2.x86_64 amd64
11:51:30  [AWS CodeBuild Plugin] 17:51:23.261 INFO: SONAR_SCANNER_OPTS=-server
11:51:30  [AWS CodeBuild Plugin] 17:51:23.348 DEBUG: keyStore is : 
11:51:30  [AWS CodeBuild Plugin] 17:51:23.348 DEBUG: keyStore type is : pkcs12
11:51:30  [AWS CodeBuild Plugin] 17:51:23.348 DEBUG: keyStore provider is : 
11:51:30  [AWS CodeBuild Plugin] 17:51:23.348 DEBUG: init keystore
11:51:30  [AWS CodeBuild Plugin] 17:51:23.348 DEBUG: init keymanager of type SunX509
11:51:30  [AWS CodeBuild Plugin] 17:51:23.408 DEBUG: Create: /root/.sonar/cache
11:51:30  [AWS CodeBuild Plugin] 17:51:23.408 INFO: User cache: /root/.sonar/cache
11:51:30  [AWS CodeBuild Plugin] 17:51:23.408 DEBUG: Create: /root/.sonar/cache/_tmp
11:51:30  [AWS CodeBuild Plugin] 17:51:23.410 DEBUG: Extract sonar-scanner-api-batch in temp...
11:51:30  [AWS CodeBuild Plugin] 17:51:23.411 DEBUG: Get bootstrap index...
11:51:30  [AWS CodeBuild Plugin] 17:51:23.411 DEBUG: Download: https://sonarqube.ffly.net/batch/index
11:51:30  [AWS CodeBuild Plugin] 17:51:23.543 DEBUG: Get bootstrap completed
11:51:30  [AWS CodeBuild Plugin] 17:51:23.544 DEBUG: Download https://sonarqube.ffly.net/batch/file?name=sonar-scanner-engine-shaded-10.3.0.82913-all.jar to /root/.sonar/cache/_tmp/fileCache17058544814011927551.tmp
11:51:30  [AWS CodeBuild Plugin] 17:51:24.197 DEBUG: Create isolated classloader...
11:51:30  [AWS CodeBuild Plugin] 17:51:24.204 DEBUG: Start temp cleaning...
11:51:30  [AWS CodeBuild Plugin] 17:51:24.206 DEBUG: Temp cleaning done
11:51:30  [AWS CodeBuild Plugin] 17:51:24.206 DEBUG: Execution getVersion
11:51:30  [AWS CodeBuild Plugin] 17:51:24.215 INFO: Analyzing on SonarQube server 10.3.0.82913
11:51:30  [AWS CodeBuild Plugin] 17:51:24.215 INFO: Default locale: "en_US", source code encoding: "US-ASCII" (analysis is platform dependent)
11:51:30  [AWS CodeBuild Plugin] 17:51:24.215 DEBUG: Work directory: /codebuild/output/src3898422945/src/.scannerwork
11:51:30  [AWS CodeBuild Plugin] 17:51:24.216 DEBUG: Execution execute
11:51:30  [AWS CodeBuild Plugin] 17:51:24.413 DEBUG: Community 10.3.0.82913
11:51:30  [AWS CodeBuild Plugin] 17:51:24.572 INFO: Load global settings
11:51:30  [AWS CodeBuild Plugin] 17:51:24.648 DEBUG: GET 401 https://sonarqube.ffly.net/api/settings/values.protobuf | time=75ms
11:51:30  [AWS CodeBuild Plugin] 17:51:24.649 DEBUG: Error response content: , headers: {connection=[keep-alive], content-length=[0], content-security-policy=[default-src 'self'; base-uri 'none'; connect-src 'self' http: https:; img-src * data: blob:; object-src 'none'; script-src 'self'; style-src 'self' 'unsafe-inline'; worker-src 'none'], date=[Fri, 21 Jun 2024 17:51:24 GMT], server=[nginx/1.18.0], x-content-security-policy=[default-src 'self'; base-uri 'none'; connect-src 'self' http: https:; img-src * data: blob:; object-src 'none'; script-src 'self'; style-src 'self' 'unsafe-inline'; worker-src 'none'], x-content-type-options=[nosniff], x-frame-options=[SAMEORIGIN], x-webkit-csp=[default-src 'self'; base-uri 'none'; connect-src 'self' http: https:; img-src * data: blob:; object-src 'none'; script-src 'self'; style-src 'self' 'unsafe-inline'; worker-src 'none'], x-xss-protection=[1; mode=block]}
11:51:30  [AWS CodeBuild Plugin] 17:51:24.660 INFO: ------------------------------------------------------------------------
11:51:30  [AWS CodeBuild Plugin] 17:51:24.660 INFO: EXECUTION FAILURE
11:51:30  [AWS CodeBuild Plugin] 17:51:24.660 INFO: ------------------------------------------------------------------------
11:51:30  [AWS CodeBuild Plugin] 17:51:24.660 INFO: Total time: 1.431s
11:51:30  [AWS CodeBuild Plugin] 17:51:24.678 INFO: Final Memory: 21M/224M
11:51:30  [AWS CodeBuild Plugin] 17:51:24.678 INFO: ------------------------------------------------------------------------
11:51:30  [AWS CodeBuild Plugin] 17:51:24.678 ERROR: Error during SonarScanner execution
11:51:30  [AWS CodeBuild Plugin] org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.sonarsource.scanner.api.internal.IsolatedClassloader@6e4784bc-org.sonar.scanner.bootstrap.ScannerPluginRepository': Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.sonarsource.scanner.api.internal.IsolatedClassloader@6e4784bc-org.sonar.scanner.bootstrap.ScannerPluginInstaller': Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.sonarsource.scanner.api.internal.IsolatedClassloader@6e4784bc-org.sonar.scanner.bootstrap.PluginFiles': Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'GlobalConfiguration' defined in org.sonar.scanner.bootstrap.GlobalConfigurationProvider: Unsatisfied dependency expressed through method 'provide' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'GlobalServerSettings' defined in org.sonar.scanner.bootstrap.GlobalServerSettingsProvider: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.sonar.scanner.bootstrap.GlobalServerSettings]: Factory method 'provide' threw exception; nested exception is Not authorized. Please check the user token in the property 'sonar.token' or the credentials in the properties 'sonar.login' and 'sonar.password'.
11:51:30  [AWS CodeBuild Plugin] 	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800)
11:51:30  [AWS CodeBuild Plugin] 	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229)
11:51:30  [AWS CodeBuild Plugin] 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372)
11:51:30  [AWS CodeBuild Plugin] 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222)
11:51:30  [AWS CodeBuild Plugin] 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)
11:51:30  [AWS CodeBuild Plugin] 	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
11:51:30  [AWS CodeBuild Plugin] 	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
11:51:30  [AWS CodeBuild Plugin] 	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
11:51:30  [AWS CodeBuild Plugin] 	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
11:51:30  [AWS CodeBuild Plugin] 	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
11:51:30  [AWS CodeBuild Plugin] 	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955)
11:51:30  [AWS CodeBuild Plugin] 	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:920)
11:51:30  [AWS CodeBuild Plugin] 	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)
11:51:30  [AWS CodeBuild Plugin] 	at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:200)
11:51:30  [AWS CodeBuild Plugin] 	at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:180)
11:51:30  [AWS CodeBuild Plugin] 	at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:71)
11:51:30  [AWS CodeBuild Plugin] 	at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:65)
11:51:30  [AWS CodeBuild Plugin] 	at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46)
11:51:30  [AWS CodeBuild Plugin] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
11:51:30  [AWS CodeBuild Plugin] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
11:51:30  [AWS CodeBuild Plugin] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
11:51:30  [AWS CodeBuild Plugin] 	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
11:51:30  [AWS CodeBuild Plugin] 	at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
11:51:30  [AWS CodeBuild Plugin] 	at jdk.proxy1/jdk.proxy1.$Proxy0.execute(Unknown Source)
11:51:30  [AWS CodeBuild Plugin] 	at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:189)
11:51:30  [AWS CodeBuild Plugin] 	at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138)
11:51:30  [AWS CodeBuild Plugin] 	at org.sonarsource.scanner.cli.Main.execute(Main.java:126)
11:51:30  [AWS CodeBuild Plugin] 	at org.sonarsource.scanner.cli.Main.execute(Main.java:81)
11:51:30  [AWS CodeBuild Plugin] 	at org.sonarsource.scanner.cli.Main.main(Main.java:62)
11:51:30  [AWS CodeBuild Plugin] Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.sonarsource.scanner.api.internal.IsolatedClassloader@6e4784bc-org.sonar.scanner.bootstrap.ScannerPluginInstaller': Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.sonarsource.scanner.api.internal.IsolatedClassloader@6e4784bc-org.sonar.scanner.bootstrap.PluginFiles': Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'GlobalConfiguration' defined in org.sonar.scanner.bootstrap.GlobalConfigurationProvider: Unsatisfied dependency expressed through method 'provide' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'GlobalServerSettings' defined in org.sonar.scanner.bootstrap.GlobalServerSettingsProvider: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.sonar.scanner.bootstrap.GlobalServerSettings]: Factory method 'provide' threw exception; nested exception is Not authorized. Please check the user token in the property 'sonar.token' or the credentials in the properties 'sonar.login' and 'sonar.password'.

Hey there

How are you passing your credentials to the scanner?

  1. Run the following command from the project base directory to launch analysis and pass your authentication token: sonar-scanner -Dsonar.token=myAuthenticationToken

The token will need to have Execute Analysis permissions, as well as permissions to create new projects on the SonarQube instance if the project doesn’t exist already.

Hey Colin, thanks for your response… I was able to get the scan running in CI. I checked the authenticationToken and the projectKey to ensure they were right, but I couldn’t get it to scan. It wasn’t until I created a new parameter in AWS Parameter Store with a different name for the variable and then I got it to scan. The weird thing is, when I was troubleshooting all of the values were coming back correctly (I echo’ed out the values in my pipeline). Anyway, all is good now. I do appreciate your help.
Thank you,
Johnny M.