Panduan ini menjelaskan cara membuat tanda tangan, dan metode wajib serta opsional isian untuk tanda tangan.
Untuk membuat tanda tangan, Anda menulis {i>string<i} untuk ditandatangani, yang kami sebut sebagai nilai bertanda tangan dalam panduan ini. Nilai yang ditandatangani mencakup parameter yang mendeskripsikan konten yang dilindungi, waktu habis masa berlaku nilai yang ditandatangani, dan sebagainya dan seterusnya.
Anda menggunakan nilai yang ditandatangani saat membuat string tanda tangan. Anda membuat string tanda tangan dengan menyusun parameter untuk tanda tangan, seperti tanda tangan Ed25519 kunci asimetris dari nilai yang ditandatangani.
Media CDN menggunakan tanda tangan akhir yang telah disusun untuk membantu melindungi saat ini.
Format penandatanganan yang didukung
Media CDN mendukung format permintaan bertanda tangan berikut ini.
Format | Perilaku | Contoh |
---|---|---|
Parameter kueri (URL persis) |
URL yang persis, untuk memberikan akses ke URL tertentu. |
Tepat:
|
Parameter kueri (awalan URL) |
Menentukan URLPrefix memungkinkan Anda menandatangani awalan dan menambahkan
parameter kueri yang sama ke beberapa URL dalam pemutar atau manifes
pembuatan teks.
|
Apa yang harus ditandatangani:
Ganti |
Komponen jalur |
Prefix: memungkinkan akses ke URL apa pun dengan awalan sebelum
Komponen Hal ini memungkinkan URL manifes relatif untuk otomatis mewarisi atribut yang ditandatangani saat mengambil sub-resource. |
https://media.example.com/video/edge-cache-token=Expires=EXPIRATION
|
Cookie yang ditandatangani | Awalan: cookie mengizinkan akses ke URL apa pun dengan awalan yang ditentukan
dalam nilai URLPrefix yang ditandatangani.
|
Edge-Cache-Cookie:
|
Membuat tanda tangan
Buat nilai yang ditandatangani dengan menyambungkan string yang berisi kolom tanda tangan wajib dan kolom tanda tangan opsional.
Jika ditentukan,
URLPrefix
harus muncul terlebih dahulu, diikuti denganExpires
,KeyName
, dan kemudian parameter opsional apa pun.Pisahkan setiap kolom dan parameter dengan hal berikut:
- Untuk cookie, gunakan karakter
:
titik dua. - Untuk parameter kueri dan komponen jalur, gunakan tanda dan
&
karakter.
- Untuk cookie, gunakan karakter
Tanda tangani nilai yang ditandatangani dengan tanda tangan Ed25519.
Menambahkan pemisah kolom (
:
atau&
) diikuti olehSignature=
dan tanda tangan Ed25519 ke akhir string.
Membuat URL yang ditandatangani
Contoh kode berikut menunjukkan cara membuat URL bertanda tangan secara terprogram.
Go
Untuk mengautentikasi ke Media CDN, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mengautentikasi ke Media CDN, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Buat awalan URL yang ditandatangani
Contoh kode berikut menunjukkan cara membuat secara terprogram awalan URL yang ditandatangani.
Go
Untuk mengautentikasi ke Media CDN, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mengautentikasi ke Media CDN, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Membuat cookie URL yang ditandatangani
Contoh kode berikut menunjukkan cara membuat URL bertanda tangan secara terprogram cookie.
Go
Untuk mengautentikasi ke Media CDN, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mengautentikasi ke Media CDN, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Membuat komponen jalur yang ditandatangani
Contoh kode berikut menunjukkan cara membuat jalur bertanda tangan secara terprogram komponen.
Python
Untuk mengautentikasi ke Media CDN, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Kolom tanda tangan yang wajib diisi
Kolom berikut wajib diisi untuk setiap tanda tangan:
Expires
KeyName
Signature
Jika ada parameter kueri, parameter tersebut harus dikelompokkan bersama sebagai parameter terakhir parameter di URL. Kecuali jika dinyatakan lain, nama parameter dan peka huruf besar/kecil.
Tabel berikut menjelaskan setiap parameter:
Nama kolom | Parameter tanda tangan | Nilai yang ditandatangani |
---|---|---|
Expires |
Bilangan bulat detik yang telah berlalu sejak epoch Unix (1970-01-01T00:00:00Z) | Expires=EXPIRATION_TIME , setelah itu
tanda tangan tidak lagi valid. |
KeyName |
Nama EdgeCacheKeyset yang digunakan untuk menandatangani ini
permintaan. KeyName merujuk ke seluruh keyset, bukan
kunci individu dalam
{i>keyset<i} itu sendiri.
|
KeyName=EDGE_CACHE_KEYSET |
Signature |
Versi tanda tangan yang dienkode dengan base-64. | Tidak berlaku |
Kolom tanda tangan opsional
Jika ada parameter kueri, parameter tersebut harus dikelompokkan bersama sebagai parameter terakhir parameter di URL. Kecuali jika dinyatakan lain, nama parameter dan peka huruf besar/kecil.
Tabel berikut menjelaskan setiap nama dan detail setiap parameter untuk filter parameter tanda tangan:
Nama kolom | Parameter tanda tangan | Nilai yang ditandatangani |
---|---|---|
HeaderName |
Nama kolom header permintaan bernama yang harus ada di kolom permintaan. Harus dalam huruf kecil saat ditandatangani karena nama kolom header peka huruf besar/kecil. Media CDN membuat header menjadi huruf kecil sebelum memvalidasi tanda tangan. |
HeaderName=HEADER_NAME |
HeaderValue |
Nilai kolom header permintaan bernama yang harus ada di kolom
permintaan. ID ini biasanya adalah ID pengguna atau ID buram lainnya. Permintaan
dengan HeaderValue tetapi tanpa HeaderName adalah
ditolak.
|
HeaderValue=HEADER_VALUE |
IPRanges |
Daftar yang berisi hingga lima alamat IPv4 dan IPv6 dalam format CIDR untuk
yang valid dalam format base64 yang aman bagi web. Misalnya,
untuk menentukan rentang IP "192.6.13.13/32,193.5.64.135/32", Anda menentukan
IPRange mungkin tidak berguna untuk
disertakan tanda tangan bila klien
berisiko migrasi WAN atau
kasus di mana jalur jaringan ke
frontend aplikasi berbeda dengan jalur pengiriman.
Media CDN menolak klien dengan Berikut adalah kasus yang dapat menyebabkan Media CDN
menolak klien dengan kode
Semua faktor ini dapat berkontribusi
kepada klien tertentu yang memiliki
alamat IP nondeterministik selama sesi pemutaran video. Jika
alamat IP klien berubah setelah Anda mengeluarkan akses, dan
mencoba mendownload segmen video ke dalam pemutaran mereka
buffer, mereka menerima |
IPRanges=BASE_64_IP_RANGES |
URLPrefix |
Awalan URL base64 (aman URL) yang akan diberi akses. Menetapkan
URLPrefix memungkinkan Anda menandatangani awalan dan menambahkan kueri yang sama
parameter ke beberapa URL dalam pemutar atau pembuatan manifes.
URLPrefix diperlukan saat menggunakan cookie yang ditandatangani
format font.
|
URLPrefix=BASE_64_URL_PREFIX |