Entra External ID Administration
Administrator Guide for Power Pages Integration
Table of Contents
1. Introduction and Objective
Objective
This document describes the administrative tasks involved in managing Entra External ID (formerly Azure AD B2C)[1] for integration with Microsoft Power Pages. It clearly distinguishes between one-time setup tasks and ongoing maintenance work.
Initial Setup
Monitoring
Prerequisites
| Category | Prerequisite | Required |
|---|---|---|
| Azure Access | Azure subscription with active subscription | Yes |
| Permissions | Global Administrator or Identity Administrator[4] | Yes |
| Licensing | Entra External ID license (MAU-based)[5] | Yes |
| Power Pages | Power Pages environment with admin access[6] | Yes |
| Domain | Custom domain for custom branding (optional) | No |
2. Overview: One-Time vs. Recurring Tasks
One-Time Setup Tasks
These tasks are performed once during initial setup:
3. One-Time Setup Tasks
Create a dedicated External ID tenant for portal authentication.[7]
- In the Azure Portal, navigate to: Microsoft Entra ID > External Identities
- Click "Create a new tenant"
- Select tenant type: "External"
- Assign a tenant name (e.g.,
portalauth) - Select a region (recommended: EU region for GDPR compliance)[15]
- Assign a subscription and create
- Tenant Name: Should reflect the purpose (e.g., "PortalAuth")
- Initial Domain:
[name].onmicrosoft.comis created automatically - Pricing Tier: MAU-based (Monthly Active Users)[5]
Register an application for OAuth2/OIDC integration with Power Pages.[8]
- In the Entra External ID tenant, navigate to: App registrations > New registration
- Enter a name:
PowerPages-Portal - Supported account types: "Accounts in this organizational directory only"
- Add redirect URI:
https://[portalname].powerappsportals.com/signin-[provider]
- Complete registration
- In the app registration: Certificates & secrets > New client secret
- Enter a description:
PowerPages-Integration - Validity: 12 months (recommended)[14]
- Note the Secret Value immediately! (shown only once)
- Navigate to: API permissions > Add a permission
- Select Microsoft Graph
- Add delegated permissions:[16]
openidprofileemailUser.Read
- Grant admin consent
Configure the user flows for registration, sign-in, and profile management.[9]
- Navigate to: User flows > New user flow
- Flow-Typ: "Sign up and sign in"
- Version: Recommended
- Enter a name:
B2C_1_signupsignin - Enable identity providers:
- ✓ Email signup (recommended)
- Optional: Social Identity Providers (Google, Microsoft, etc.)[18]
Define which data is collected during registration:[19]
| Attribute | Collect | Return | Required |
|---|---|---|---|
| Email Address | ✓ | ✓ | Yes |
| Given Name | ✓ | ✓ | Yes |
| Surname | ✓ | ✓ | Yes |
| Display Name | ✓ | ✓ | No |
| Object ID | - | ✓ | - |
- Navigate to: User flows > New user flow
- Flow type: "Password reset"
- Name:
B2C_1_passwordreset - Enable email verification
- Configure return claims (email, objectId)
Customize the appearance of authentication pages to match your corporate design.[10]
- In the user flow, navigate to: Page layouts > Customize
- Select a template or upload custom HTML
- Corporate branding elements:
- Logo (recommended: 280x60 px, PNG/SVG)
- Background Image (optional)
- Brand colors (primary, secondary)
- Custom CSS for advanced customization
- Configure languages (German, English, etc.)[20]
- Save and test changes
Configure MFA policies for enhanced security.[11]
- In the user flow, navigate to: Properties > Multifactor authentication
- Select MFA type:
- Email OTP: Simplest method
- SMS: Requires phone number attribute
- Authenticator App: TOTP-based (highest security)
- MFA enforcement:
- Off: MFA disabled
- Always on: MFA for all users (recommended)
- Conditional: MFA based on risk (requires Premium)[22]
Link Entra External ID as an identity provider to your Power Pages portal.[12]
- In the Power Pages Admin Center: Security > Identity providers
- Click "Add provider"
- Provider Type: "OpenID Connect"
- Enter configuration:
- Name:
Entra External ID - Authority: [siehe oben]
- Client ID: [siehe oben]
- Client Secret: [siehe oben]
- Redirect URI:
https://[portal].powerappsportals.com/signin-oidc
- Name:
- Configure mapping (Email → Email, Name → Full Name)
- Save and activate
Perform comprehensive testing before going live.
- Registration: Create a new user and verify email verification
- Login: Sign in with the newly created account
- Password Reset: Complete the password reset flow
- MFA: Test multi-factor authentication (if enabled)
- Token Claims: Verify that all required claims are included in the token[23]
- Logout: Test sign-out (single sign-out)
- Error Handling: Test incorrect credentials, expired tokens, etc.
4. Recurring Maintenance Tasks
Monitor authentication activity for anomalies and errors.[13]
- In the Entra Portal: Monitoring > Sign-in logs
- Set filters:
- Time range: Last 24 hours
- Status: Failed
- Application: PowerPages-Portal
- Review anomalies (e.g., multiple failed logins from the same IP)
- Failed Sign-ins: Should be < 5%
- MAU (Monthly Active Users): For cost tracking[5]
- Sign-in Duration: Performance indicator
- MFA Success Rate: If MFA is enabled
Identify and deactivate user accounts that have not been used for an extended period.
- In the Entra Portal: Users > All users
- Filter: Last sign-in > 90 days[25]
- Export the list and align with the department
- Deactivate accounts (do not delete!):
- Select user
- Properties > Account enabled: No
- Update documentation
Renew client secrets regularly to comply with security best practices.[14]
- Create a new client secret (see 3.2)
- Keep both secrets active in parallel
- Update Power Pages configuration to use the new secret
- Test (sign-in, sign-up)
- Delete old secret after 48h
- Document the action
Monitor monthly active users (MAU) and associated costs.[5]
- Pricing Model: Entra External ID is billed per MAU
- Free Tier: First 50,000 MAU/month free[5]
- Paid Tier: Approx. €0.00325 per MAU beyond that[5]
- In the Azure Portal: Cost Management > Cost analysis[26]
- Filter on Entra External ID resource
- Trend analysis: MAU development over the past 3 months
- Configure budget alerts (optional)
Regularly check for available updates and security patches.
5. Monitoring and Troubleshooting
5.1 Dashboard Metrics
| Metric | Normal Value | Alert Value | Action |
|---|---|---|---|
| Failed Sign-ins | < 5% | > 10% | Review sign-in logs, test user flow |
| Sign-in Duration | < 3s | > 10s | Performance analysis, Azure support |
| Token Errors | < 1% | > 5% | Check token configuration, validate claims |
| MAU Growth | Steady | Sudden Spike | Check for bot activity, cost alert |
5.2 Common Errors and Solutions
AADB2C90118: User forgot password[31]
Cause: User clicked "Forgot password?"
Solution: This is normal behavior. Ensure the password reset flow is correctly configured.
AADB2C90091: User cancelled flow[31]
Cause: User cancelled the registration or login process
Solution: Review the user flow design for usability issues. A high drop-off rate may indicate UX problems.
Invalid Client Secret
Cause: Client secret has expired or is incorrectly configured
Solution: Create a new client secret and update it in Power Pages (see 4.3).
Redirect URI mismatch
Cause: Redirect URI in the app registration does not match Power Pages
Solution: Align URIs and ensure they match exactly (including trailing slash).
6. Best Practices and Security
6.1 Security Best Practices
1. Principle of Least Privilege[32]
Grant only the minimum necessary permissions to service accounts and administrators. Use dedicated admin accounts, not personal ones.
2. Conditional Access Policies[22]
Use Conditional Access (premium feature) for risk-based MFA and location-based access control. Block sign-ins from high-risk countries.
3. Client Secret Management[14]
Never store secrets in code or configuration files. Use Azure Key Vault.[17] Rotate secrets every 6–12 months. Document all secret changes.
4. Audit Logging[13]
Enable comprehensive audit logging and retain logs for at least 90 days.[33] Regularly export logs to SIEM systems for long-term retention.
5. Regular Security Reviews
Conduct quarterly security reviews. Check: active permissions, MFA adoption rate, failed sign-in patterns, inactive accounts.
6.2 Performance Optimization
Enable Token Caching
Configure token caching in Power Pages to reduce latency and minimize round-trips to Entra ID.[34]
Minimize Claims
Reduce token size by minimizing claims. Only request user attributes that are actually needed.[23]
CDN for Custom Pages
Host custom branding assets (logo, CSS) on a CDN for faster load times globally.
6.3 Compliance and Data Protection
Data Residency[35]
Select an Azure region based on compliance requirements. EU data should remain in EU regions (West Europe, North Europe).
User Consent Management
Implement clear consent flows for data collection. Document all data collected and its purpose. Enable easy opt-out.