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 registrations
page, click on theNew registration
button.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/endpoint
as the redirect URI.Click
Register
.On the next page - which is the registered Service Principal page, note
Application (client) ID
andDirectory (tenant) ID
- you will need these values later.Click on the
Authentication
in the menu on the left, setFront-channel logout URL
tohttps://<your-rearm-url>/kauth/realms/Reliza/broker/entra/endpoint/logout_response
, then check ID tokens checkbox and save.Click on the
Certificates & secrets
in the menu on the left, underClient secrets
tab 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
Manifest
in 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 applications
section, and find the application you just created. Click on it. OpenUsers and groups
from 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
Groups
section 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
entra
and Display Name toEntra ID
. - Use
https://login.microsoftonline.com/<tenant-id>/v2.0/.well-known/openid-configuration
forDiscovery endpoint
(where tenant id is your Azure application tenant id). - Enter your Client ID as noted above in the
Client ID
field. - Enter your Client Secret as noted above in the
Client Secret
field. - Click "Save"
ReARM Part - Configuring Microsoft as an Identity Provider
- Continue in Keycloak Reliza realm.
- Once identity provider is configured, set
Sync mode
toForce
and setTrust Email
toOn
if your users' emails are set in Entra ID and you trust those emails to be correct. Otherwise, setTrust Email
toOff
. - Make sure your Realm Settings -> Login has
Verify email
enabled 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
Mappers
tab click onAdd mapper
, then:- Enter Name based on your role name, in the
Mapper type
selectAdvanced Claim to Group
. - Click
Add Claims
- In the claim's
Key
enterroles
and in theValue
enter your role name based on the manifest you set up. - In the
Group
field enter desiredKeycloak
groups 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
Clients
section, and selectlogin-app
client. - Click
Client scopes
tab. - Click on
login-app-dedicated
. - In the
Mappers
tab, clickConfigure a new mapper
. - Choose
Group Membership
. - Use
groups
as 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 Settings
view from the left menu. - Open the
User Groups
tab. - 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
Administration
view from the menu on the left. - Click
Access Management
and 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-reliza
and 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.