Documentisolatiebeleid: schakel eenvoudig krachtige webfuncties in

Camille Lamy
Camille Lamy

Gepubliceerd: 1 mei 2025

Vanaf Chrome 137 is Document Isolation Policy een nieuwe functie die de adoptie van crossOriginIsolation eenvoudiger maakt. In tegenstelling tot COEP ( Cross-Origin-Embedder-Policy ) geldt het Document Isolatiebeleid per frame en stelt geen eisen aan subframes. Door crossOriginIsolation in te schakelen, ontgrendelt Document Isolation Policy toegang tot krachtige webfunctionaliteiten zoals SharedArrayBuffers of WebAssembly-threads .

Wat is cross-origin-isolatie?

Cross-origin-isolatie trekt een stevige grens rond een document en zijn verwanten van dezelfde oorsprong binnen het browserproces. Het voorkomt dat het document wordt gegroepeerd en mogelijk bronnen of informatie deelt met documenten van verschillende oorsprong. Cross-origin-isolatie bereikt dit door ervoor te zorgen dat de oorsprong in zijn eigen proces kan worden geladen, ongeacht de status van de ondersteuning van de onderliggende browserengine voor site-isolatie of standaard cross-origin-isolatie. Dit helpt beschermen tegen speculatieve executieaanvallen , zoals Spectre .

Wat is documentisolatiebeleid?

Documentisolatiebeleid biedt een eenvoudigere manier om crossOriginIsolation te implementeren, vergeleken met COOP ( Cross-Origin-Opener-Policy ) en COEP ( Cross-Origin-Embedder-Policy ). Het maakt isolatie per frame mogelijk, waardoor de noodzaak voor ingebedde iframes ter ondersteuning van COEP wordt geëlimineerd.

Hoe het documentisolatiebeleid werkt

Met Document Isolatiebeleid kunt u specifieke frames binnen hun webapplicaties isoleren. Door een Document-Isolation-Policy-header met uw document mee te sturen, krijgt het document toegang tot krachtige functies zoals SharedArrayBuffers , die anders beperkt zijn vanwege beveiligingsproblemen. In tegenstelling tot COOP en COEP legt het documentisolatiebeleid geen beperkingen op aan pagina's waarmee het document kan communiceren of aan onderliggende frames die het kan insluiten. Documenten met Document Isolatiebeleid kunnen cross-origin pop-ups openen en ermee communiceren. Ze kunnen ook elk iframe normaal insluiten.

Documentisolatiebeleid, vergelijkbaar met COEP , kent twee modi: isolate-and-require-corp en isolate-and-credentialless . Deze modi bepalen hoe cross-origin-subbronnen die worden geladen zonder Cross-Origin Resource Sharing (CORS) worden afgehandeld. In de isolate-and-require-corp modus moeten cross-origin-bronnen expliciet hun cross-origin-resourcebeleid declareren met behulp van de Cross-Origin-Resource-Policy header; zo niet, dan worden ze geblokkeerd. Dit zorgt ervoor dat middelen opzettelijk worden gedeeld. Omgekeerd maakt isolate-and-credentialless -modus het mogelijk dat cross-origin-bronnen worden geladen zonder CORS- headers, maar worden alle inloggegevens (zoals cookies of HTTP-authenticatie) uit het verzoek verwijderd, waardoor de bron effectief wordt behandeld alsof deze anoniem is. Deze modus biedt een minder beperkende maar toch veilige manier om niet-CORS-bronnen te verwerken.

Iframes die zijn geïsoleerd met het documentisolatiebeleid hebben geen synchrone DOM-toegang tot iframes van dezelfde oorsprong die niet geïsoleerd zijn. Deze geïsoleerde iframes kunnen echter nog steeds communiceren met niet-geïsoleerde frames met behulp van cross-origin Window- methoden zoals postMessage . Bovendien behouden ze volledige toegang tot opslag-API's, waardoor gegevenspersistentie en delen binnen dezelfde oorsprong mogelijk is, zelfs als isolatie is ingeschakeld.