Microsoft Entra ID (Azure AD) – SSO & Connector Permissions
Reference Environment: Microsoft Entra Admin Center / Microsoft 365 / Azure Portal (as of late 2026).
Note for administrators: In 2023, Microsoft rebranded Azure Active Directory (Azure AD) to Microsoft Entra ID and introduced the dedicated identity portal https://entra.microsoft.com/. In 2025, the admin center navigation was reorganized: the former Identity node is now labeled Entra ID, and the intermediate Applications level was removed (e.g., app registrations are now located directly under Entra ID → App registrations). If menu names or licensing suites (e.g., Microsoft Entra Suite) evolve in future years, please note that the terminology and navigation paths in this document reflect this snapshot.
This guide provides a comprehensive, step-by-step walkthrough for administrators to set up Single Sign-On (SSO) with Microsoft Entra ID for FSI Server, secure the integration, and manage access to different Source Connectors on FSI Server.
It covers all licensing tiers—from Entra ID Free (the default plan included in Microsoft 365) to Entra ID P1 and Entra ID P2—highlighting the functional differences, workarounds, and best practices.
Portal Selection: Microsoft Entra Admin Center vs. Azure Portal
Microsoft provides two web portals to manage directory identities and app registrations. Both portals connect to the exact same directory (tenant) and share all underlying configuration:
| Feature | Microsoft Entra Admin Center | Microsoft Azure Portal |
|---|---|---|
| URL | https://entra.microsoft.com/ | https://portal.azure.com/ |
| Primary Focus | Identity & Access Management (IAM), governance, protection, and app registrations. | Complete cloud infrastructure (VMs, databases, networks, storage + identity). |
| Recommendation | Recommended for identity and FSI Server administrators (streamlined, focused navigation). | Suitable for administrators already working across Azure infrastructure. |
| Navigation Path | Entra ID → App registrations (until 2025: Identity → Applications → App registrations) | Search: Microsoft Entra ID (formerly Azure Active Directory) → App registrations |
In the following steps, navigation paths refer primarily to the Microsoft Entra Admin Center, with corresponding Azure Portal paths noted where applicable.
License Feature Comparison: Free vs. P1 vs. P2
Depending on your organization's Microsoft 365 / Entra ID plan, different administrative and security capabilities are available:
| Capability | Entra ID Free (No Feature Plan) | Entra ID P1 | Entra ID P2 |
|---|---|---|---|
| OIDC Single Sign-On (FSI Server) | ✅ Supported | ✅ Supported | ✅ Supported |
| Security Groups for Connectors | ✅ Static only | ✅ Static & Dynamic | ✅ Static & Dynamic |
| Dynamic User Groups (e.g., user.department -eq "Marketing") | ❌ Not available (manual assignment) | ✅ Supported (automated membership) | ✅ Supported (automated membership) |
| Enterprise App Assignment (when Assignment required = Yes) | ⚠️ Users only (group assignment disabled) | ✅ Assign Groups | ✅ Assign Groups |
| Token Group Filtering (prevents Group Overage / Token Bloat) | ❌ No (emits all user groups) | ✅ Assigned groups only | ✅ Assigned groups only |
| Conditional Access (enforce MFA & compliant devices for FSI) | ❌ No (global security defaults only) | ✅ Supported (targeted FSI policies) | ✅ Supported (targeted FSI policies) |
| Risk-Based Conditional Access (sign-in and user risk detection) | ❌ No | ❌ No | ✅ Supported (Identity Protection / ML) |
| Privileged Identity Management (PIM) (Just-in-Time access for FSI Admins) | ❌ No | ❌ No | ✅ Supported |
| Access Reviews (periodic recertification of connector access) | ❌ No | ❌ No | ✅ Supported |
Architecture & Data Flow
On FSI Server, digital assets are organized into Source Connectors (such as local storage directories, SAN/NAS shares, or cloud buckets). Access to each connector is governed by FSI Server Groups.
The following diagram illustrates how user attributes in Entra ID map to security groups, pass through the OIDC authorization code flow, and resolve to connector permissions on FSI Server:
Scenario Overview:
| FSI Connector | Purpose | Entra ID Group | Free Plan Setup | P1 / P2 Setup | FSI Permission |
|---|---|---|---|---|---|
marketing-assets | Campaign images, graphics | FSI-Connector-Marketing | Statically assigned users | Dynamic (department -eq "Marketing") | Read, Write, Upload |
product-catalog | E-Commerce product photos | FSI-Connector-Products | Statically assigned users | Dynamic (department -in ["E-Commerce", "Photo"]) | Read Only / Download |
internal-archive | Confidential company archive | FSI-Connector-Archive | Statically assigned users | Static with P2 Access Reviews | Read Only |
| All Connectors | Full server administration | FSI-Administrators | Statically assigned users | P2 PIM (Just-in-Time elevation) | Administrator (Full access) |
Microsoft Entra Admin Center Configuration
Step 1: Create Security Groups for Connectors
In the Microsoft Entra Admin Center, navigate to: 👉 Entra ID → Groups → All groups → New group (In Azure Portal: Microsoft Entra ID → Groups → All groups → New group)
Option A: With Entra ID Free (Static Membership)
- Group type:
Security - Group name: e.g.,
FSI-Connector-Marketing - Membership type:
Assigned - Under Members, manually select the authorized employees.
- Repeat for
FSI-Connector-Products,FSI-Connector-Archive, andFSI-Administrators.
Option B: With Entra ID P1 (Dynamic User Groups)
- Membership type:
Dynamic User - Under Dynamic user members → Add expression:
- Property:
department, Operator:Equals, Value:Marketing(Expression:(user.department -eq "Marketing"))
- Property:
- Benefit: Employees joining or moving to Marketing receive access automatically; access is revoked immediately upon department change.
Option C: With Entra ID P2 (PIM for Admins & Access Reviews)
- For
FSI-Administrators: Set Microsoft Entra roles can be assigned to the group toYes(this option requires at least an Entra ID P1 license). Combined with Privileged Identity Management (PIM) (P2), administrators only activate their privileges upon request with MFA and approval. - For
FSI-Connector-Archive: Schedule quarterly Access Reviews under ID Governance (formerly Identity Governance) to periodically recertify permissions.
Open each created group and copy its Object ID (GUID, e.g., 11111111-aaaa-bbbb-cccc-111111111111). You will need these GUIDs for the groupMapping section in settings.yml.
Step 2: Register the Application
- Navigate to: 👉 Entra ID → App registrations → New registration (until 2025: Identity → Applications → App registrations; in Azure Portal: Microsoft Entra ID → App registrations → New registration)
- Configure the following fields:
- Name:
FSI Server(or e.g.,FSI Server Media Platform). - Supported account types: Select Single tenant only (single-tenant; formerly labeled "Accounts in this organizational directory only").
- Redirect URI:
- Platform dropdown: Web (Important: Do NOT select "Single-page application (SPA)"!).
- URL:
https://<fsi-domain>/fsi/interface/(Example:https://fsi.example.com/fsi/interface/– Ensure the trailing slash/is included!)
- Name:
- Click Register.
FSI Server utilizes the Backend-for-Frontend (BFF) pattern: the browser forwards the temporary authorization code to the Java backend, which exchanges it for tokens server-to-server.
If the platform is registered as a Single-page application (SPA) in Entra ID, Microsoft rejects the server-side code exchange with error AADSTS9002326 when a client secret is provided.
Step 3: Record Tenant and Application IDs
On the application Overview page, record the following values:
- Application (client) ID: e.g.,
00000000-0000-0000-0000-000000000000 - Directory (tenant) ID: e.g.,
11111111-2222-3333-4444-555555555555
Step 4: Configure Authentication & Back-Channel Logout
- In the app menu, select Authentication.
- Under Web, verify the Redirect URI:
https://<fsi-domain>/fsi/interface/. - Under Logout URL:
- Front-channel logout URL: Leave empty.
- Back-channel logout URL: Enter the FSI Server logout endpoint:
https://<fsi-domain>/service/oidc/logout
- Under Implicit grant and hybrid flows:
- Ensure both Access tokens and ID tokens are unchecked (disabled). (FSI Server uses the secure Authorization Code Flow with PKCE and Client Secret).
- Click Save.
Step 5: Create a Client Secret
- In the app menu, navigate to Certificates & secrets → Client secrets tab.
- Click New client secret.
- Description: e.g.,
FSI Server Backend Secret. - Expires: Choose according to company policy (6, 12, 18, or 24 months; e.g., 6 or 24 months).
- Click Add.
- CRITICAL: Copy the string in the Value column immediately (not the Secret ID!). (The plaintext value is only displayed once and will be permanently masked afterwards).
Step 6: Configure Token Group Claims
To inform FSI Server of user group memberships, Entra ID must include them in the ID token.
- Navigate to Token configuration.
- Click Add groups claim.
- Configure the claim based on your license:
| Setting | Entra ID Free | Entra ID P1 / P2 (Recommended) |
|---|---|---|
| Group Selection | Select Security groups. | Select Groups assigned to the application. |
| Group Filtering | Not available: Emits all security groups the user belongs to. | Emits only the security groups explicitly assigned to this application (see Step 7), keeping the token small. |
| Format (ID) | Group ID (Object ID GUID) | Group ID (Object ID GUID) |
| Token Types | ☑ ID | ☑ ID |
If an employee belongs to more than 200 groups (the limit for JWT tokens such as the OIDC ID token; SAML tokens: 150), Entra ID cannot fit all group IDs into the token and triggers the Group Overage Issue (_claim_names).
With P1/P2, enabling Groups assigned to the application ensures only the specific FSI connector groups are emitted, keeping tokens small, fast, and reliable.
- Click Add.
Step 7: Configure Enterprise Application (License Differences)
Navigate to:
👉 Entra ID → Enterprise apps → Select FSI Server.
(until 2025: Identity → Applications → Enterprise applications; in Azure Portal: Microsoft Entra ID → Enterprise applications → FSI Server)
Scenario A: With Entra ID Free (No Feature Plan)
In the Free plan, Microsoft prohibits assigning groups to an Enterprise Application. Group assignment requires an Entra ID P1 or P2 license.
Free plan customers have two viable options:
- Recommended Option for Free (Access Control Managed via FSI Server):
- Under Properties, set Assignment required? to No.
- Click Save.
- Security Model: Any tenant user can initiate login, but FSI Server's
groupMappingonly grants connector permissions to users who belong to the mapped security groups. Users without an assigned group see no connectors (access denied).
- Alternative Option for Free (Manual Per-User Assignment):
- Set Assignment required? to Yes.
- Under Users and groups, add every authorized employee individually as a user.
Scenario B: With Entra ID P1 / P2 (Enterprise Standard)
- Under Properties, set Assignment required? to Yes.
- Any unauthorized tenant user is stopped at the Microsoft login prompt with error
AADSTS50105.
- Any unauthorized tenant user is stopped at the Microsoft login prompt with error
- Under Users and groups → Add user/group, assign the connector security groups:
FSI-Connector-MarketingFSI-Connector-ProductsFSI-Connector-ArchiveFSI-Administrators
Additional P1 / P2 Security Features:
- Conditional Access (P1 / P2):
Under Protection → Conditional Access, create a policy targeting the
FSI ServerCloud App to enforce:- Multi-Factor Authentication (MFA).
- Managed / Compliant devices (Intune compliant or Hybrid Azure AD Joined).
- Risk-Based Protection (P2 only): Automatically block sign-ins or prompt for secure password resets if Microsoft Identity Protection flags a user or session risk.
- PIM & Access Reviews (P2 only): Enforce periodic access recertification for sensitive archive access.
FSI Server Configuration (settings.yml)
Configure the OIDC authentication module in settings.yml (located in the FSI Server configuration directory, e.g., /etc/fsi/fsi-server/config/settings.yml).
The example below shows all parameters, highlighting mandatory settings and default values:
authentication:
authModules:
- type: "oidc" # Mandatory: Module type
enabled: true # Default: true
name: "Microsoft Entra ID (SSO)" # Display label on login button
provider: "entra" # Provider identifier
# 1. Credentials from Entra ID App Registration (Steps 3 & 5)
clientId: "00000000-0000-0000-0000-000000000000" # Mandatory: Application (client) ID
clientSecret: "your-client-secret-value-from-azure" # Mandatory: Client secret value
# 2. Issuer URL (Endpoints are automatically discovered via .well-known/openid-configuration)
# Mandatory: Replace with your Tenant ID; must end with /v2.0
issuerUrl: "https://login.microsoftonline.com/11111111-2222-3333-4444-555555555555/v2.0"
# 3. Redirect URI
# Default: Uses base request URL if omitted.
# Recommendation: Specify explicitly with [IP_ADDRESS] to match Entra ID registration.
redirectUri: "https://[IP_ADDRESS]/fsi/interface/"
# 4. Token Claims
usernameClaim: "preferred_username" # Default: "preferred_username"
groupsClaim: "groups" # Default: "groups"
# 5. User Provisioning & Session Mode
autoProvision: true # Default: true (provisions user upon first SSO login)
# 6. Group Mapping: Map Entra ID Object IDs (GUIDs) to FSI Server Groups
# Note: FSI Server groups must correspond to the group names
groupMapping:
# Full Administrator (Access to server settings & all connectors)
"44444444-dddd-eeee-ffff-444444444444": "administrators"
# Marketing Team (Mapped to marketing connector)
"11111111-aaaa-bbbb-cccc-111111111111": "marketing"
# Products Team (Mapped to product catalog connector)
"22222222-bbbb-cccc-dddd-222222222222": "products"
# Archive Team (Mapped to internal archive connector)
"33333333-cccc-dddd-eeee-333333333333": "archive"
# Optional: File-based XML authentication module as local administrative fallback
- type: "file"
enabled: true
Troubleshooting & Common Issues
| Error Code / Symptom | Potential Root Cause by License Plan | Resolution |
|---|---|---|
AADSTS50011: The reply URL specified... does not match | Applies to all tiers: Mismatch in trailing slash. | Ensure https://<domain>/fsi/interface/ has the exact same trailing slash in both Entra ID and settings.yml. |
AADSTS9002326: Cross-origin token redemption... | Applies to all tiers: Registered as SPA instead of Web. | Under Authentication in Entra ID, delete the SPA configuration and add the Web platform. |
AADSTS50105: ...block users unless they are specifically granted access | Triggered when Assignment required = Yes is active. | With P1/P2: Assign the user's security group under Users and groups. With Free: Either assign the user individually or set Assignment required to No. |
| License error when assigning a group to the Enterprise App | Entra ID Free limitation: Group assignment requires P1 or P2. | Upgrade to P1, assign users individually, or set Assignment required to No (security is enforced by FSI Server's groupMapping). |
Token missing groups (Group overage claim / _claim_names) | User belongs to >200 groups (common in large tenants without P1/P2 filtering). | On P1/P2, configure the group claim to emit Groups assigned to the application. On Free, keep the user's total group count under 200. |
| User logs in successfully but sees no connectors | 1. Group GUID in groupMapping is incorrect.2. Claim groups is missing from ID token.3. FSI Server group name does not match groupMapping. | 1. Cross-reference group GUIDs between Entra ID and settings.yml.2. Verify that the ID token checkbox is selected under Token configuration. 3. Verify group names match between groupMapping and defined group names. |