Authorization API Setup
This guide covers creating the Microsoft Entra ID app registration for the Authorization API service.
Overview
The Authorization API handles role-based access control (RBAC) for FoundationaLLM resources.
| App Registration | Purpose | Type |
|---|---|---|
| FoundationaLLM-Authorization-API | Authorization service authentication | API |
Create the API Application
Step 1: Register the Application
- Sign in to Microsoft Entra admin center
- Navigate to Identity > Applications > App registrations
- Click + New registration
- Configure:
- Name:
FoundationaLLM-Authorization-API - Supported account types: Accounts in this organizational directory only
- Name:
- Click Register
- Record the Application (client) ID and Directory (tenant) ID
Step 2: Expose an API
Under Manage, select Expose an API
Click Add a scope
Set Application ID URI:
api://FoundationaLLM-AuthorizationClick Save and continue
Configure scope:
Field Value Scope name Authorization.ManageWho can consent? Admins and users Admin consent display name Manage Authorization Admin consent description Allows the app to manage data on behalf of the signed-in user User consent display name Manage data on behalf of the user User consent description Allows the app to manage data on behalf of the signed-in user State Enabled Click Add scope
Record the scope name:
api://FoundationaLLM-Authorization/Authorization.Manage
Step 3: Update Manifest
- Under Manage, select Manifest
- Find
accessTokenAcceptedVersion - Change value to
2 - Click Save
Step 4: Configure Authentication
- Under Manage, select Authentication
- Click Add a platform > Web
- Enter Redirect URI:
http://localhost - Under Implicit grant and hybrid flows:
- Check Access tokens
- Check ID tokens
- Click Configure
Client Secret (For Standard Deployment)
Standard deployments require a client secret:
Step 1: Create Secret
- Under Manage, select Certificates & secrets
- Click + New client secret
- Configure:
- Description:
FoundationaLLM-Authorization - Expires: Select appropriate duration
- Description:
- Click Add
- Record the secret Value immediately (it won't be shown again)
Step 2: Store in Deployment Manifest
For Standard deployments, add to Deployment-Manifest.json:
{
"entraClientSecrets": {
"authorization": "<secret-value>"
}
}
Values to Record
Save these values for configuration:
| Value | Configuration Location |
|---|---|
| Application (client) ID | Deployment Manifest: entraClientIds.authorization |
| Directory (tenant) ID | Used across all configurations |
| Scope | api://FoundationaLLM-Authorization/Authorization.Manage |
| Client Secret | Deployment Manifest: entraClientSecrets.authorization |
App Configuration Keys
After deployment, verify these values:
| Key | Expected Value |
|---|---|
FoundationaLLM:APIs:AuthorizationAPI:APIScope |
api://FoundationaLLM-Authorization |
Next Steps
- Run deployment (
azd up) - Complete Post-Deployment Configuration