Deployment in Azure with Microsoft Entra ID
This document assumes the use of the following:
- Cloud provider: Microsoft Azure
- Kubernetes service: Azure Kubernetes Service (AKS)
- Ingress Controller: Application Gateway Ingress Controller (AGIC)
- Identity Provider (IdP): Microsoft Entra ID
- (Optional) cert-manager (to manage TLS certificates)
- (Optional) ExternalDNS (to synchronize ingresses with the DNS service)
Configuring Patronus AI to use Microsoft Entra ID as an Identity Provider
Configuring Entra ID
-
Go to Microsoft Entra, expand Entra ID and select App registrations.
-
Click on New registration, fill in the app name, select the account type (you can leave the default one), and add the redirect URI by selecting Web as a platform and add the following URIs:
- https://<PATRONUS_APP_HOST>
- https://<PATRONUS_APP_HOST>/oauth2/auth
For example:
-
Click on Register button.
-
After successfully registered the app, go back to it by going to App registrations, select the new app and then select Authentication. Fill up the Front-channel logout URL with the following:
- https://<PATRONUS_APP_HOST>/api/auth/logout
For example:
-
In the Implicit grant and hybrid flows section, select the ID tokens (used for implicit and hybrid flows) option.
-
Then go to Certificates & secrets and click on New client secret. Put a description, select the expire time and click on Add button. Copy the value of this secret to a secure location.
Configuring the Helm chart
Once you have enabled Entra ID on Azure, configure the values.yaml file with these values and apply the changes:
Configuring Admin Portal
Go to Admin Portal. In Accounts, create a new one with the following:
- Account Name:
<ACCOUNT_NAME> - Owner Email:
<YOUR_EMAIL> - Sign In Strategy:
Domain - Sign In Domain:
<YOUR_DOMAIN> - Limits Enabled:
disabled
Then go to System Authentication and add a mapping.
- Account:
<YOUR_NEWLY_CREATED_ACCOUNT> - Claim JSON-path:
$.aud[*] - Match Claim Value:
<CLIENT_ID> - Grant Role:
Owner/Member
Change the Claim JSON-path and Match Claim Value to suit your needs.
External documentation:
- Azure Kubernetes Service (AKS)
- What is Application Gateway Ingress Controller?
- What is Microsoft Entra?
- Vouch configuration example for Entra ID
