URL Ditandatangani, Kuki Ditandatangani dan Sekatan Geografi
Hadkan akses kepada kandungan premium menggunakan URL dan kuki yang ditandatangani, serta sekat pengguna dari negara tertentu dengan sekatan geografi.
URL Ditandatangani, Kuki Ditandatangani dan Sekatan Geografi ialah pelajaran AWS Solutions Architect percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran AWS Solutions Architect, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus AWS Solutions Architect merangkumi sejumlah 4 pelajaran.
Mengehadkan Akses kepada Kandungan CloudFront
Secara lalai, CloudFront menyampaikan kandungan kepada mana-mana penonton yang mengetahui URL tersebut. Untuk kandungan premium atau peribadi—kursus video, muat turun perisian berbayar, sumber untuk ahli sahaja—anda perlu mengehadkan akses supaya hanya pengguna yang diberi kuasa boleh mendapatkannya.
CloudFront menyediakan dua mekanisme untuk akses yang dibenarkan: URL Bertandatangan (satu URL memberikan akses kepada satu objek tertentu) dan Kuki Bertandatangan (satu set kuki memberikan akses kepada berbilang objek yang sepadan dengan corak laluan). Kedua-duanya menggunakan tandatangan kriptografi yang dijana dengan pasangan kunci RSA.
URL CloudFront Ditandatangani
URL Ditandatangani ialah URL CloudFront yang mengandungi tandatangan kriptografi yang mengekodkan masa tamat tempoh dan, secara pilihan, sekatan alamat IP. URL itu hanya sah sehingga tempoh tamat dan hanya boleh digunakan daripada IP yang dibenarkan (jika dinyatakan). Selepas tempoh tamat, CloudFront mengembalikan 403 Dilarang.
URL Ditandatangani paling sesuai untuk: memberikan seorang pengguna akses kepada satu fail tertentu (contohnya, laporan PDF yang dijana), pautan muat turun yang terhad mengikut masa, atau keadaan apabila klien tidak dapat menetapkan kuki (contohnya, aplikasi mudah alih atau penstriman RTMP).
# Generate a signed URL using AWS CLI (requires a CloudFront key pair)
aws cloudfront sign \
--url https://d1234abcdef.cloudfront.net/premium/video.mp4 \
--key-pair-id APKA1234567890 \
--private-key file://private-key.pem \
--date-less-than 2026-06-21T00:00:00ZKuki CloudFront Ditandatangani
Kuki Ditandatangani berfungsi sama seperti URL Ditandatangani, tetapi memberikan akses kepada berbilang fail tanpa mengubah setiap URL. Selepas pengesahan berjaya, pelayan anda menjana tiga kuki (CloudFront-Policy, CloudFront-Signature, CloudFront-Key-Pair-Id) dan menetapkannya dalam respons pelayar. Permintaan CloudFront seterusnya daripada pelayar itu akan menyertakan kuki tersebut, lalu memberikan akses kepada semua kandungan yang sepadan.
Kuki Ditandatangani paling sesuai untuk: memberikan pengguna yang telah log masuk akses kepada keseluruhan bahagian premium (contohnya, semua video dalam /members/*), atau apabila anda tidak dapat mengawal format URL bagi setiap sumber secara individu.
Kumpulan Kunci Dipercayai
Untuk menjana tandatangan CloudFront, anda memerlukan pasangan kunci CloudFront. Pendekatan moden menggunakan Kumpulan Kunci Dipercayai: cipta pasangan kunci RSA, muat naik kunci awam ke CloudFront, tambahkannya pada kumpulan kunci, kemudian kaitkan kumpulan kunci itu dengan tingkah laku cache yang memerlukan akses ditandatangani.
Kunci persendirian disimpan dengan selamat (contohnya, dalam Secrets Manager) pada pelayan penandatanganan anda. Apabila pengguna disahkan, pelayan menggunakan kunci persendirian untuk menandatangani URL atau dasar kuki. CloudFront mengesahkan tandatangan menggunakan kunci awam sepadan dalam kumpulan kunci dipercayai.
# Upload a public key to CloudFront
aws cloudfront create-public-key \
--public-key-config '{
"Name": "MySigningKey",
"EncodedKey": "-----BEGIN PUBLIC KEY-----\n...<key>...\n-----END PUBLIC KEY-----",
"CallerReference": "2026-06-20-key"
}'Dasar URL Ditandatangani Sedia Ada berbanding Tersuai
URL Ditandatangani boleh menggunakan salah satu daripada dua jenis dasar:
- Dasar sedia ada: bentuk paling mudah—hanya menentukan URL sumber dan masa tamat tempoh. Tandatangan ini ringkas dan mudah dijana.
- Dasar tersuai: lebih fleksibel—menentukan URL sumber dengan kad bebas pilihan (
https://d123.cloudfront.net/videos/*), masa mula pilihan (belum sah sebelum masa ini), dan secara pilihan sekatan alamat IP. JSON dasar dikodkan dalam Base64 di dalam URL.
Gunakan dasar sedia ada untuk pautan mudah kepada satu fail; gunakan dasar tersuai apabila anda memerlukan padanan sumber menggunakan kad bebas atau sekatan berasaskan IP.
Sekatan Geografi CloudFront
Sekatan geografi (juga dipanggil sekatan mengikut geografi) menyekat atau membenarkan CloudFront menyampaikan kandungan berdasarkan negara penonton. CloudFront menentukan negara penonton daripada alamat IP mereka menggunakan pangkalan data geolokasi pihak ketiga.
Anda mengkonfigurasi sekatan geografi bagi setiap pengedaran sebagai sama ada senarai benarkan (hanya negara yang disenaraikan boleh mengakses kandungan) atau senarai sekat (negara yang disenaraikan disekat). Pengguna di negara yang disekat menerima respons HTTP 403. Sekatan geografi ialah alat yang kasar—ia dikenakan pada keseluruhan pengedaran, bukan laluan individu.
# Enable geo-restriction: block two countries
aws cloudfront update-distribution \
--id EDFDVBD6EXAMPLE \
--distribution-config '{
...existing config...
"Restrictions": {
"GeoRestriction": {
"RestrictionType": "blacklist",
"Quantity": 2,
"Items": ["CN", "RU"]
}
}
}' \
--if-match ETVPDKIKX0DERSekatan Geografi berbanding Geolokasi Route 53
Sekatan geografi CloudFront dan penghalaan geolokasi Route 53 kedua-duanya menggunakan geografi, tetapi mempunyai tujuan yang berbeza:
- sekatan geografi CloudFront: menyekat atau membenarkan penyampaian dari lokasi pinggir kandungan pada lapisan CDN—mengembalikan 403 kepada negara yang disekat; dikenakan bagi setiap pengedaran
- geolokasi Route 53: menghala pertanyaan DNS ke titik akhir yang berbeza (pelayan atau halaman yang berbeza) berdasarkan geografi—tidak menyekat akses tetapi mengubah hala ke kandungan atau infrastruktur yang berbeza
Gunakan sekatan geografi CloudFront untuk kawalan akses (menyekat seluruh negara). Gunakan geolokasi Route 53 untuk menghala pengguna ke kandungan atau infrastruktur yang sesuai mengikut wilayah.
Menggabungkan URL Ditandatangani dengan S3 dan OAC
Reka bentuk seni bina penyampaian kandungan persendirian yang lengkap:
- Baldi S3 adalah persendirian (tiada akses awam)
- CloudFront menggunakan OAC supaya hanya pengedaran boleh membaca daripada S3
- Tingkah laku cache untuk kandungan persendirian memerlukan URL atau kuki ditandatangani (Kumpulan Kunci Dipercayai dikaitkan)
- Pelayan aplikasi anda mengesahkan pengguna dan mengeluarkan URL/kuki ditandatangani
- Pengguna mengakses kandungan hanya melalui URL CloudFront ditandatangani yang terhad mengikut masa
Walaupun pengguna meneka atau berkongsi URL S3, akses tetap disekat. Walaupun mereka berkongsi URL CloudFront, URL itu akan tamat tempoh selepas masa yang dikonfigurasi. Pendekatan berlapis ini menyediakan pertahanan berlapis untuk kandungan digital.
Penyulitan Tahap Medan
Penyulitan tahap medan ialah ciri CloudFront lanjutan yang membolehkan medan data sensitif dalam permintaan HTTP POST disulitkan di lokasi pinggir sebelum dihantar kepada sumber asal. Walaupun pelayan sumber asal terjejas, medan yang disulitkan (contohnya, nombor kad kredit dan SSN) kekal tidak boleh dibaca tanpa kunci persendirian yang sepadan.
CloudFront menyulitkan medan yang ditentukan menggunakan kunci awam di lokasi pinggir. Hanya perkhidmatan bahagian belakang yang dimaksudkan dan mempunyai kunci persendirian sepadan boleh menyahsulit data tersebut. Penyulitan tahap medan menambah satu lapisan perlindungan dalam saluran paip yang telah dilindungi TLS.
Corak Kawalan Akses Berasaskan Token
Untuk aplikasi dinamik yang memerlukan kawalan akses terperinci melampaui penyekatan mengikut peringkat negara, corak yang biasa digunakan ialah akses berasaskan token menggunakan Lambda@Edge:
- Pengguna mengesahkan identiti dengan Cognito atau perkhidmatan pengesahan anda dan menerima JWT
- Pengguna menyertakan JWT sebagai parameter pertanyaan atau kuki dalam permintaan CloudFront
- Fungsi Lambda@Edge Viewer-Request mengesahkan tandatangan dan tuntutan JWT
- Jika sah, Lambda@Edge menghantar permintaan kepada sumber asal; jika tidak sah, ia mengembalikan 401
Ini memberikan kawalan akses terperinci mengikut pengguna dan sumber sepenuhnya di lokasi pinggir CloudFront, tanpa mencapai sumber asal untuk permintaan yang tidak dibenarkan.
Ringkasan Kes Penggunaan Dunia Sebenar
Pola senario peperiksaan untuk URL/Kuki Ditandatangani dan sekatan geografi:
- 'Pautan muat turun terhad mengikut masa untuk fail yang dibeli' → URL Ditandatangani dengan tempoh tamat
- 'Pengguna premium yang telah log masuk mengakses semua video dalam /premium/*' → Kuki Ditandatangani dengan dasar kad bebas
- 'Sekat akses pengguna di negara tertentu atas sebab pelesenan' → senarai sekat sekatan geografi CloudFront
- 'Sampaikan kandungan yang berbeza kepada negara yang berbeza' → geolokasi Route 53 + berbilang pengedaran atau sumber asal
- 'Lindungi medan kad kredit walaupun daripada pentadbir sumber asal' → penyulitan tahap medan
Semakan Pantas
Uji pemahaman anda tentang konsep AWS Solutions Architect (SAA-C03) daripada pelajaran ini.
Imbas Kembali Pelajaran
Dalam pelajaran ini, anda telah mempelajari bahawa: URL Ditandatangani mengehadkan akses kepada fail individu dengan masa tamat tempoh dan sekatan IP pilihan, Kuki Ditandatangani memberikan akses kepada berbilang fail yang sepadan dengan corak laluan dalam satu sesi yang disahkan, dan sekatan geografi menyekat atau membenarkan seluruh negara pada peringkat pengedaran CloudFront. Seterusnya, kita akan meneroka CloudFront dengan WAF dan Lambda@Edge.
Pelajari AWS Solutions Architect dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Soalan Lazim
Adakah pelajaran “URL Ditandatangani, Kuki Ditandatangani dan Sekatan Geografi” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran AWS Solutions Architect, termasuk “URL Ditandatangani, Kuki Ditandatangani dan Sekatan Geografi”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus AWS Solutions Architect merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “URL Ditandatangani, Kuki Ditandatangani dan Sekatan Geografi”?
Hadkan akses kepada kandungan premium menggunakan URL dan kuki yang ditandatangani, serta sekat pengguna dari negara tertentu dengan sekatan geografi. Anda berlatih AWS Solutions Architect menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan AWS Solutions Architect?
Tiada pengalaman terdahulu diperlukan. Pembelajaran AWS Solutions Architect di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.
Berapa lamakah pelajaran “URL Ditandatangani, Kuki Ditandatangani dan Sekatan Geografi” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran AWS Solutions Architect ini?
Ya. Setiap pelajaran AWS Solutions Architect menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Edaran dan Asal CloudFront
- Tingkah Laku Cache dan Tetapan TTL
- URL Ditandatangani, Kuki Ditandatangani dan Sekatan Geografi
- CloudFront dengan WAF dan Lambda@Edge