user-guides

High-Level Technical Implementation Guide

Contoso360 + Keycloak + Azure Service Principal + Power BI/Fabric

This document provides a high-level, non-code implementation plan for enabling external customer authentication via Keycloak and delivering multi-tenant analytics through Contoso360 using an Azure Service Principal to securely access Power BI/Fabric.


1. Establish Identity Model

1.1 Define Authentication Boundaries

1.2 Confirm Identity Separation


2. Configure Keycloak for Customer Authentication

2.1 Create Contoso360 Client in Keycloak

2.2 Enable SSO and Direct Login

2.3 Map Identity Attributes

Ensure Keycloak sends:

Contoso360 uses these attributes for authorization.


3. Implement Authentication Handling in Contoso360

3.1 Accept Keycloak Tokens

3.2 Establish User Session

3.3 Apply Authorization Logic


4. Configure Azure Entra Service Principal

4.1 Create Service Principal

4.2 Generate Credentials

4.3 Enable Power BI Service Principal Access

4.4 Assign Workspace Roles


5. Configure Fabric / Power BI Workspaces

5.1 Decide Tenant Isolation Model

Choose one:

5.2 Upload Reports and Datasets

5.3 Apply RLS (If Using Shared Workspace)


6. Implement Analytics Retrieval in Contoso360

6.1 Detect Request for Analytics

6.2 Authenticate Backend to Power BI

6.3 Return Embed Configuration to UI

UI renders report seamlessly inside Contoso360.


7. Test End-to-End Flow

7.1 Test External Authentication

7.2 Test Workspace Routing

7.3 Test Service Principal Access

7.4 Validate RLS and Permissions


8. Operational Management

8.1 Certificate/Secret Rotation

8.2 Tenant Onboarding Automation

8.3 Logging and Monitoring

8.4 Security Controls


9. Summary

External customers:

Contoso360:

Fabric:

This architecture provides a secure, scalable, multi-tenant analytics delivery model without requiring federation or guest identities.