Política de isolamento de documentos: ative recursos avançados da Web com facilidade

Camille Lamy
Camille Lamy

Publicado em 1º de maio de 2025

A partir do Chrome 137, a política de isolamento de documentos é um novo recurso que facilita a adoção de crossOriginIsolation. Ao contrário da COEP (Cross-Origin-Embedder-Policy), a política de isolamento de documentos é aplicada por frame e não exige subframes. Ao ativar crossOriginIsolation, a política de isolamento de documentos libera o acesso a funcionalidades avançadas da Web, como SharedArrayBuffers ou threads do WebAssembly.

O que é o isolamento de origem cruzada?

O isolamento entre origens diferentes cria uma fronteira firme em torno de um documento e de documentos relacionados da mesma origem no processo do navegador. Isso impede que o documento seja agrupado e compartilhe recursos ou informações com documentos de origens diferentes. O isolamento entre origens faz isso garantindo que a origem possa ser carregada no próprio processo, independentemente do status do suporte do mecanismo do navegador subjacente ao isolamento de site ou entre origens por padrão. Isso ajuda a proteger contra ataques de execução especulativa, como o Spectre.

O que é a política de isolamento de documentos?

A política de isolamento de documentos oferece uma maneira mais direta de implementar crossOriginIsolation, quando comparada à COOP (Cross-Origin-Opener-Policy) e à COEP (Cross-Origin-Embedder-Policy). Ele permite o isolamento por frame, eliminando a necessidade de iframes embutidos para oferecer suporte à COEP.

Como a política de isolamento de documentos funciona

A política de isolamento de documentos permite isolar frames específicos nos aplicativos da Web. Ao enviar um cabeçalho "Document-Isolation-Policy" com o documento, ele ganha acesso a recursos poderosos, como SharedArrayBuffers, que são restritos devido a questões de segurança. Ao contrário da COOP e da COEP, a política de isolamento de documentos não impõe restrições às páginas com as quais o documento pode se comunicar ou aos frames filhos que ele pode incorporar. Documentos com a política de isolamento de documentos podem abrir pop-ups entre origens e se comunicar com eles. Eles também podem incorporar qualquer iframe normalmente.

A política de isolamento de documentos, semelhante à COEP, tem dois modos: isolate-and-require-corp e isolate-and-credentialless. Esses modos governam como os subrecursos entre origens carregados sem o compartilhamento de recursos entre origens (CORS, na sigla em inglês) são processados. No modo isolate-and-require-corp, os recursos entre origens precisam declarar explicitamente a política de recursos entre origens usando o cabeçalho Cross-Origin-Resource-Policy. Caso contrário, eles serão bloqueados. Isso garante que os recursos sejam compartilhados intencionalmente. Por outro lado, o modo isolate-and-credentialless permite que recursos de origem cruzada sejam carregados sem cabeçalhos CORS, mas remove todas as credenciais (como cookies ou autenticação HTTP) da solicitação, tratando o recurso como se fosse anônimo. Esse modo oferece uma maneira menos restritiva, mas ainda segura, de processar recursos que não são CORS.

Os iframes isolados com a política de isolamento de documentos não têm acesso DOM síncrono a iframes de mesma origem que não são isolados. No entanto, esses iframes isolados ainda podem se comunicar com frames não isolados usando métodos Window de origem cruzada, como postMessage. Além disso, eles mantêm acesso total às APIs de armazenamento, permitindo a persistência e o compartilhamento de dados na mesma origem, mesmo com o isolamento ativado.