All Products
Search
Document Center

ApsaraVideo Live:Kontrol Akses

Last Updated:Aug 22, 2026

Untuk melindungi resource ApsaraVideo Live dari penggunaan yang tidak sah, gunakan Penandatanganan URL, daftar hitam IP, dan daftar putih IP, serta otentikasi jarak jauh. Metode-metode ini meningkatkan keamanan dan pengalaman pengguna pada aliran video langsung Anda.

Ikhtisar

Kontrol akses untuk domain ingest sangat penting untuk mengamankan resource Anda dan mencegah akses tidak sah. Fitur ini mencakup metode berikut:

  • URL signing: Mengatasi keterbatasan perlindungan hotlink berbasis Referer dengan memverifikasi legitimasi setiap permintaan.

  • IP blacklist and whitelist: Membatasi atau mengizinkan akses dari alamat IP tertentu, memungkinkan identifikasi dan penyaringan pengunjung.

  • Remote authentication: Meneruskan permintaan pengguna ke server otentikasi yang ditentukan untuk validasi, memberikan fleksibilitas lebih besar dan keamanan yang ditingkatkan.

URL signing

Pendahuluan

URL signing bekerja bersama server bisnis Anda untuk menyediakan metode aman dalam melindungi resource aliran langsung. Alur kerjanya sebagai berikut:

  1. Server bisnis Anda menghasilkan signed URL yang berisi informasi otentikasi.

  2. End user menggunakan signed URL ini untuk mengirim permintaan stream ingest ke ApsaraVideo Live.

  3. Node edge ApsaraVideo Live mendekode dan memvalidasi signature URL tersebut. Jika tidak valid, permintaan ditolak.

Penting

Setelah ApsaraVideo Live mengotentikasi request URL, karakter khusus dalam URL (seperti = dan +) akan di-escape.

Untuk informasi lebih lanjut mengenai skenario penerapan, struktur signed URL, dan prinsip kerjanya, lihat Signed ingest and streaming URLs.

Prosedur

  1. Masuk ke ApsaraVideo Live console.
  2. Di panel navigasi kiri, klik Domain Names. Halaman Domain Management akan muncul.

  3. Temukan domain ingest yang ingin Anda kelola, lalu klik Domain Settings di kolom Actions.

  4. Pilih Streaming Management > Access Control.

  5. 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).

    Catatan
    • URL signing diaktifkan secara default saat Anda menambahkan domain. Untuk menonaktifkannya pertama kali, Anda harus mengakui risiko penggunaan 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.

  6. Konfigurasikan pengaturan URL signing, lalu klik OK.

    Parameter

    Deskripsi

    Authentication Type

    Domain ingest hanya mendukung penandatanganan Type A.

    Catatan

    Semua error URL signing mengembalikan error 403. Jika Anda mengalami hal ini, hitung ulang signature-nya.

    Untuk mendiagnosis penyebab pasti kegagalan, periksa header X-Tengine-Error dalam respons HTTP:

    • Error perhitungan MD5

      Contoh: X-Tengine-Error:denied by req auth: invalid md5hash=de7bfdc915ced05e17380a149bd760be

    • Error timestamp

      Contoh: X-Tengine-Error:denied by req auth: expired timestamp=1439469547

    Primary Key

    Saat Anda menambahkan domain, konsol secara acak menghasilkan primary key. Anda juga dapat memasukkan primary key kustom.

    Secondary Key

    Masukkan password cadangan untuk otentikasi URL.

    Catatan
    • Primary key dan secondary key memiliki validitas yang sama. Secondary key terutama digunakan untuk rotasi kunci yang lancar.

    • Jika Anda memperbarui primary key, semua URL yang ditandatangani dengan primary key lama 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 signed URL tetap valid 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.

Catatan
  • 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, seperti 2001:0DB8::0008:0800:200C:417A.

  • Baik daftar hitam maupun daftar putih mendukung Blok CIDR. Contohnya, 192.168.0.0/24.

Prosedur

  1. Masuk ke ApsaraVideo Live console.
  2. Di panel navigasi kiri, klik Domain Names. Halaman Domain Management akan muncul.

  3. Temukan domain ingest yang ingin Anda kelola, lalu klik Domain Settings di kolom Actions.

  4. Pilih Streaming Management > Access Control.

  5. Klik tab IP Blacklist or Whitelist dan aktifkan fitur tersebut.

  6. Tetapkan List Type dan Rule, lalu klik OK.

    Daftar hitam dan daftar putih bersifat 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 ::.

    Jenis

    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 remote authentication 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 ke live center, yang menangani seluruh proses otentikasi.

  • Remote authentication: Anda mengelola server otentikasi sendiri. Saat live center menerima permintaan pengguna, permintaan tersebut diteruskan ke server otentikasi Anda untuk divalidasi. Anda bertanggung jawab atas penyiapan dan pengelolaan server ini. Remote authentication tidak mendukung HTTP Live Streaming (HLS).

Alur data untuk remote authentication 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 mengambil tindakan berdasarkan hasil otentikasi dan mengembalikan data ke pengguna.

  • Otentikasi berhasil: live center dan pengguna melanjutkan akses data cache dan interaksi secara normal.

  • Otentikasi gagal: live center mengembalikan kode status 403 kepada pengguna.

  • Otentikasi timeout: live center menjalankan tindakan timeout default (mengizinkan atau menolak permintaan).

Prosedur

  1. Masuk ke ApsaraVideo Live console.
  2. Di panel navigasi kiri, klik Domain Names. Halaman Domain Management akan muncul.

  3. Temukan domain ingest yang ingin Anda kelola, lalu klik Domain Settings di kolom Actions.

  4. Pilih Streaming Management > Access Control.

  5. Klik tab Remote Authentication, aktifkan toggle-nya, dan konfigurasikan parameter sesuai petunjuk.

    Catatan

    Setelah mengaktifkan remote authentication, 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 Variable-Based URLs.

    Request Method

    Menentukan metode permintaan HTTP yang digunakan 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.

    Catatan

    Jika 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 server otentikasi Anda ke live center setelah otentikasi berhasil. Pilih salah satu dari berikut:

    • Successful Authentication: Setelah memilih opsi ini, masukkan kode status sukses kustom. Live center hanya mengizinkan permintaan jika server Anda mengembalikan kode ini secara tepat. Semua kode lainnya mengakibatkan penolakan.

      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 ini secara tepat. Semua kode lainnya mengakibatkan persetujuan.

      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 kali live center mencoba kembali menghubungi server otentikasi Anda setelah timeout. Setelah percobaan habis, live center menjalankan tindakan yang ditentukan di bawah "Action After Timeout."

    Action After Timeout

    Tindakan yang diambil live center saat otentikasi timeout. Tindakan yang didukung adalah Allow dan Deny:

    • Allow: Saat timeout, live center mengizinkan permintaan pengguna.

    • Deny: Saat 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 dihentikan. Ini menghindari peningkatan waktu hingga frame pertama akibat penundaan otentikasi jarak jauh sinkron. Setelah beralih antara otentikasi sinkron dan asinkron, uji untuk memastikan berfungsi sesuai harapan.

  6. Klik OK untuk menyelesaikan konfigurasi.

    Setelah mengonfigurasi remote authentication, 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:

Jenis

Deskripsi

Variabel Numerik

Variabel numerik seperti ${1} dan ${2} mereferensikan bagian dari URL ingest atau pemutaran sebelum tanda ?.

Sebagai contoh, jika URL ingest adalah rtmp://domain.aliyundoc.com/appname/streamname?token=1&name=xr, maka ${1}=appname dan ${2}=streamname.

Variabel Alfabet

Variabel alfabet seperti ${arg_token} dan ${arg_name} mereferensikan bagian dari URL setelah tanda ?.

Sebagai contoh, jika URL ingest adalah rtmp://domain.aliyundoc.com/appname/streamname?token=1&name=xrc, maka ${arg_token}=1 dan ${arg_name}=xrc.

Variabel Kustom

Variabel kustom diawali dengan awalan udv_. Variabel yang didukung saat ini adalah ${udv_host} dan ${udv_ip}, yang masing-masing mereferensikan host dan alamat IP klien ingest.

Variabel NGX

Semua variabel ngx.var.* dapat direferensikan secara langsung. Sebagai contoh, ${args} mereferensikan ngx.var.args.

Semua nilai yang direferensikan diproses oleh fungsi escape URL ngx.escape_uri untuk mencegah ambiguitas akibat karakter khusus.

Variabel Nama Aliran

Anda dapat menggunakan videoname=${stream_name}. Placeholder ${stream_name} diganti dengan nama aliran dari permintaan pemutaran.

Catatan

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=***.

Izinkan stream ingest hanya dari AppName tertentu

Gunakan variabel numerik ${1} untuk meneruskan AppName dari URL ingest ke server otentikasi Anda, yang memeriksa nilai tersebut terhadap daftar putih. StreamName tidak dibatasi, sehingga setiap aliran di bawah AppName yang diizinkan dapat di-ingest, memberikan keamanan ingest per aplikasi tanpa perlu menandatangani setiap aliran secara individual. Atur Authentication Server Address menjadi http://auth.aliyundoc.com/check?AppName=${1}. Jika URL ingest adalah rtmp://domain.aliyundoc.com/myapp/stream001?token=***, live center mengirim permintaan otentikasi ke http://auth.aliyundoc.com/check?AppName=myapp. Server otentikasi Anda kemudian memeriksa apakah myapp ada dalam daftar putih dan mengembalikan kode status HTTP yang Anda konfigurasikan untuk Successful Authentication (misalnya, 200), yang membuat live center menerima ingest aliran, atau kode status HTTP yang Anda konfigurasikan untuk Failed Authentication (misalnya, 403), yang membuat live center menolaknya.