Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This article describes how you can enable additional iFrame attributes for your editor.
Prerequisite
When you enable sandbox relaxation in your manifest, the following happens:
AAD Consent Scopes: Your workload requests two scopes:
- Basic Fabric scope - The standard scope required for any workload to function
- Fabric relaxation scope - Another scope specifically for sandbox relaxation capabilities
User Consent Flow: When a user first accesses your workload with sandbox relaxation enabled, they're prompted to consent to both scopes. If they deny, the iFrame won't load.
Additional iFrame Capabilities: Once consent is granted, your iFrames receive these other sandbox attributes:
allow-downloads- Enables file downloads from your workloadallow-forms- Enables form submissions to external servicesallow-popups- Enables opening new windows or tabs
Default sandbox (without relaxation):
allow-same-origin allow-scriptsRelaxed sandbox (with consent):allow-same-origin allow-scripts allow-downloads allow-forms allow-popups
Best practices
Only request sandbox relaxation if necessary, since each relaxed permission introduces potential security risks.
Enable in manifest
Add the enableSandboxRelaxation setting to your workload manifest:
<RemoteServiceConfiguration>
<CloudServiceConfiguration>
<Cloud>Public</Cloud>
<AADFEApp>
<AppId>0000000-0000-0000-0000-000000000000</AppId>
</AADFEApp>
<EnableSandboxRelaxation>true</EnableSandboxRelaxation>
Important
The line <EnableSandboxRelaxation>true</EnableSandboxRelaxation> must be included to enable this feature.
Development mode
For local development, you can use sandbox relaxation and bypass consent using the dev override. Add to devParameters
const devParameters = {
name: process.env.WORKLOAD_NAME,
url: "http://127.0.0.1:60006",
devAADFEAppConfig: {
appId: process.env.DEV_AAD_CONFIG_FE_APPID,
},
devSandboxRelaxation: true
};
Note
The line devSandboxRelaxation: true enables sandbox relaxation in development mode without requiring user consent.