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
