Score:0

การรับรองความถูกต้องของ SonarQube ด้วย Azure AD

ธง ph

ฉันต้องทำการตรวจสอบความถูกต้องกับ SonarQube ด้วย SAML จาก Azure AD เราใช้ SonarQube 8.9.6 LTS กับ openjdk 11.0.14 OpenJDK Runtime Environment build 11.0.14+9 บน Ubuntu 20.04 ฉันได้ตั้งค่าพารามิเตอร์จาก Azure (ID แอปพลิเคชัน, ID ผู้ให้บริการ, การเข้าสู่ระบบ SAML, ใบรับรอง X.509, เพิ่มกลุ่มที่ถูกต้อง เป็นต้น) ฉันได้นำเข้าใบรับรองไปยังพวงกุญแจ java ด้วย การทดสอบการกำหนดค่าที่รันที่ฝั่ง Azure นั้นสำเร็จ แต่เมื่อฉันพยายามเข้าสู่ระบบด้วย SAML ฉันได้รับ

คุณไม่ได้รับอนุญาตให้เข้าถึงหน้านี้ โปรดติดต่อผู้ดูแลระบบ

และข้อผิดพลาดต่อไปนี้ถูกบันทึกไว้ใน web.log ของ SonarQube

2022.03.09 10:44:26 WARN web[AX9qdufcVwzEhwilAADF][o.s.s.a.AuthenticationError] ไม่สามารถเรียกข้อมูล IdentityProvider สำหรับคีย์ 'saml2' java.lang.IllegalArgumentException: ไม่มีผู้ให้บริการข้อมูลประจำตัว saml2 หรือไม่ได้เปิดใช้งาน ที่ org.sonar.server.authentication.IdentityProviderRepository.getEnabledByKey(IdentityProviderRepository.java:54) ที่ org.sonar.server.authentication.AuthenticationFilter.resolveProviderOrHandleResponse(AuthenticationFilter.java:54) ที่ org.sonar.server.authentication.OAuth2CallbackFilter.doFilter(OAuth2CallbackFilter.java:66) ที่ org.sonar.server.platform.web.MasterServletFilter$GodFilterChain.doFilter(MasterServletFilter.java:139) ที่ org.sonar.server.authentication.DefaultAdminCredentialsVerifierFilter.doFilter(DefaultAdminCredentialsVerifierFilter.java:89) ที่ org.sonar.server.platform.web.MasterServletFilter$GodFilterChain.doFilter(MasterServletFilter.java:139) ที่ org.sonar.server.plugins.PluginsRiskConsentFilter.doFilter (PluginsRiskConsentFilter.java:77) ที่ org.sonar.server.platform.web.MasterServletFilter$GodFilterChain.doFilter(MasterServletFilter.java:139) ที่ org.sonar.server.platform.web.MasterServletFilter.doFilter(MasterServletFilter.java:108) ที่ org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:194) ที่ org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:167) ที่ org.sonar.server.platform.web.UserSessionFilter.doFilter(UserSessionFilter.java:81) ที่ org.sonar.server.platform.web.UserSessionFilter.doFilter(UserSessionFilter.java:68) ที่ org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:194) ที่ org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:167) ที่ org.sonar.server.platform.web.CacheControlFilter.doFilter(CacheControlFilter.java:76) ที่ org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:194) ที่ org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:167) ที่ org.sonar.server.platform.web.SecurityServletFilter.doHttpFilter(SecurityServletFilter.java:76) ที่ org.sonar.server.platform.web.SecurityServletFilter.doFilter(SecurityServletFilter.java:48) ที่ org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:194) ที่ org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:167) ที่ org.sonar.server.platform.web.RedirectFilter.doFilter(RedirectFilter.java:58) ที่ org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:194) ที่ org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:167) ที่ org.sonar.server.platform.web.RequestIdFilter.doFilter(RequestIdFilter.java:66) ที่ org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:194) ที่ org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:167) ที่ org.sonar.server.platform.web.RootFilter.doFilter(RootFilter.java:62) ที่ org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:194) ที่ org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:167) ที่ org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109) ที่ org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:194) ที่ org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:167) ที่ org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:202) ที่ org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ที่ org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:544) ที่ org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:143) ที่ ch.qos.logback.access.tomcat.LogbackValve.invoke(LogbackValve.java:256) ที่ org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:81) ที่ org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ที่ org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:364) ที่ org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:624) ที่ org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ที่ org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:831) ที่ org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1651) ที่ org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ที่ java.base/java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1128) ที่ java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ที่ org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ที่ java.base/java.lang.Thread.run(Thread.java:829)

ฉันได้ตรวจสอบการรับส่งข้อมูล SAML และนี่คือสิ่งที่แสดง:

â¬â¹<samlp:AuthnRequest AssertionConsumerServiceURL="https://ComapnyDomain.org/oauth2/callback/saml" ปลายทาง = "https://CompanyDomain.org/oauth2/callback/saml2" ID="ONELOGIN_masked" IssueInstant="2022-03-09T08:45:23Z" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" เวอร์ชัน="2.0" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:samlp="urn:oasis:ชื่อ:tc:SAML:2.0:protocol"> saml:Issuerhttps://CompanyDomain.org</saml:Issuer><samlp:NameIDPolicy AllowCreate="true" Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"/></samlp:AuthnRequest>

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา