Prerequisites
Complete prerequisites for deploying the Compliance Dashboard solution.
Licensing Requirements
Required Licenses
| License |
Quantity |
Purpose |
| Power BI Pro |
Per dashboard viewer |
View and interact with dashboard |
| Power BI Premium |
1 capacity (alternative) |
Unlimited viewers, larger datasets |
| Power Platform Premium |
Per flow creator |
Power Automate data collection flows |
| Dataverse capacity |
1 GB minimum |
Compliance data storage |
| Microsoft 365 E5 or E5 Compliance |
1 minimum |
Purview Compliance Manager API access |
Optional Licenses
| License |
Purpose |
| Power BI Premium Per User |
Individual premium features without capacity |
| Dataverse for Teams |
Limited storage if using Teams-based environments |
Permission Requirements
Service Admin Roles
| Role |
Required For |
Minimum Scope |
| Purview Compliance Admin |
Purview Compliance Manager API |
Tenant |
| Power Platform Admin |
Environment and DLP data access |
Tenant |
| Global Reader |
Read-only access to configuration |
Tenant |
| Exchange Online Admin |
Required for the Exchange data collector script (Get-ExchangeComplianceData.ps1) when running interactively |
Tenant |
| Role |
Required For |
Scope |
| System Administrator |
Dataverse table creation |
Environment |
| Environment Maker |
Flow creation |
Environment |
| Application User |
Service principal access to Dataverse Web API (must be created in Power Platform admin center for the app registration below) |
Environment |
Power BI Roles
| Role |
Required For |
| Workspace Admin |
Dashboard deployment |
| Capacity Admin |
Premium capacity assignment (if applicable) |
Service Principal Setup
The data collection flows use a service principal for API access.
Required Permissions
{
"servicePrincipalPermissions": {
"microsoftGraph": [
"ComplianceManager.Read.All",
"Directory.Read.All",
"AuditLog.Read.All",
"User.Read.All",
"Group.Read.All",
"MailboxSettings.Read",
"Mail.Read",
"SecurityAlert.Read.All"
],
"powerPlatform": [
"Environment.Read.All",
"DLP.Read.All"
],
"dynamics365": [
"user_impersonation"
]
}
}
Note: User.Read.All, MailboxSettings.Read, Mail.Read, Group.Read.All, and SecurityAlert.Read.All are required by Get-ExchangeComplianceData.ps1 for license, mailbox-purpose, inactive-mailbox, distribution group, and audit-event signal collection. Grant admin consent after adding.
Registration Steps
- Navigate to Microsoft Entra ID > App registrations
- Click New registration
- Name:
FSI-AgentGov-ComplianceDashboard
- Supported account types: Single tenant
- Click Register
API Permission Configuration
- Go to API permissions > Add a permission
- Add Microsoft Graph permissions:
ComplianceManager.Read.All (Application)
Directory.Read.All (Application)
AuditLog.Read.All (Application)
User.Read.All (Application) — license + UPN enumeration
Group.Read.All (Application) — distribution group counts
MailboxSettings.Read (Application) — mailboxSettings/userPurpose
Mail.Read (Application) — inactive mailbox classification
SecurityAlert.Read.All (Application) — Exchange-related security signals
- Click Grant admin consent
Dataverse Application User
After registering the app, grant it Dataverse access:
- Navigate to Power Platform admin center > target environment > Settings > Users + permissions > Application users
- Click + New app user and select the app registration above
- Assign the System Customizer role (for table reads/writes performed by the dashboard flows) and Basic User for OData access
Client Secret
- Go to Certificates & secrets
- Click New client secret
- Description:
ComplianceDashboard-Secret
- Expiration: 24 months (maximum)
- Store securely in Azure Key Vault
Environment Requirements
Dataverse Environment
| Requirement |
Specification |
| Type |
Production or Sandbox |
| Region |
Same as Power BI tenant |
| Security Group |
Configured for dashboard users |
| Capacity |
Minimum 1 GB available |
Power BI Workspace
| Requirement |
Specification |
| Type |
Pro or Premium workspace |
| License Mode |
Pro (per-user) or Premium (capacity) |
| Region |
Same as Dataverse environment |
Network Requirements
Firewall Allowlist
Ensure the following endpoints are accessible:
| Endpoint |
Purpose |
*.compliance.microsoft.com |
Purview Compliance Manager |
*.api.powerplatform.com |
Power Platform Admin API |
*.crm.dynamics.com |
Dataverse |
*.powerbi.com |
Power BI Service |
graph.microsoft.com |
Microsoft Graph API |
Conditional Access
If Conditional Access policies restrict API access:
- Create exclusion for the service principal
- Or configure compliant device requirement for automation accounts
Dependency Solutions
Required
| Solution |
Minimum Version |
Purpose |
| Environment Lifecycle Management |
v1.1.3 |
Zone classification data |
Optional
| Solution |
Version |
Purpose |
| FINRA Supervision Workflow |
v1.0.1 |
Supervision queue metrics |
| Deny Event Correlation Report |
v2.0.1 |
DLP violation data |
Validation Checklist
Before proceeding with deployment, verify:
Next Steps
Once prerequisites are met:
- Deploy Dataverse Schema
- Configure Power Automate Flows
- Set Up Power BI Dashboard
Compliance Dashboard v1.0.3