Description
In every Power Platform environment with a Dataverse database, the Privacy + Security
settings enforce Content Security Policy for both app types: Enforce content security policy
is On for Model-driven and for Canvas. The frame-ancestors directive keeps its
default value ('self' https://*.powerapps.com) or lists only the approved hosts that embed the
apps (Teams, Outlook, Power BI, intranet).
Rationale
An enforced CSP header tells the browser which origins may frame the app and load resources. Without it, a malicious site can embed a Power App in a hidden frame and trick users into clicking (clickjacking), and injected content is not constrained by the browser. Turning on enforcement is a low-cost, platform-provided layer of defense.
Impact
Apps embedded in hosts not listed in frame-ancestors stop loading in those hosts. Strict mode
can block custom scripts or resources loaded from other origins. Enable reporting with an
endpoint first (report-only mode), enforce on a test environment, then in production once no
violation is reported. Environments without Dataverse are out of scope.
Audit
- Sign in to the Power Platform admin center (https://admin.powerplatform.microsoft.com) as at least a Global Reader, or as an environment admin of each environment.
- Browse to Manage > Environments and, for each environment with Dataverse, select it, then Settings > Product > Privacy + Security.
- Under Content security policy, check on both the Model-driven and Canvas pivots
that Enforce content security policy is On, and review the
frame-ancestorssources. - Alternative, read only: Dataverse Web API
GET https://<org>.crm.dynamics.com/api/data/v9.2/organizations?$select=iscontentsecuritypolicyenabled,iscontentsecuritypolicyenabledforcanvas,contentsecuritypolicyconfigurationwith a user who can read the organization table. - Fail if enforcement is off for either app type in any Dataverse environment, or if
frame-ancestorscontains a wildcard host.
Remediation
- For each Dataverse environment, browse to Manage > Environments > select it > Settings > Product > Privacy + Security. Role: Power Platform Administrator, or System Administrator of the environment.
- Turn on Enable reporting with a reporting endpoint, and leave enforcement off for a few days to collect violations (report-only mode).
- Add the legitimate embedding hosts to
frame-ancestors(for examplehttps://teams.microsoft.com/for Teams integration). - Turn on Enforce content security policy on the Model-driven pivot, then on the Canvas pivot, starting with test environments.
- Equivalent: set the organization columns
iscontentsecuritypolicyenabledandiscontentsecuritypolicyenabledforcanvastotruethrough the Dataverse Web API.
Rollback
Turn Enforce content security policy off for the affected app type; keep reporting on.
References
- Content security policy Microsoft, vendor-doc, accessed 2026-10-24
- CISA SCuBA Power Platform baseline CISA, standard, accessed 2026-10-24
Mappings
| Framework | ID | Relation |
|---|---|---|
| NIST SP 800-53 Rev. 55.1.1 | SI-10 | related |
| NIST SP 800-53 Rev. 55.1.1 | SC-18 | related |
| CISA SCuBA Microsoft 365 Secure Configuration Baselines2.0.0 | MS.POWERPLATFORM.4.1v1 | equivalent |
How this control relates to the other framework's: equivalent, stricter, looser, partial or related.
Threats mitigated
| Taxonomy | ID |
|---|---|
| MITRE ATT&CK | T1189 |
People and lifecycle
| Authors |
|
| Introduced in | v0.1.0 |
| Created, updated | 2026-10-24, 2026-10-24 |
| Translations | fr |