Data publikacji: 1 maja 2025 r.
W Chrome 137 zasada izolacji dokumentu to nowa funkcja, która ułatwia stosowanie crossOriginIsolation. W odróżnieniu od zasad COEP (Cross-Origin-Embedder-Policy) zasady izolacji dokumentu są stosowane osobno do każdego elementu i nie nakładają żadnych wymagań na podelementy. Włączenie crossOriginIsolation
, czyli zasady izolacji dokumentu, umożliwia dostęp do zaawansowanych funkcji internetowych, takich jak SharedArrayBuffers czy wątki WebAssembly.
Co to jest izolacja od zasobów z innych domen?
Izolacja między źródłami oznacza wyraźne oddzielenie dokumentu i jego elementów z tego samego źródła w ramach procesu przeglądarki. Zapobiega to grupowaniu dokumentu i potencjalnemu udostępnianiu zasobów lub informacji z dokumentami pochodzącymi z różnych źródeł. Izolacja między domenami osiąga ten cel, zapewniając, że źródło może być ładowane w ramach własnego procesu niezależnie od stanu domyślnej obsługi izolacji witryn lub izolacji między domenami przez silnik przeglądarki. Pomaga to chronić przed atakami spekulatywnego wykonania, takimi jak Spectre.
Co to są zasady izolacji dokumentu?
Zasady izolacji dokumentu zapewniają prostszy sposób implementacji crossOriginIsolation w porównaniu z zasadami COOP (Cross-Origin-Opener-Policy) i COEP (Cross-Origin-Embedder-Policy). Umożliwia izolowanie poszczególnych klatek, co eliminuje potrzebę korzystania z osadzonych ramek iframe do obsługi COEP.
Jak działa zasada izolacji dokumentów
Zasady izolacji dokumentu umożliwiają izolowanie poszczególnych ramek w aplikacji internetowej. Wysyłając nagłówek Document-Isolation-Policy wraz z dokumentem, uzyskujesz dostęp do zaawansowanych funkcji, takich jak SharedArrayBuffers, które są w innym przypadku ograniczone ze względów bezpieczeństwa. W przeciwieństwie do zasad COOP i COEP zasady izolacji dokumentu nie nakładają ograniczeń na strony, z którymi dokument może się komunikować, ani na ramki podrzędne, które może zawierać. Dokumenty z zasadą izolacji dokumentu mogą otwierać wyskakujące okienka z innych domen i komunikować się z nimi. Mogą też zwykłymi metodami umieszczać dowolne tagi iframe.
Zasady izolacji dokumentu, podobnie jak COEP, mają 2 tryby: isolate-and-require-corp
i isolate-and-credentialless
.
Te tryby określają sposób obsługi zasobów podrzędnych z innych domen wczytywanych bez współdzielenia zasobów pomiędzy serwerami z różnych domen (CORS). W trybie isolate-and-require-corp
zasoby z wielu źródeł muszą wyraźnie zadeklarować swoje zasady dotyczące zasobów z wielu źródeł za pomocą nagłówka Cross-Origin-Resource-Policy
. Jeśli tego nie zrobią, zostaną zablokowane. Dzięki temu zasoby są udostępniane celowo. Z drugiej strony tryb isolate-and-credentialless
umożliwia wczytywanie zasobów z innych źródeł bez nagłówków CORS, ale usuwa z żądania wszelkie dane logowania (np. pliki cookie lub uwierzytelnianie HTTP), co powoduje, że zasób jest traktowany jako anonimowy. Ten tryb zapewnia mniej restrykcyjny, ale nadal bezpieczny sposób obsługi zasobów bez CORS.
Ramki iframe wyizolowane za pomocą zasady izolacji dokumentu nie mają synchronicznego dostępu DOM do ramek iframe w tej samej domenie, które nie są wyizolowane. Izolowane iframe mogą jednak nadal komunikować się z nieizolowanymi ramkami za pomocą metod Window w innych domenach, takich jak postMessage. Ponadto zachowują pełny dostęp do interfejsów API pamięci masowej, co umożliwia trwałość danych i udostępnianie w ramach tego samego źródła, nawet przy włączonej izolacji.