Condividi tramite


Come rilassare l'iFrame

Questo articolo descrive come abilitare attributi iFrame aggiuntivi per l'editor.

Prerequisito

Quando si abilita il relax sandbox nel manifesto, si verifica quanto segue:

  1. Ambiti di consenso AAD: il carico di lavoro richiede due ambiti:

    • Ambito di infrastruttura di base : ambito standard necessario per il funzionamento di qualsiasi carico di lavoro
    • Ambito di rilassamento del fabric - Un altro ambito specifico per le funzionalità di rilassamento della sandbox
  2. Flusso di Consenso Utente: All'accesso iniziale di un utente al carico di lavoro con il rilassamento della sandbox abilitato, viene richiesto di fornire il consenso a entrambi gli scopi. Se negano, l'iFrame non verrà caricato.

  3. Funzionalità iFrame aggiuntive: una volta concesso il consenso, gli iFrame ricevono questi altri attributi sandbox:

    • allow-downloads - Abilita i download di file dal carico di lavoro
    • allow-forms - Consente l'invio di moduli a servizi esterni
    • allow-popups - Abilita l'apertura di nuove finestre o schede

    Sandbox predefinita (senza rilassamento): allow-same-origin allow-scripts Sandbox rilassata (con consenso): allow-same-origin allow-scripts allow-downloads allow-forms allow-popups

Procedure consigliate

Richiedi l'allentamento delle restrizioni della sandbox solo se necessario, poiché ogni autorizzazione rilassata introduce potenziali rischi per la sicurezza.

Abilitare nel manifesto

Aggiungere l'impostazione enableSandboxRelaxation al manifesto del carico di lavoro:

    <RemoteServiceConfiguration>
      <CloudServiceConfiguration>
        <Cloud>Public</Cloud>
        <AADFEApp>
          <AppId>0000000-0000-0000-0000-000000000000</AppId>
        </AADFEApp>
        <EnableSandboxRelaxation>true</EnableSandboxRelaxation>  

Importante

La riga <EnableSandboxRelaxation>true</EnableSandboxRelaxation> deve essere inclusa per abilitare questa funzionalità.

Modalità di sviluppo

Per lo sviluppo locale, è possibile usare il relax sandbox e ignorare il consenso usando l'override di sviluppo. Aggiungi a 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
};

Annotazioni

La linea devSandboxRelaxation: true abilita il relax sandbox in modalità di sviluppo senza richiedere il consenso dell'utente.