SAML Single Sign On (SSO) into SonarQube using Azure AD
SonarQube SAML plugin gives the ability to enable SAML Single Sign On for the SonarQube. Here we will go through a guide to configure SSO between SonarQube and Azure AD. By the end of this guide, Azure AD users should be able to log in and register to the SonarQube Server.
You can refer the steps from the video or documentation below to configure your IDP with SonarQube.
Step 1: Setup Microsoft Entra ID (Previously known as Azure AD)
as Identity Provider
Prerequisites:
Copy these values from the Service Provider Info tab of the Plugin
.
SP Entity ID
ACS URL
Instructions:
Note: Enterprise app configuration is the recommended option for
SAML . If you do not have Azure subscription or using free account please setup App
Registration Configuration.
To perform Single Logout using Microsoft Entra ID (Previously known as Azure AD), the Atlassian instance (E.g. Jira,Confluence)
must be https enabled.
Select ⇒ and Azure Active Directory ⇒ Enterprise
Applications.
Click on Create your own application. Then enter the name for your app, select the
Integrate any other application you don't find in the gallerycheckbox and click
on Create button
Click on Set up Single sign-on.
The next screen presents the options for configuring single sign-on. Click on SAML.
Edit the option 1 :Basic SAML Configuration to configure plugin endpoints.
Enter the SP Entity ID for Identifier and the ACS
URL for Reply URL from Service Provider Info tab of the
plugin.
Click on Save icon.
By default, the following Attributes will be sent in the SAML token. You can view or edit
the claims sent in the SAML token to the application under the User Attributes &
Claims tab.
You can add attribute using Add new claim
You can add group attribute claim using Add a group claim
Copy App Federation Metadata Url from setup tab.
Click on User and groups from the applications left-hand navigation menu. The next screen
presents the options for assigning the users/groups to the application.
Select ⇒ Azure Active Directory ⇒ App
Registrations. Click on New Application Registration.
Assign a Name and choose the account type. In the Redirect URI field, provide the ACS URL
provided in Service Provider Info tab of the plugin and click on
Register button.
Now, navigate to Expose an API menu option and click the Set button and
replace the APPLICATION ID URI with the plugin's SP Entity ID
By default, some Attributes will be sent in the SAML token. If you're not getting group information. Then, add
Token configuration for Group information.
Click on Add groups claim
Copy the Federation Metadata URL given below. Replace the '{tenant_ID}' part with your
Directory/Tenant ID. This will be required while configuring the SAML plugin.
In order to map attributes from the Identity Provider to the application, the attribute names received in the SAML response need to be entered in their corresponding fields.
To view these attribute names, click on the Test Configuration tab in the plugin support page.
Attributes used in SonarQube Application are described briefly as below:
Login Attribute is a unique name assigned to the user to identify them uniquely within the SonarQube system. It's a required attribute.
Name Attribute is the full name of the user, to be mapped from the IdP to the SonarQube. It's a required attribute.
Email Attribute is an optional attribute and represents an email address of the user, to be mapped from the IdP to the SonarQube.
Group Attribute mapping requires the group names, in the application, to be same as the group names in the Identity Provider. Otherwise, the default SonarQube Group is assigned to the user.
Eg. To map group value Everyone from SAML response we have to paste groupName in Group Attribute field [Refer with above image].