Политика изоляции документов: легко активируйте мощные веб-функции

Камилла Лами
Camille Lamy

Опубликовано: 1 мая 2025 г.

Из Chrome 137 Document Isolation Policy — это новая функция, которая упрощает внедрение CrossOriginIsolation . В отличие от COEP ( Cross-Origin-Embedder-Policy ), политика изоляции документов применяется к каждому кадру и не предъявляет никаких требований к подкадрам. Включив crossOriginIsolation , Document Isolation Policy открывает доступ к мощным веб-функциям, таким как SharedArrayBuffers или потоки WebAssembly .

Что такое перекрестная изоляция?

Изоляция между источниками устанавливает четкую границу вокруг документа и его родственников того же происхождения в процессе браузера. Это предотвращает группировку документов и потенциальное совместное использование ресурсов или информации с документами из разных источников. Изоляция между источниками достигает этого, гарантируя, что источник может быть загружен в свой собственный процесс, независимо от статуса поддержки базовой браузерной движком изоляции сайта или изоляции между источниками по умолчанию. Это помогает защититься от атак спекулятивного выполнения , таких как Spectre .

Что такое политика изоляции документов?

Политика изоляции документов обеспечивает более простой способ реализации crossOriginIsolation по сравнению с COOP ( Cross-Origin-Opener-Policy ) и COEP ( Cross-Origin-Embedder-Policy ). Он обеспечивает изоляцию для каждого кадра, устраняя необходимость во встроенных iframe для поддержки COEP.

Как работает политика изоляции документов

Политика изоляции документов позволяет изолировать определенные фреймы в веб-приложениях. Отправляя заголовок Document-Isolation-Policy вместе с вашим документом, документ получает доступ к мощным функциям, таким как SharedArrayBuffers , которые в противном случае ограничены из соображений безопасности. В отличие от COOP и COEP , Политика изоляции документов не накладывает ограничений на страницы, с которыми документ может взаимодействовать, или на дочерние фреймы, которые он может встраивать. Документы с политикой изоляции документов могут открывать всплывающие окна из разных источников и взаимодействовать с ними. Они также могут нормально вставлять любой iframe.

Политика изоляции документов, как и COEP , имеет два режима: isolate-and-require-corp и isolate-and-credentialless . Эти режимы управляют тем, как обрабатываются подресурсы из разных источников, загруженные без совместного использования ресурсов из разных источников (CORS). В режиме isolate-and-require-corp ресурсы между источниками должны явно объявлять свою политику ресурсов между источниками, используя заголовок Cross-Origin-Resource-Policy ; в противном случае они блокируются. Это гарантирует намеренное совместное использование ресурсов. И наоборот, режим isolate-and-credentialless позволяет загружать ресурсы из разных источников без заголовков CORS , но удаляет любые учетные данные (например, файлы cookie или аутентификацию HTTP) из запроса, эффективно рассматривая ресурс как если бы он был анонимным. Этот режим обеспечивает менее ограничительный, но все же безопасный способ обработки ресурсов, отличных от CORS.

Iframes, изолированные с помощью политики изоляции документов, не имеют синхронного доступа DOM к iframe того же происхождения, которые не изолированы. Однако эти изолированные iframe по-прежнему могут взаимодействовать с неизолированными фреймами, используя методы Window из разных источников, такие как postMessage . Кроме того, они сохраняют полный доступ к API-интерфейсам хранилища, что обеспечивает сохранение и совместное использование данных в пределах одного источника даже при включенной изоляции.