Configure Microsoft Azure as Identity Provider
This will allow you to use Microsoft Entra ID to log in to your ReARM instance.
Notes
- It is highly recommended to have your Entra ID users' emails set in Entra ID and to trust those emails to be correct. If you do not have this information set up or do not trust Entra emails, you may set up email verification in ReARM as described below.
- Choose your grouping strategy. You may group users based on your organization structure, i.e. ADMINISTRATORS, DEVELOPERS, QA, LEGAL or based on permissions, i.e.
READ_ONLY,READ_WRITE,ADMINISTRATOR. If you are planning to use ReARM approval workflows, it is recommended to group users based on your organization structure so you can easily map them to approval permissions.
Azure Part
You would need to create Azure Service Principal to register Microsoft as an identity provider. For this, in Azure Portal search, search for
App registrations, click on it and once on theApp registrationspage, click on theNew registrationbutton.Choose a name for your Service Principal, opt for Single Tenancy - "Accounts in this organizational directory only" (default value).
In the 'Redirect URI' section select Web, and paste
https://<your-rearm-url>/kauth/realms/Reliza/broker/entra/endpointas the redirect URI.Click
Register.On the next page - which is the registered Service Principal page, note
Application (client) IDandDirectory (tenant) ID- you will need these values later.Click on the
Authenticationin the menu on the left, setFront-channel logout URLtohttps://<your-rearm-url>/kauth/realms/Reliza/broker/entra/endpoint/logout_response, then check ID tokens checkbox and save.Click on the
Certificates & secretsin the menu on the left, underClient secretstab click on theNew client secret. Enter desired secret description, i.e.ReARM Identity Provider Credential, choose desired expiration timeframe and clickAdd. On the next page, note created secret value - you will need it later.Click on the
Manifestin the menu on the left, and define desired roles inside the"appRoles":[]section via manifest like this (amend roles as desired based on your grouping strategy and generate new uuids for roles instead of samples provided below):
"appRoles": [
{
"allowedMemberTypes": [ "User" ],
"displayName": "ReARM Administrators",
"description": "ReARM and Dependency-Track Administrators",
"id": "3aef8d86-cf12-4f3b-9a72-dbcbe0596854",
"isEnabled": true,
"value": "REARM_ADMINISTRATORS",
"origin": "Application"
},
{
"allowedMemberTypes": [ "User" ],
"displayName": "ReARM Developers",
"description": "Gives organization Read-Write access to ReARM with DEV Approval permissions and Read access to Dependency-Track with permissions to participate in vulnerability and violation triage and audit",
"id": "9da53c67-d18a-48a9-9ae3-6df633e96f43",
"isEnabled": true,
"value": "REARM_DEVELOPERS",
"origin": "Application"
},
{
"allowedMemberTypes": [ "User" ],
"displayName": "ReARM and Dependency-Track QA",
"description": "Gives organization Read-Only access to ReARM with QA Approval permissions and Read-Only access to Dependency-Track",
"id": "aa2c66d0-1fd4-4532-95ba-3695d7c5183d",
"isEnabled": true,
"value": "REARM_QA",
"origin": "Application"
}
]and save the manifest.
- In the Entra admin center or in the Azure portal, navigate to the
Enterprise applicationssection, and find the application you just created. Click on it. OpenUsers and groupsfrom the menu on the left and assign users to roles as desired via clickingAdd user/group.
ReARM Part - Configure Keycloak Groups
- Login to Keycloak with your administrative account by adding /kauth path to your ReARM URI.
- In Keycloak, select Reliza realm.
- Open
Groupssection and create desired groups for your users based on your grouping strategy.
ReARM Part - Registering Microsoft as an Identity Provider
- Continue in Keycloak Reliza realm.
- Open Identity providers section, and add OpenID Connect v1.0.
- Change Alias to
entraand Display Name toEntra ID. - Use
https://login.microsoftonline.com/<tenant-id>/v2.0/.well-known/openid-configurationforDiscovery endpoint(where tenant id is your Azure application tenant id). - Enter your Client ID as noted above in the
Client IDfield. - Enter your Client Secret as noted above in the
Client Secretfield. - Click "Save"
ReARM Part - Configuring Microsoft as an Identity Provider
- Continue in Keycloak Reliza realm.
- Once identity provider is configured, set
Sync modetoForceand setTrust EmailtoOnif your users' emails are set in Entra ID and you trust those emails to be correct. Otherwise, setTrust EmailtoOff. - Make sure your Realm Settings -> Login has
Verify emailenabled and your SMTP email settings are configured. The later setting will ensure that Keycloak verifies the email addresses of your users. - Configure Mappers - for each of your roles, on the
Mapperstab click onAdd mapper, then:- Enter Name based on your role name, in the
Mapper typeselectAdvanced Claim to Group. - Click
Add Claims - In the claim's
Keyenterrolesand in theValueenter your role name based on the manifest you set up. - In the
Groupfield enter desiredKeycloakgroups withch should be mapped to this role. - Click
Save.
- Enter Name based on your role name, in the
ReARM Part - Configure Client Group Mapper
- Continue in Keycloak Reliza realm.
- Open
Clientssection, and selectlogin-appclient. - Click
Client scopestab. - Click on
login-app-dedicated. - In the
Mapperstab, clickConfigure a new mapper. - Choose
Group Membership. - Use
groupsas Name and asToken claim name. - Toggle all selectors to On except
Full group path. - Click
Save.
ReARM Part - Configure Keycloak Group Mapping to ReARM application
- Log in to ReARM as administrative user
- Open the
Organization Settingsview from the left menu. - Open the
User Groupstab. - Create desired User Groups, then set permissions for each group as desired.
- For each groups in SSO groups list, add desired mapped Keycloak groups.
Dependency-Track Part (if using Keycloak for Dependency-Track auth)
- Log in to Dependency-Track as administrative user.
- Open the
Administrationview from the menu on the left. - Click
Access Managementand selectOpenID Connect Groups. - Create groups based on desired Keycloak groups and map them to corresponding Dependency-Track teams.
Optional Other Steps
- In Keycloak, in Reliza realm, open
Realm roles, click ondefault-roles-relizaand removemanage-account- will ensure that users can only use SSO for login.
You should now be able to login to ReARM using your Microsoft identities.
