Règle d'isolation des documents: activez facilement des fonctionnalités Web puissantes

Camille Lamy
Camille Lamy

Publié le 1er mai 2025

À partir de Chrome 137, la règle d'isolation des documents est une nouvelle fonctionnalité qui facilite l'adoption de crossOriginIsolation. Contrairement au COEP (Cross-Origin-Embedder-Policy), la règle d'isolation des documents s'applique par frame et n'impose aucune exigence aux sous-frames. En activant crossOriginIsolation, la règle d'isolation des documents permet d'accéder à de puissantes fonctionnalités Web telles que les SharedArrayBuffers ou les threads WebAssembly.

Qu'est-ce que l'isolation multi-origine ?

L'isolation inter-origines établit une limite stricte autour d'un document et de ses éléments de même origine dans le processus du navigateur. Cela empêche le document d'être regroupé et de partager des ressources ou des informations avec des documents d'origines différentes. L'isolation multi-origine permet d'y parvenir en s'assurant que l'origine peut être chargée dans son propre processus, quel que soit l'état de la prise en charge par le moteur de navigateur sous-jacent de l'isolation de site ou de l'isolation multi-origine par défaut. Cela permet de protéger contre les attaques par exécution spéculative, telles que Spectre.

Qu'est-ce que la règle d'isolation des documents ?

La règle d'isolation des documents permet d'implémenter plus facilement crossOriginIsolation que COOP (Cross-Origin-Opener-Policy) et COEP (Cross-Origin-Embedder-Policy). Il permet une isolation par frame, ce qui élimine le besoin d'iFrames intégrés pour prendre en charge COEP.

Fonctionnement de la règle d'isolation des documents

La stratégie d'isolation des documents vous permet d'isoler des cadres spécifiques dans vos applications Web. En envoyant un en-tête Document-Isolation-Policy avec votre document, celui-ci accède à des fonctionnalités puissantes telles que les SharedArrayBuffers, qui sont autrement limitées pour des raisons de sécurité. Contrairement à COOP et COEP, la règle d'isolation des documents n'impose pas de restrictions sur les pages avec lesquelles le document peut communiquer ni sur les cadres enfants qu'il peut intégrer. Les documents avec une règle d'isolation des documents peuvent ouvrir des pop-ups multi-origines et communiquer avec eux. Ils peuvent également intégrer n'importe quel iframe normalement.

La règle d'isolation des documents, semblable à la règle COOP, comporte deux modes: isolate-and-require-corp et isolate-and-credentialless. Ces modes régissent la gestion des sous-ressources multi-origines chargées sans partage des ressources entre origines multiples (CORS). En mode isolate-and-require-corp, les ressources multi-origines doivent déclarer explicitement leur règle pour les ressources multi-origines à l'aide de l'en-tête Cross-Origin-Resource-Policy. Sinon, elles sont bloquées. Cela garantit que les ressources sont partagées intentionnellement. À l'inverse, le mode isolate-and-credentialless permet de charger des ressources inter-origines sans en-têtes CORS, mais supprime tous les identifiants (comme les cookies ou l'authentification HTTP) de la requête, traitant ainsi la ressource comme si elle était anonyme. Ce mode offre un moyen moins restrictif, mais tout de même sécurisé, de gérer les ressources non CORS.

Les iFrames isolées avec la règle d'isolation de document n'ont pas d'accès DOM synchrone aux iFrames de même origine qui ne sont pas isolées. Toutefois, ces iFrames isolées peuvent toujours communiquer avec des cadres non isolés à l'aide de méthodes Window multi-origines telles que postMessage. De plus, elles conservent un accès complet aux API de stockage, ce qui permet de conserver et de partager des données dans la même origine, même si l'isolation est activée.