Política de aislamiento de documentos: Habilita funciones web potentes con facilidad

Camille Lamy
Camille Lamy

Fecha de publicación: 1 de mayo de 2025

A partir de Chrome 137, la política de aislamiento de documentos es una nueva función que facilita la adopción de crossOriginIsolation. A diferencia de la COEP (Cross-Origin-Embedder-Policy), la política de aislamiento de documentos se aplica por marco y no requiere submarcos. Cuando se habilita crossOriginIsolation, la política de aislamiento de documentos desbloquea el acceso a funciones web potentes, como SharedArrayBuffers o subprocesos de WebAssembly.

¿Qué es el aislamiento de origen cruzado?

El aislamiento de origen cruzado establece un límite firme alrededor de un documento y sus elementos relacionados del mismo origen dentro del proceso del navegador. Evita que el documento se agrupe y, posiblemente, comparta recursos o información con documentos de diferentes orígenes. El aislamiento de origen cruzado logra esto asegurándose de que el origen se pueda cargar en su propio proceso, independientemente del estado de la compatibilidad del motor de navegador subyacente con el aislamiento de sitios o el aislamiento de origen cruzado de forma predeterminada. Esto ayuda a proteger contra ataques de ejecución especulativa, como Spectre.

¿Qué es la política de aislamiento de documentos?

La política de aislamiento de documentos proporciona una forma más directa de implementar crossOriginIsolation en comparación con COOP (Cross-Origin-Opener-Policy) y COEP (Cross-Origin-Embedder-Policy). Permite el aislamiento por fotograma, lo que elimina la necesidad de iframes incorporados para admitir COEP.

Cómo funciona la política de aislamiento de documentos

La política de aislamiento de documentos te permite aislar marcos específicos dentro de sus aplicaciones web. Cuando envías un encabezado Document-Isolation-Policy con tu documento, este obtiene acceso a funciones potentes, como SharedArrayBuffers, que de otro modo están restringidas por motivos de seguridad. A diferencia de COOP y COEP, la política de aislamiento de documentos no impone restricciones en las páginas con las que el documento puede comunicarse ni en los marcos secundarios que puede incorporar. Los documentos con la política de aislamiento de documentos pueden abrir ventanas emergentes de origen cruzado y comunicarse con ellas. También pueden incorporar cualquier iframe de forma normal.

La política de aislamiento de documentos, similar a la COEP, tiene dos modos: isolate-and-require-corp y isolate-and-credentialless. Estos modos regulan cómo se controlan los subrecursos de origen cruzado cargados sin el uso compartido de recursos entre dominios (CORS). En el modo isolate-and-require-corp, los recursos de origen cruzado deben declarar explícitamente su política de recursos de origen cruzado con el encabezado Cross-Origin-Resource-Policy. De lo contrario, se bloquean. Esto garantiza que los recursos se compartan de forma intentional. Por el contrario, el modo isolate-and-credentialless permite que se carguen recursos entre dominios sin encabezados CORS, pero quita las credenciales (como las cookies o la autenticación HTTP) de la solicitud, lo que trata el recurso como si fuera anónimo. Este modo proporciona una forma menos restrictiva, pero igualmente segura, de controlar recursos que no son de CORS.

Los iframes aislados con la política de aislamiento de documentos no tienen acceso síncrono de DOM a iframes del mismo origen que no están aislados. Sin embargo, estos iframes aislados aún pueden comunicarse con marcos no aislados mediante métodos de Window de origen cruzado, como postMessage. Además, retienen el acceso completo a las APIs de almacenamiento, lo que permite la persistencia y el uso compartido de datos dentro del mismo origen, incluso con el aislamiento habilitado.