Mencegah distribusi yang tidak sah

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:

  1. 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.

  2. 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.

  3. Media CDN memverifikasi token berdurasi singkat dan parameter yang ditandatangani.

    1. 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.
    2. Jika token tidak valid, Media CDN akan merespons dengan Respons HTTP 403 Forbidden.
  4. 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.

  5. Media CDN memverifikasi token tanda tangan berdurasi panjang:

    1. Jika token berdurasi panjang valid untuk permintaan tertentu, Media CDN menayangkan konten yang diminta.
    2. 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.
  6. 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= dan KeyName=).
  • 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.

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.