Konten yang didistribusikan melalui ApsaraVideo VOD bersifat publik secara default. Untuk mencegah pengunduhan dan hotlinking tidak sah, Anda dapat mengaktifkan Penandatanganan URL bersama dengan langkah-langkah lain seperti Perlindungan hotlink berbasis referer dan daftar izin/pemblokiran alamat IP. Penandatanganan URL memvalidasi string signature dan timestamp dalam permintaan URL untuk melindungi sumber daya server origin Anda.
Cara kerja
Penandatanganan URL ApsaraVideo VOD mengoordinasikan antara POP CDN Alibaba Cloud dan server aplikasi Anda untuk mencegah akses tidak sah. Komponen-komponen berikut terlibat:
-
Server aplikasi: Menghasilkan signed URL berdasarkan aturan yang telah ditentukan, termasuk algoritma penandatanganan dan kunci.
-
Aplikasi atau browser pengguna: Meminta resource dengan mengirimkan signed URL ke POP CDN untuk divalidasi.
-
POP CDN: Memvalidasi informasi dalam signed URL, seperti string signature dan timestamp.
Proses autentikasi bekerja sebagai berikut:
-
Anda mengonfigurasi aturan untuk menghasilkan signed URL pada server aplikasi Anda.
-
Sebuah klien meminta signed URL dari server aplikasi Anda.
-
Server aplikasi Anda mengembalikan signed URL untuk resource yang diminta.
-
Klien menggunakan signed URL tersebut untuk meminta resource dari POP CDN.
-
POP CDN memvalidasi informasi autentikasi dalam signed URL.
-
Jika autentikasi gagal, permintaan ditolak.
-
Jika autentikasi berhasil, POP CDN memproses permintaan tersebut.
-
-
Jika autentikasi berhasil, POP CDN menyajikan resource berdasarkan logika caching-nya.
Catatan-
Jika permintaan menghasilkan cache miss, POP CDN melakukan origin fetch. Sebelum melakukannya, POP CDN menghapus parameter autentikasi dari signed URL untuk mengembalikan URL aslinya (misalnya,
http://DomainName/FileName). POP CDN kemudian menggunakan URL asli ini untuk menghasilkan cache key atau mengambil konten dari server origin Anda. -
Setelah CDN mengautentikasi request URL, CDN melakukan escape karakter khusus dalam URL tersebut, seperti
=dan+.
-
Aktifkan dan konfigurasikan Penandatanganan URL
-
Pastikan Anda telah mengonfigurasi aturan untuk menghasilkan signed URL pada server aplikasi Anda, termasuk algoritma penandatanganan dan kunci.
-
Logika Penandatanganan URL di ApsaraVideo VOD harus sesuai dengan logika pada server aplikasi Anda.
-
Login ke Konsol ApsaraVideo VOD.
-
Di panel navigasi sebelah kiri, pilih Configuration Management > CDN Configuration > Domain Names.
-
Temukan nama domain yang akan dikonfigurasi dan klik Configure di kolom Actions.
-
Klik Resource Access Control.
-
Buka tab URL Signing dan klik Modify di bagian Set URL Signing.
-
Aktifkan URL Signing dan konfigurasikan parameter autentikasi.
Tabel berikut menjelaskan parameter-parameter tersebut.
Parameter
Deskripsi
Type
ApsaraVideo VOD mendukung tiga metode penandatanganan. Pilih metode yang sesuai dengan format signed URL yang Anda butuhkan:
CatatanKesalahan Penandatanganan URL mengembalikan kode status 403.
-
Kesalahan Hash MD5
Contoh:
X-Tengine-Error:denied by req auth: invalid md5hash=de7bfdc915ced05e17380a149bd7**** -
Kesalahan Timestamp
Contoh:
X-Tengine-Error:denied by req auth: expired timestamp=143946****
Primary Key
Masukkan primary key untuk metode penandatanganan yang dipilih. Kunci harus terdiri dari 6 hingga 32 karakter dan hanya boleh berisi huruf kapital, huruf kecil, dan angka.
Secondary Key
Masukkan secondary key untuk metode penandatanganan yang dipilih. Kunci harus terdiri dari 6 hingga 32 karakter dan hanya boleh berisi huruf kapital, huruf kecil, dan angka. Anda harus menyediakan minimal satu kunci (Primary atau Secondary).
CatatanPenggunaan secondary key mencegah gangguan layanan dengan menjaga validitas URL yang ditandatangani menggunakan kunci lama selama proses rotasi kunci.
Default Validity Period
Durasi berlakunya signed URL. Akses diperbolehkan hingga timestamp URL ditambah periode validitas ini.
-
Default: 30. Satuan: Menit.
-
Contoh: Jika server penandatanganan menghasilkan signed URL pada 2020-08-15 15:00:00 (UTC+8) dan Default Validity Period diatur menjadi 30 menit, signed URL tersebut akan kedaluwarsa pada 2020-08-15 15:30:00 (UTC+8).
Support Previewing
Fitur pratinjau memungkinkan pengguna menonton atau mendengarkan sebagian file media, misalnya lima menit pertama. Fitur ini umumnya digunakan untuk konten berbasis langganan atau bayar-per-tayang. Untuk informasi lebih lanjut, lihat Preview videos.
-
-
Klik OK untuk menyimpan konfigurasi.
Setelah diaktifkan, Penandatanganan URL berlaku untuk semua konten yang dikirimkan melalui nama domain ini.
Untuk resource yang dikelola melalui Konsol ApsaraVideo VOD, konsol secara otomatis menghasilkan signed URL berbatas waktu. Anda juga dapat memperoleh signed URL dengan memanggil operasi API GetPlayInfo.
CatatanSetelah Anda mengaktifkan Penandatanganan URL, fitur ini berlaku untuk URL semua aset, termasuk video, file audio, gambar mini, dan snapshot.
Nonaktifkan Penandatanganan URL
Jika Anda menonaktifkan Penandatanganan URL di ApsaraVideo VOD tetapi permintaan klien masih menyertakan parameter penandatanganan, ApsaraVideo VOD tidak dapat mengembalikan URL aslinya. Setiap permintaan kemudian menghasilkan cache miss dan diteruskan ke server origin Anda, yang dapat meningkatkan biaya secara signifikan. Untuk menghindari hal ini, nonaktifkan Penandatanganan URL baik di ApsaraVideo VOD maupun di server aplikasi Anda.
-
Di bagian Set URL Signing, klik Modify.
-
Nonaktifkan sakelar Signed URL.
-
Hapus parameter penandatanganan dari request URL yang dihasilkan oleh server aplikasi Anda.
Hasilkan signed URL
Hasilkan dari konsol
Setelah Anda mengonfigurasi Penandatanganan URL, hasilkan signed URL dari konsol untuk memverifikasi bahwa logika penandatanganan sudah benar.
-
Di bagian Generate Signed URL, konfigurasikan Original URL dan informasi autentikasi lainnya.
Tabel berikut menjelaskan parameter-parameter tersebut.
Parameter
Deskripsi
Original URL
Masukkan URL asli lengkap. Contoh:
https://****.com/ecs.mp4.Type
Pilih tipe penandatanganan (A, B, atau C) yang Anda pilih pada langkah Enable and configure URL signing.
Authentication Key
Berdasarkan pengaturan yang Anda konfigurasi di Enable authentication and configure a signed URL, masukkan Primary Key atau Secondary Key Anda.
Validity Period
Masukkan periode validitas untuk Penandatanganan URL sesuai konfigurasi yang Anda tentukan di Enable URL signing and configure a signed URL. Satuannya adalah detik. Contoh: 1800.
-
Klik Generate. Signed URL dan Timestamp kemudian akan ditampilkan.
Signed URL yang dihasilkan mengikuti format
https://<domain-name>/<path>?auth_key={timestamp}-0-0-{md5hash}. Anda dapat mengklik tombol Copy untuk menyalin URL tersebut.
Hasilkan dengan SDK
Hasilkan signed URL dengan mengintegrasikan SDK ApsaraVideo VOD ke server aplikasi Anda dan memanggil operasi API GetPlayInfo.
Hasilkan dengan kode
Anda juga dapat menulis kode kustom untuk menghasilkan signed URL menggunakan salah satu dari tiga metode penandatanganan.