Kebijakan Isolasi Dokumen: Mengaktifkan fitur web yang canggih dengan mudah

Camille Lamy
Camille Lamy

Dipublikasikan: 1 Mei 2025

Mulai Chrome 137, Kebijakan Isolasi Dokumen adalah fitur baru yang mempermudah adopsi crossOriginIsolation. Tidak seperti COEP (Cross-Origin-Embedder-Policy), Kebijakan Isolasi Dokumen berlaku per frame dan tidak mewajibkan subframe. Dengan mengaktifkan crossOriginIsolation, Kebijakan Isolasi Dokumen akan membuka akses ke fungsi web yang canggih seperti SharedArrayBuffers atau thread WebAssembly.

Apa yang dimaksud dengan isolasi lintas origin?

Isolasi lintas-asal menggambar batas tegas di sekitar dokumen dan relatif asal yang sama dalam proses browser. Hal ini mencegah dokumen dikelompokkan dan berpotensi berbagi resource atau informasi dengan dokumen dari asal yang berbeda. Isolasi lintas origin mencapai hal ini dengan memastikan origin dapat dimuat dalam prosesnya sendiri, terlepas dari status dukungan mesin browser yang mendasarinya untuk isolasi situs atau isolasi lintas origin secara default. Hal ini membantu melindungi dari serangan spekulasi eksekusi, seperti Spectre.

Apa yang dimaksud dengan Kebijakan Isolasi Dokumen?

Kebijakan Isolasi Dokumen memberikan cara yang lebih mudah untuk menerapkan crossOriginIsolation, jika dibandingkan dengan COOP (Cross-Origin-Opener-Policy) dan COEP (Cross-Origin-Embedder-Policy). Hal ini memungkinkan isolasi per frame, sehingga tidak perlu iframe tersemat untuk mendukung COEP.

Cara kerja Kebijakan Isolasi Dokumen

Kebijakan Isolasi Dokumen memungkinkan Anda mengisolasi frame tertentu dalam aplikasi webnya. Dengan mengirimkan header Document-Isolation-Policy bersama dokumen Anda, dokumen akan mendapatkan akses ke fitur canggih seperti SharedArrayBuffers, yang biasanya dibatasi karena masalah keamanan. Tidak seperti COOP dan COEP, Kebijakan Isolasi Dokumen tidak memberlakukan batasan pada halaman yang dapat digunakan dokumen untuk berkomunikasi atau pada frame turunan yang dapat disematkan. Dokumen dengan Kebijakan Isolasi Dokumen dapat membuka pop-up lintas origin dan berkomunikasi dengan pop-up tersebut. Mereka juga dapat menyematkan iframe apa pun secara normal.

Kebijakan Isolasi Dokumen, mirip dengan COEP, memiliki dua mode: isolate-and-require-corp dan isolate-and-credentialless. Mode ini mengatur cara sub-resource lintas origin dimuat tanpa penanganan Cross-Origin Resource Sharing (CORS). Dalam mode isolate-and-require-corp, resource lintas origin harus mendeklarasikan kebijakan resource lintas origin secara eksplisit menggunakan header Cross-Origin-Resource-Policy; jika tidak, resource akan diblokir. Hal ini memastikan bahwa resource dibagikan secara sengaja. Sebaliknya, mode isolate-and-credentialless memungkinkan resource lintas origin dimuat tanpa header CORS, tetapi menghapus kredensial apa pun (seperti cookie atau autentikasi HTTP) dari permintaan, yang secara efektif memperlakukan resource seolah-olah bersifat anonim. Mode ini memberikan cara yang kurang membatasi, tetapi tetap aman untuk menangani resource non-CORS.

Iframe yang diisolasi dengan Kebijakan Isolasi Dokumen tidak memiliki akses DOM sinkron ke iframe dengan origin yang sama yang tidak diisolasi. Namun, iframe terisolasi ini masih dapat berkomunikasi dengan frame yang tidak terisolasi menggunakan metode Window lintas origin seperti postMessage. Selain itu, mereka mempertahankan akses penuh ke API penyimpanan, yang memungkinkan persistensi dan pembagian data dalam origin yang sama, bahkan dengan isolasi yang diaktifkan.