Untuk melindungi resource ApsaraVideo Live dari penggunaan yang tidak sah, gunakan URL signing, daftar hitam dan daftar putih IP, serta otentikasi jarak jauh. Metode-metode ini meningkatkan keamanan dan pengalaman pengguna untuk aliran video langsung Anda.
Ikhtisar
Kontrol akses untuk domain ingest sangat penting guna mengamankan resource Anda dan mencegah akses yang tidak sah. Fitur ini mencakup metode berikut:
URL signing: Mengatasi keterbatasan perlindungan hotlink berbasis Referer dengan memverifikasi legitimasi setiap permintaan.
Daftar hitam dan daftar putih IP: Membatasi atau mengizinkan akses dari alamat IP tertentu, memungkinkan identifikasi dan penyaringan pengunjung.
Otentikasi jarak jauh: Meneruskan permintaan pengguna ke server otentikasi yang ditentukan untuk validasi, memberikan fleksibilitas dan keamanan yang lebih tinggi.
URL signing
Pendahuluan
URL signing bekerja bersama server bisnis Anda untuk menyediakan metode aman dalam melindungi resource aliran langsung. Alur kerjanya sebagai berikut:
Server bisnis Anda menghasilkan URL yang ditandatangani yang berisi informasi otentikasi.
Pengguna akhir menggunakan URL yang ditandatangani ini untuk mengirim permintaan stream ingest ke ApsaraVideo Live.
Node edge ApsaraVideo Live mendekode dan memvalidasi signature URL tersebut. Jika tidak valid, permintaan akan ditolak.
Setelah ApsaraVideo Live mengotentikasi URL permintaan, karakter khusus dalam URL (seperti = dan +) akan di-escape.
Untuk informasi lebih lanjut mengenai skenario penerapan, struktur URL yang ditandatangani, dan prinsip kerjanya, lihat URL Ingest dan Streaming yang Ditandatangani.
Prosedur
- Masuk ke Konsol ApsaraVideo Live.
Di panel navigasi kiri, klik Domain Names. Halaman Domain Management akan muncul.
Temukan domain ingest yang ingin Anda kelola, lalu klik Domain Settings pada kolom Actions.
Pilih Streaming Management > Access Control.
Klik tab URL Signing, lalu klik Modify.
Bagian konfigurasi otentikasi mencakup toggle URL Signing, Authentication Type (misalnya, Type A), Primary Key, Secondary Key, dan Validity Period (dalam menit).
CatatanURL signing diaktifkan secara default saat Anda menambahkan domain. Untuk menonaktifkannya pertama kali, Anda harus mengakui risiko penggunaan yang tidak sah dan menandatangani Perjanjian Pernyataan Tanggung Jawab.
Jika URL signing diaktifkan, klik Modify untuk memperbarui pengaturan. Jika sebelumnya Anda telah menonaktifkan URL signing, cukup aktifkan kembali toggle URL Signing untuk mengonfigurasinya ulang.
Konfigurasikan pengaturan URL signing, lalu klik OK.
Parameter
Deskripsi
Authentication Type
Domain ingest hanya mendukung penandatanganan Type A.
CatatanSemua kesalahan URL signing mengembalikan error 403. Jika Anda mengalami hal ini, hitung ulang signature-nya.
Untuk mendiagnosis penyebab pasti kegagalan, periksa header
X-Tengine-Errordalam respons HTTP:Kesalahan perhitungan MD5
Contoh:
X-Tengine-Error:denied by req auth: invalid md5hash=de7bfdc915ced05e17380a149bd760beKesalahan timestamp
Contoh:
X-Tengine-Error:denied by req auth: expired timestamp=1439469547
Primary Key
Saat Anda menambahkan domain, konsol akan menghasilkan primary key secara acak. Anda juga dapat memasukkan primary key kustom.
Secondary Key
Masukkan password cadangan untuk otentikasi URL.
CatatanPrimary key dan secondary key memiliki validitas yang setara. Secondary key terutama digunakan untuk rotasi kunci yang lancar.
Jika Anda memperbarui primary key, semua URL yang ditandatangani dengan primary key lama akan menjadi tidak valid. Untuk menghindari gangguan, salin primary key lama ke field secondary key agar tetap berfungsi selama masa transisi.
Validity Period
Periode validitas menentukan berapa lama URL yang ditandatangani tetap berlaku untuk memulai ingest atau pemutaran. Ingest dan pemutaran langsung menggunakan koneksi berdurasi panjang. Setelah dimulai dalam periode validitas, sesi tersebut tetap berlanjut meskipun periode validitas telah berakhir. Namun, permintaan ingest atau pemutaran baru akan gagal jika URL telah kedaluwarsa.
Periode validitas default untuk domain yang baru ditambahkan adalah 1 hari (1440 menit). Anda dapat menyesuaikan nilai ini dalam satuan menit.
IP blacklist and whitelist
Pendahuluan
IP blacklist: Alamat IP yang ditambahkan ke daftar hitam akan ditolak aksesnya ke domain yang dipercepat.
IP whitelist: Hanya alamat IP yang ditambahkan ke daftar putih yang diizinkan mengakses domain yang dipercepat.
Baik daftar hitam maupun daftar putih mendukung alamat IPv6 dengan aturan format berikut:
Huruf heksadesimal dalam alamat IPv6 harus menggunakan huruf kapital, seperti
2001:DB8:0:23:8:800:200C:417A.Format IPv6 singkat yang menggunakan double colon (
::) tidak didukung, seperti2001:0DB8::0008:0800:200C:417A.
Baik daftar hitam maupun daftar putih mendukung Blok CIDR. Contohnya,
192.168.0.0/24.
Prosedur
- Masuk ke Konsol ApsaraVideo Live.
Di panel navigasi kiri, klik Domain Names. Halaman Domain Management akan muncul.
Temukan domain ingest yang ingin Anda kelola, lalu klik Domain Settings pada kolom Actions.
Pilih Streaming Management > Access Control.
Klik tab IP Blacklist or Whitelist dan aktifkan fitur tersebut.
Atur List Type dan Rule, lalu klik OK.
Daftar hitam dan daftar putih saling eksklusif; hanya satu yang dapat aktif pada satu waktu. Anda dapat mengonfigurasi maksimal 1.000 alamat IPv6 atau 3.000 alamat IPv4. Pisahkan entri dengan baris baru, tanpa duplikasi. Notasi CIDR didukung (misalnya,
127.0.0.0/24). Alamat IPv6 tidak peka huruf besar/kecil dan tidak mendukung format singkat::.Tipe
Deskripsi
IP Blacklist
Alamat IP yang ditambahkan ke daftar hitam akan ditolak aksesnya ke domain yang dipercepat.
Whitelist
Hanya alamat IP yang ditambahkan ke daftar putih yang diizinkan mengakses domain yang dipercepat.
Remote authentication
Pendahuluan
Baik otentikasi jarak jauh maupun URL signing melindungi resource aliran langsung dengan memastikan hanya pengguna yang sah yang dapat mengaksesnya. Keduanya berbeda dalam implementasinya:
URL signing: Anda memberikan aturan otentikasi kepada live center, yang menangani seluruh proses otentikasi.
Otentikasi jarak jauh: Anda mengelola server otentikasi sendiri. Saat live center menerima permintaan pengguna, permintaan tersebut diteruskan ke server otentikasi Anda untuk divalidasi. Anda bertanggung jawab untuk menyiapkan dan mengelola server ini. Otentikasi jarak jauh tidak mendukung HTTP Live Streaming (HLS).
Alur data untuk otentikasi jarak jauh adalah sebagai berikut:
Langkah | Deskripsi |
① | Pengguna mengirim permintaan akses resource yang berisi parameter otentikasi ke live center. |
② | Live center menerima permintaan dan meneruskannya langsung (atau setelah menerapkan aturan tertentu) ke server otentikasi. |
③ | Server otentikasi mengevaluasi permintaan menggunakan parameter yang diberikan dan mengembalikan hasilnya ke live center. |
④ | Live center melakukan tindakan berdasarkan hasil otentikasi dan mengembalikan data ke pengguna.
|
Prosedur
- Masuk ke Konsol ApsaraVideo Live.
Di panel navigasi kiri, klik Domain Names. Halaman Domain Management akan muncul.
Temukan domain ingest yang ingin Anda kelola, lalu klik Domain Settings pada kolom Actions.
Pilih Streaming Management > Access Control.
Klik tab Remote Authentication, aktifkan toggle-nya, dan konfigurasikan parameter sesuai petunjuk.
CatatanSetelah mengaktifkan otentikasi jarak jauh, setiap permintaan pengguna akan diteruskan ke server otentikasi Anda. Di bawah trafik tinggi, pastikan server Anda mampu menangani beban dan berkinerja baik.
Parameter
Deskripsi
Authentication Server Address
Alamat publik server otentikasi Anda. Sistem memvalidasi format dan nilai alamat yang Anda masukkan. Anda dapat menggunakan URL tetap atau URL berbasis variabel.
URL tetap: Mendukung HTTP(S). Nilainya tidak boleh mencakup 127.0.0.1 atau localhost karena tidak valid. Contoh:
http(s)://example.aliyundoc.com/auth
http(s)://192.0.2.1/auth
URL berbasis variabel: Bangun URL otentikasi menggunakan variabel. Untuk detailnya, lihat URL Berbasis Variabel.
Request Method
Menentukan metode permintaan HTTP yang digunakan oleh live center untuk mengirim permintaan otentikasi ke server otentikasi Anda. Nilai yang valid: GET dan POST.
Pass Through URL Parameters
Mengontrol parameter mana dari URL permintaan pengguna yang digunakan untuk otentikasi. Pilih Specified Parameters Passed, Specified Parameters Not Passed, atau None.
CatatanJika Anda memilih Specified Parameters Passed atau Specified Parameters Not Passed, masukkan nama parameter di field di bawah ini, dipisahkan dengan koma (,). Contoh:
key1,key2,key3.HTTP Status Code to Return
Kode status HTTP yang dikembalikan oleh server otentikasi Anda ke live center setelah otentikasi berhasil. Pilih salah satu opsi berikut:
Successful Authentication: Setelah memilih opsi ini, masukkan kode status sukses kustom. Live center hanya mengizinkan permintaan jika server Anda mengembalikan kode persis ini. Semua kode lainnya akan ditolak.
Contoh: Tetapkan kode status sukses ke 200. Jika server Anda mengembalikan 200, otentikasi berhasil.
Failed Authentication: Setelah memilih opsi ini, masukkan kode status kegagalan kustom. Live center hanya memblokir permintaan jika server Anda mengembalikan kode persis ini. Semua kode lainnya akan disetujui.
Contoh: Tetapkan kode status kegagalan ke 403. Jika server Anda mengembalikan 403, otentikasi gagal.
Authentication Duration (s)
Ini mengukur waktu sejak live center mengirim permintaan otentikasi hingga menerima respons dari server Anda.
Masukkan bilangan bulat antara 0 hingga 30.
Retries on Timeout
Jumlah percobaan ulang yang dilakukan oleh live center ke server otentikasi Anda setelah terjadi timeout. Setelah batas percobaan ulang tercapai, live center akan melakukan tindakan yang ditentukan di bawah "Action After Timeout".
Action After Timeout
Tindakan yang diambil oleh live center ketika otentikasi mengalami timeout. Tindakan yang didukung adalah Allow dan Deny:
Allow: Saat terjadi timeout, live center mengizinkan permintaan pengguna.
Deny: Saat terjadi timeout, live center menolak permintaan dan mengembalikan kode status kegagalan (misalnya, 403) kepada pengguna.
Asynchronous Authentication
Jika diaktifkan, pemutaran dimulai tanpa menunggu hasil otentikasi jarak jauh. Jika otentikasi kemudian gagal, pemutaran akan dihentikan. Ini menghindari peningkatan waktu hingga frame pertama akibat penundaan otentikasi jarak jauh sinkron. Setelah beralih antara otentikasi sinkron dan asinkron, lakukan pengujian untuk memastikan berfungsi sesuai harapan.
Klik OK untuk menyelesaikan konfigurasi.
Setelah mengonfigurasi otentikasi jarak jauh, Anda dapat memodifikasi atau menonaktifkannya di tab Remote Authentication.
Buat URL dengan variabel
Anda dapat membuat URL server otentikasi menggunakan variabel seperti yang dijelaskan di bawah ini:
Type | Deskripsi |
Variabel Numerik | Variabel numerik seperti Sebagai contoh, jika URL ingest adalah |
Variabel Alfabetis | Variabel alfabet seperti Sebagai contoh, jika URL ingest adalah |
Variabel Kustom | Variabel kustom diawali dengan awalan |
Variabel NGX | Semua variabel Semua nilai yang dirujuk diproses oleh fungsi escape URL |
Variabel Nama Aliran | Anda dapat menggunakan |
Jika URL ingest atau pemutaran adalah rtmp://domain.aliyundoc.com/app/stream?token=***&name=xrc,
dan alamat server otentikasi jarak jauh dikonfigurasi sebagai http://auth.aliyundoc.com/?app=${udv_host}&streamname=${2}&appname=${1}&token=${arg_token},
maka URL otentikasi aktual menjadi http://auth.aliyundoc.com/?app=domain.aliyundoc.com&streamname=stream&appname=app&token=***.