Gunakan URL yang ditandatangani - Amazon CloudFront

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Gunakan URL yang ditandatangani

URL yang ditandatangani mencakup informasi tambahan, misalnya, tanggal dan waktu kedaluwarsa, yang memberi Anda lebih banyak kendali atas akses ke konten Anda. Informasi tambahan ini muncul dalam pernyataan kebijakan, yang didasarkan pada kebijakan terekam atau kebijakan pabean. Perbedaan antara kebijakan terekam dan kustom dijelaskan dalam dua bagian berikutnya.

catatan

Anda dapat membuat beberapa URL yang ditandatangani menggunakan kebijakan terekam dan membuat beberapa URL menggunakan kebijakan khusus untuk distribusi yang sama.

Memutuskan untuk menggunakan kebijakan kalengan atau kustom untuk URL yang ditandatangani

Saat Anda membuat URL yang ditandatangani, Anda menulis pernyataan kebijakan dalam format JSON yang menetapkan batasan pada URL yang ditandatangani, misalnya, berapa lama URL tersebut valid. Anda dapat menggunakan kebijakan terekam atau kebijakan bea cukai. Berikut ini adalah perbandingan kebijakan yang dapat disesuaikan dan disesuaikan:

Deskripsi Kebijakan kalengan Kebijakan khusus

Anda dapat menggunakan kembali pernyataan kebijakan untuk beberapa file. Untuk menggunakan kembali pernyataan kebijakan, Anda harus menggunakan karakter wildcard dalam Resource objek. Untuk informasi lebih lanjut, lihat Nilai yang Anda sebutkan dalam pernyataan kebijakan untuk URL yang ditandatangani menggunakan kebijakan khusus.)

Tidak

Ya

Anda dapat menentukan tanggal dan waktu pengguna dapat mulai mengakses konten Anda.

Tidak

Ya (opsional)

Anda dapat menentukan tanggal dan waktu saat pengguna tidak lagi dapat mengakses konten Anda.

Ya

Ya

Anda dapat menentukan alamat IP atau berbagai alamat IP pengguna yang dapat mengakses konten Anda.

Tidak

Ya (opsional)

URL yang ditandatangani mencakup versi kebijakan yang dikodekan base64, yang menghasilkan URL yang lebih panjang.

Tidak

Ya

Untuk informasi tentang pembuatan URL yang ditandatangani menggunakan kebijakan terekam, lihat Membuat URL yang ditandatangani menggunakan kebijakan kalengan.

Untuk informasi tentang pembuatan URL yang ditandatangani menggunakan kebijakan terekam, lihat Membuat URL yang ditandatangani menggunakan kebijakan khusus.

Cara kerja URL yang ditandatangani

Berikut adalah ikhtisar tentang cara Anda mengonfigurasi CloudFront dan Amazon S3 untuk URL yang ditandatangani dan cara CloudFront merespons saat pengguna menggunakan URL yang ditandatangani untuk meminta file.

  1. Dalam CloudFront distribusi Anda, tentukan satu atau beberapa grup kunci tepercaya, yang berisi kunci publik yang CloudFront dapat digunakan untuk memverifikasi tanda tangan URL. Anda menggunakan kunci privat yang sesuai untuk menandatangani URL.

    Untuk informasi selengkapnya, lihat Tentukan penandatangan yang dapat membuat URL yang ditandatangani dan cookie yang ditandatangani.

  2. Kembangkan aplikasi Anda untuk menentukan apakah pengguna harus memiliki akses ke konten Anda dan untuk membuat URL yang ditandatangani untuk file atau bagian aplikasi yang ingin dibatasi aksesnya. Untuk informasi selengkapnya, lihat topik berikut:

  3. Seorang pengguna meminta file yang memerlukan URL yang ditandatangani.

  4. Aplikasi Anda memverifikasi bahwa pengguna berhak mengakses file: mereka telah masuk, mereka telah membayar akses ke konten, atau mereka telah memenuhi beberapa persyaratan lain untuk akses.

  5. Aplikasi Anda membuat dan mengembalikan URL yang ditandatangani ke pengguna.

  6. URL yang ditandatangani memungkinkan pengguna mengunduh atau men-streaming konten.

    Langkah ini bersifat otomatis; pengguna biasanya tidak perlu melakukan tindakan tambahan apa pun untuk mengakses konten. Misalnya, jika pengguna mengakses konten Anda di peramban web, aplikasi akan mengembalikan URL yang ditandatangani ke peramban. Browser segera menggunakan URL yang ditandatangani untuk mengakses file di cache CloudFront tepi tanpa campur tangan dari pengguna.

  7. CloudFront menggunakan kunci publik untuk memvalidasi tanda tangan dan mengonfirmasi bahwa URL belum dirusak. Jika tanda tangan tidak valid, permintaan ditolak.

    Jika tanda tangan valid, CloudFront lihat pernyataan kebijakan di URL (atau buat jika Anda menggunakan kebijakan kalengan) untuk mengonfirmasi bahwa permintaan tersebut masih valid. Misalnya, jika Anda menentukan tanggal dan waktu awal dan akhir untuk URL, CloudFront konfirmasikan bahwa pengguna mencoba mengakses konten Anda selama periode waktu yang ingin Anda izinkan akses.

    Jika permintaan memenuhi persyaratan dalam pernyataan kebijakan, CloudFront lakukan operasi standar: menentukan apakah file sudah ada di cache tepi, meneruskan permintaan ke asal jika perlu, dan mengembalikan file ke pengguna.

catatan

Jika URL yang belum ditandatangani memuat parameter string kueri, pastikan Anda menyertakannya di bagian URL yang Anda tanda tangani. Jika Anda menambahkan string kueri ke URL yang ditandatangani setelah menandatanganinya, URL akan mengembalikan status HTTP 403.

Tentukan berapa lama URL yang ditandatangani valid

Anda dapat mendistribusikan konten pribadi menggunakan URL bertanda tangan yang hanya berlaku sebentar—mungkin hanya selama beberapa menit. URL yang ditandatangani yang berlaku untuk periode singkat seperti itu bagus untuk mendistribusikan konten on-the-fly kepada pengguna untuk tujuan tertentu, seperti mendistribusikan penyewaan film atau unduhan musik kepada pelanggan sesuai permintaan. Jika URL yang ditandatangani Anda hanya akan berlaku untuk waktu singkat, Anda mungkin ingin membuatnya secara otomatis menggunakan aplikasi yang Anda kembangkan. Saat pengguna mulai mengunduh file atau mulai memutar file media, CloudFront bandingkan waktu kedaluwarsa di URL dengan waktu saat ini untuk menentukan apakah URL tersebut masih valid.

Anda juga dapat mendistribusikan konten pribadi menggunakan URL bertanda tangan yang valid untuk waktu yang lebih lama, mungkin selama bertahun-tahun. URL yang ditandatangani yang valid untuk periode yang lebih lama berguna untuk mendistribusikan konten privat kepada pengguna yang dikenal, seperti mendistribusikan rencana bisnis kepada investor atau mendistribusikan materi pelatihan kepada karyawan. Anda dapat mengembangkan aplikasi untuk membuat URL yang ditandatangani jangka panjang untuk Anda.

Saat CloudFront memeriksa tanggal dan waktu kedaluwarsa di URL yang ditandatangani

CloudFront memeriksa tanggal kedaluwarsa dan waktu dalam URL yang ditandatangani pada saat permintaan HTTP. Jika klien mulai mengunduh file besar segera sebelum waktu kedaluwarsa, pengunduhan harus selesai meskipun waktu kedaluwarsa sudah lewat selama pengunduhan. Jika koneksi TCP menurun dan klien mencoba memulai ulang unduhan setelah waktu kedaluwarsa berlalu, pengunduhan akan gagal.

Jika klien menggunakan Range GETs untuk mendapatkan file dalam potongan yang lebih kecil, setiap permintaan GET yang terjadi setelah waktu kedaluwarsa akan gagal. Untuk informasi lebih lanjut tentang Range GET, lihat Bagaimana CloudFront memproses permintaan sebagian untuk suatu objek (rentang GETS).

Kode contoh dan alat pihak ketiga

Misalnya, kode yang membuat bagian yang di-hash dan ditandatangani dari URL yang ditandatangani, lihat topik berikut: