Halaman ini menjelaskan secara singkat opsi yang disediakan Media CDN untuk membantu mencegah distribusi konten Anda tanpa izin.
Media CDN mendukung beberapa opsi permintaan bertanda tangan untuk membantu melindungi konten Anda agar tidak didistribusikan secara tidak sah. Token merupakan media pertukaran permintaan yang ditandatangani, seperti cookie yang ditandatangani, URI dengan parameter kueri, atau jalur komponen. Token valid yang diberikan oleh pelihat digunakan untuk mengautentikasi akses ke konten Anda. Penonton dengan token yang tidak valid atau token yang hilang dicegah mengakses konten Anda.
Media CDN menawarkan opsi permintaan yang ditandatangani berikut ini untuk klien autentikasi:
Tanda tangan: Media CDN menggunakan tanda tangan tunggal untuk membantu melindungi konten.
Token: Media CDN menggunakan token untuk membantu melindungi konten. Anda dapat memilih untuk menggunakan otentikasi token tunggal atau {i>dual-token<i}.
Saat autentikasi dual-token digunakan, Media CDN menggunakan dua token, token berdurasi singkat dan token berdurasi panjang, untuk membantu melindungi konten.
Tanda tangan memungkinkan Anda melakukan penandatanganan URL lengkap, termasuk host dan protokol.
Token menawarkan kemampuan berikut:
- Kompatibilitas dengan CDN non-Google
- Penandatanganan khusus jalur
- Kemampuan untuk menandatangani lebih dari satu header
- Kemampuan untuk menyematkan data dan ID sesi arbitrer
Kami merekomendasikan token untuk integrasi baru. Token diperlukan untuk token ganda autentikasi.
Anda bisa menggunakan permintaan yang ditandatangani dan permintaan otentikasi token ganda bersamaan untuk membantu melindungi konten Anda.
Cara kerja permintaan yang ditandatangani
Permintaan yang ditandatangani menggunakan tanda tangan atau token untuk memverifikasi bahwa setiap pelihat diotentikasi untuk mengakses konten. Anda dapat mengonfigurasi Media CDN sehingga bahwa akses tersebut mencakup salah satu dari hal berikut:
- URI atau awalan URI yang tepat untuk waktu yang terbatas
- Klien tertentu
- Untuk permintaan bertanda tangan yang menggunakan token, maksimal lima jalur dengan karakter pengganti
Untuk menggunakan permintaan yang ditandatangani, Anda membuat kunci untuk menandatangani dan memverifikasi tanda tangan. Anda kemudian konfigurasikan rute, yang memungkinkan Anda mengoptimalkan perilaku berdasarkan jenis konten, atribut klien, dan persyaratan keaktualan Anda. Permintaan yang ditandatangani dapat diterapkan per rute, sehingga membantu Anda melindungi endpoint tertentu.
Setiap layanan Media CDN dapat menggunakan kumpulan beberapa kunci. Kumpulan kunci ini juga dikenal sebagai keyset. Keyset memungkinkan Anda merotasi kunci dan mendistribusikan kunci pribadi di seluruh infrastruktur Anda sendiri tanpa gangguan layanan.
Anda dapat mengonfigurasi Media CDN untuk menggunakan permintaan yang ditandatangani atau token untuk membantu melindungi konten.
Untuk permintaan bertanda tangan yang menggunakan tanda tangan, Anda dapat menggunakan salah satu format berikut:
- URI yang tepat dengan parameter kueri: Anda menentukan
URLPrefix
dengan URI yang tepat dan menambahkan parameter kueri yang sama ke beberapa URI. - Awalan URI dengan parameter kueri: Anda menentukan
URLPrefix
dengan Awalan URI dan tambahkan parameter kueri yang sama ke beberapa URI. - Komponen jalur: Anda menentukan komponen jalur, yang memungkinkan URI manifes mewarisi komponen URI yang ditandatangani.
- Cookie yang ditandatangani: Anda menentukan awalan URI dalam cookie, yang memungkinkan akses ke URI apa pun dengan awalan yang Anda tentukan.
Untuk mengetahui informasi selengkapnya, lihat Membuat tanda tangan.
Untuk permintaan bertanda tangan yang menggunakan token, Anda bisa menempatkan token tersebut di salah satu berikut ini:
- Dalam parameter kueri pilihan Anda
- Di cookie
Untuk mengetahui informasi selengkapnya, lihat Membuat token.
Cara kerja autentikasi dual-token
Otentikasi dual-token menggunakan dua token untuk konten: token berdurasi singkat untuk inisiasi pemutaran, dan durasi panjang token tersebut untuk sisa sesi pemutaran.
Untuk menggunakan autentikasi dual-token, konfigurasi server aplikasi agar menerbitkan token berdurasi singkat kepada agen pengguna. Kemudian, Anda mengonfigurasi Media CDN untuk merespons token berdurasi singkat. Anda dapat menempatkan token dalam parameter kueri yang Anda pilih, atau menempatkan token kata dalam sebuah cookie. Untuk informasi selengkapnya, lihat Gunakan autentikasi token ganda.
Token berdurasi singkat yang dibuat oleh server aplikasi Anda membantu melindungi manifes (terkadang disebut playlist multi-varian). Tujuan permintaan yang ditandatangani cukup singkat untuk meminta manifes utama, tetapi tidak untuk melihat semua konten yang ada di dalam manifes.
Saat Media CDN menerima permintaan dengan durasi singkat yang diotorisasi
token, model akan menghasilkan token berdurasi panjang yang ditandatangani. Anda dapat menggunakan token ini di
parameter kueri bernama tunggal atau dalam cookie. Token berdurasi panjang
mendukung penayangan program berdurasi penuh. Token berdurasi panjang yang ditandatangani
yang dihasilkan oleh Media CDN menggunakan tanda tangan
Ed25519 yang ditandatangani dengan
Kunci yang dikelola Google yang terkait dengan
Referensi EdgeCacheKeyset
.
Anda dapat menyesuaikan waktu habis masa berlaku token berdurasi singkat dan panjang. Sebagai seorang praktik terbaik, sebaiknya Anda mengonfigurasi waktu kedaluwarsa token berdurasi singkat yang dihasilkan di server aplikasi Anda menjadi satu menit. Anda harus menetapkan waktu habis masa berlaku token berdurasi panjang yang menghasilkan durasi yang lebih panjang dari panjang konten Anda, hingga maksimum satu mereka.
Alur permintaan untuk autentikasi dual-token
Berikut penjelasan alur permintaan:
Penampil meminta metadata dari server aplikasi Anda untuk media yang mereka inginkan yang dapat dilihat. Server aplikasi Anda menampilkan URI manifes utama ditandatangani dengan token berdurasi singkat.
Aplikasi pemutar Anda meminta manifes utama dari dan Media CDN. Permintaan menyertakan token berdurasi singkat sebagai parameter kueri URI dalam format parameter kueri bernama tunggal.
Media CDN memverifikasi token berdurasi singkat dan parameter yang ditandatangani.
- Jika token valid, Media CDN akan membuat video berdurasi panjang token tanda tangan. Media CDN menampilkan token dalam header Set-Cookie, atau dengan mengubah URI segmen dan manifes dalam manifes utama untuk menyertakan token tersebut.
- Jika token tidak valid, Media CDN akan merespons dengan
Respons
HTTP 403 Forbidden
.
Aplikasi pemutar menerima manifes utama dari Media CDN, lalu meminta playlist media atau media segmen yang dirujuk dalam manifes utama. Permintaan harus menyertakan token berdurasi panjang, baik sebagai cookie bertanda tangan atau sebagai parameter URI.
Media CDN memverifikasi token tanda tangan berdurasi panjang:
- Jika token berdurasi panjang valid untuk permintaan tertentu, Media CDN menayangkan konten yang diminta.
- Jika token berdurasi panjang tidak valid (karena token sudah tidak berlaku
atau jalur yang tidak valid), Media CDN akan merespons dengan
Respons
HTTP 403 Forbidden
.
Proses diulang sampai pemutaran media berakhir atau tanda tangan berdurasi panjang tidak berlaku lagi.
Format token yang didukung untuk permintaan yang ditandatangani dengan token ganda
Permintaan tanda tangan token ganda Media CDN mendukung berbagai format, bergantung pada jenis token.
Permintaan bertanda tangan berdurasi singkat
Untuk permintaan bertanda tangan berdurasi singkat, Media CDN mendukung token yang ditandatangani dengan tanda tangan Ed25519 secara {i>default<i}. Anda juga dapat menggunakan kode autentikasi pesan berbasis hash (HMAC) simetris untuk kompatibilitas dengan kode aplikasi yang ada dan CDN lainnya.
Untuk menggunakan HMAC, Anda menggunakan Secret Manager untuk menyimpan rahasia HMAC. Kemudian Anda memberikan akses ke Media CDN akun layanan untuk mengakses rahasia yang tersimpan. Sebagai praktik terbaik, sebaiknya menggunakan penandatanganan asimetris dengan tanda tangan Ed25519 untuk keamanan dan kinerja.
Akun layanan Media CDN dimiliki oleh Project Media CDN, dan tidak ditampilkan di daftar project Anda akun layanan. Akun layanan memberikan akses hanya ke Resource Media CDN dalam project yang Anda izinkan secara eksplisit.
Akun layanan memiliki format berikut:
service-PROJECT_NUMBER@gcp-sa-mediaedgefill.iam.gserviceaccount.com
Dengan PROJECT_NUMBER adalah nomor project Anda.
Untuk mengaktifkan akun layanan Media CDN layanan, buat minimal
satu resource Media CDN, seperti EdgeCacheOrigin
.
Permintaan bertanda tangan berdurasi panjang
Untuk permintaan bertanda tangan berdurasi panjang, Media CDN menggunakan Ed25519
tanda tangan yang ditandatangani dengan kunci
yang dikelola Google yang terkait dengan
Referensi EdgeCacheKeyset
.
Media CDN mendukung format token tunggal untuk token berdurasi panjang, yang dapat digunakan dalam parameter kueri bernama tunggal untuk streaming HLS, atau dalam sebuah cookie.
Pertimbangan
Bagian berikut membahas item, seperti:
Batas URI
Sebagian besar klien HTTP modern mendukung URI hingga 8.000 karakter. Namun, beberapa perangkat lama atau khusus mungkin memiliki batasan yang lebih ketat. Secara umum, URI yang ditandatangani menambahkan sekitar 125 karakter ke URI permintaan, yang mencakup hal berikut:
- Jika semua nama kolom digunakan, sekitar 67 karakter untuk setiap kolom
(seperti
Expires=
danKeyName=
). - Untuk stempel waktu Unix, 10 karakter
- Untuk
KeyName
, lima karakter - Untuk nilai
Signature
berenkode base64, 43 karakter
Sebagai praktik terbaik, pertahankan URI kurang dari 2.000 karakter menggunakan kueri parameter sebagai token. URI yang lebih singkat mencegah perangkat mengirim URI yang terpotong ke Media CDN.
Perangkat streaming video lama
Beberapa perangkat streaming video lama mungkin tidak sepenuhnya mendukung penambahan cookie ke permintaan segmen media atau manifes. Jika Anda memiliki perangkat dengan masalah umum menangani cookie HTTP, mengonfigurasi Media CDN untuk menggunakan parameter kueri untuk permintaan bertanda tangan dan pertukaran token ganda.
Kepatuhan terhadap izin dan privasi
Anda bertanggung jawab penuh atas persetujuan dan kepatuhan privasi yang diperlukan saat menggunakan cookie untuk bertukar token berdurasi singkat. Ketika Media CDN dikonfigurasi untuk menggunakan permintaan bertanda tangan token ganda, Google akan menerbitkan dan mengelola cookie yang digunakan untuk token berdurasi panjang.
Penagihan
Untuk mempelajari lebih lanjut cara Secret Manager ditagih, lihat Harga.
Pengambilan Media CDN untuk secret di-cache secara internal, secara signifikan mengurangi tingkat pengambilan secret dari Secret Manager. Versi yang lebih rendah juga secara signifikan mengurangi tingkat akses yang Secret Manager mengamati dan menagih Anda.
Untuk informasi selengkapnya tentang caching rahasia di Media CDN, lihat Ringkasan utama.