Tentukan penandatangan yang dapat membuat cookie yang ditandatangani URLs dan ditandatangani - Amazon CloudFront

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

Tentukan penandatangan yang dapat membuat cookie yang ditandatangani URLs dan ditandatangani

Untuk membuat cookie yang ditandatangani URLs atau ditandatangani, Anda memerlukan penandatangan. Penandatangan adalah grup kunci tepercaya yang Anda buat CloudFront, atau AWS akun yang berisi CloudFront key pair. Kami menyarankan Anda menggunakan grup kunci tepercaya dengan cookie yang ditandatangani URLs dan ditandatangani. Untuk informasi selengkapnya, lihat Pilih antara grup kunci tepercaya (disarankan) dan Akun AWS.

Signer memiliki dua tujuan:

  • Segera setelah Anda menambahkan tanda tangan ke distribusi Anda, CloudFront mulai mengharuskan pemirsa menggunakan cookie yang ditandatangani URLs atau ditandatangani untuk mengakses file Anda.

  • Saat Anda membuat cookie yang ditandatangani URLs atau ditandatangani, Anda menggunakan kunci pribadi dari key pair penandatangan untuk menandatangani sebagian dari cookie URL atau cookie. Ketika seseorang meminta file terbatas, CloudFront membandingkan tanda tangan di cookie URL atau dengan cookie yang tidak ditandatangani URL atau cookie, untuk memverifikasi bahwa itu belum dirusak. CloudFront juga memverifikasi bahwa cookie URL atau valid, artinya, misalnya, bahwa tanggal kedaluwarsa dan waktu belum berlalu.

Saat Anda menentukan penandatangan, Anda juga secara tidak langsung menentukan file yang memerlukan cookie yang ditandatangani URLs atau ditandatangani dengan menambahkan penandatangan ke perilaku cache. Jika distribusi Anda hanya memiliki satu perilaku cache, pemirsa harus menggunakan cookie yang ditandatangani URLs atau ditandatangani untuk mengakses file apa pun dalam distribusi. Jika Anda membuat beberapa perilaku cache dan menambahkan tanda tangan ke beberapa perilaku cache dan tidak ke yang lain, Anda dapat meminta pemirsa menggunakan cookie yang ditandatangani URLs atau ditandatangani untuk mengakses beberapa file dan bukan yang lain.

Untuk menentukan penandatangan (kunci pribadi) yang diizinkan untuk membuat cookie yang ditandatangani URLs atau ditandatangani, dan untuk menambahkan penandatangan ke CloudFront distribusi Anda, lakukan tugas-tugas berikut:

  1. Putuskan apakah akan menggunakan grup kunci tepercaya atau Akun AWS sebagai penandatangan. Kami merekomendasikan penggunaan grup kunci tepercaya. Untuk informasi selengkapnya, lihat Pilih antara grup kunci tepercaya (disarankan) dan Akun AWS.

  2. Untuk signer yang Anda pilih pada langkah 1, buat pasangan kunci publik–pribadi. Untuk informasi selengkapnya, lihat Buat pasangan kunci untuk penandatangan Anda.

  3. Jika Anda menggunakan. NETatau Java untuk membuat cookie yang ditandatangani URLs atau ditandatangani, memformat ulang kunci pribadi. Untuk informasi selengkapnya, lihat Memformat ulang kunci pribadi (. NETdan Java saja).

  4. Dalam distribusi yang Anda buat cookie yang ditandatangani URLs atau ditandatangani, tentukan penandatangan. Untuk informasi selengkapnya, lihat Menambahkan tanda tangan ke distribusi.

Pilih antara grup kunci tepercaya (disarankan) dan Akun AWS

Untuk menggunakan cookie yang ditandatangani URLs atau ditandatangani, Anda memerlukan penandatangan. Penandatangan adalah grup kunci tepercaya yang Anda buat CloudFront, atau Akun AWS yang berisi CloudFront key pair. Kami sarankan Anda menggunakan grup kunci tepercaya, karena alasan berikut:

  • Dengan grup CloudFront kunci, Anda tidak perlu menggunakan pengguna root AWS akun untuk mengelola kunci publik untuk cookie yang CloudFront ditandatangani URLs dan ditandatangani. AWS praktik terbaik merekomendasikan agar Anda tidak menggunakan pengguna root saat Anda tidak perlu melakukannya.

  • Dengan grup CloudFront kunci, Anda dapat mengelola kunci publik, grup kunci, dan penandatangan tepercaya menggunakan. CloudFront API Anda dapat menggunakan API untuk mengotomatiskan pembuatan kunci dan rotasi kunci. Saat Anda menggunakan pengguna AWS root, Anda harus menggunakan AWS Management Console untuk mengelola pasangan CloudFront kunci, sehingga Anda tidak dapat mengotomatiskan prosesnya.

  • Karena Anda dapat mengelola grup kunci dengan CloudFront API, Anda juga dapat menggunakan kebijakan izin AWS Identity and Access Management (IAM) untuk membatasi apa yang diizinkan dilakukan oleh pengguna yang berbeda. Misalnya, Anda dapat mengizinkan pengguna mengunggah kunci publik, tetapi tidak dapat menghapusnya. Atau Anda dapat mengizinkan pengguna untuk menghapus kunci publik, tetapi hanya jika kondisi tertentu terpenuhi, seperti menggunakan autentikasi multifaktor, mengirim permintaan dari jaringan tertentu, atau mengirim permintaan dalam rentang tanggal dan waktu tertentu.

  • Dengan grup CloudFront kunci, Anda dapat mengaitkan jumlah kunci publik yang lebih tinggi dengan CloudFront distribusi Anda, memberi Anda lebih banyak fleksibilitas dalam cara Anda menggunakan dan mengelola kunci publik. Secara default, Anda dapat mengaitkan hingga empat kelompok utama dengan satu distribusi, dan Anda dapat memiliki hingga lima kunci publik dalam grup utama.

    Saat Anda menggunakan pengguna root AWS akun untuk mengelola pasangan CloudFront kunci, Anda hanya dapat memiliki hingga dua pasangan CloudFront kunci aktif per AWS akun.

Buat pasangan kunci untuk penandatangan Anda

Setiap penandatangan yang Anda gunakan untuk membuat cookie yang CloudFront ditandatangani URLs atau ditandatangani harus memiliki key pair publik-pribadi. Penandatangan menggunakan kunci pribadinya untuk menandatangani URL atau cookie, dan CloudFront menggunakan kunci publik untuk memverifikasi tanda tangan.

Cara Anda membuat key pair tergantung pada apakah Anda menggunakan grup kunci tepercaya sebagai penandatangan (recommended), atau CloudFront key pair. Untuk informasi selengkapnya, silakan lihat bagian-bagian berikut ini. Pasangan kunci yang Anda buat harus memenuhi persyaratan berikut:

  • Itu harus berupa SSH -2 RSA key pair.

  • Itu harus dalam format yang dikodekan base64PEM.

  • Pasangan kunci harus 2048-bit.

Untuk membantu mengamankan aplikasi Anda, kami sarankan Anda memutar pasangan kunci secara berkala. Untuk informasi selengkapnya, lihat Pasangan kunci berputar.

Buat pasangan kunci untuk kelompok kunci yang dipercaya (disarankan)

Untuk membuat pasangan kunci untuk grup kunci tepercaya, lakukan langkah-langkah berikut:

  1. Ciptakan pasangan kunci publik–pribadi.

  2. Unggah kunci publik ke CloudFront.

  3. Tambahkan kunci publik ke grup CloudFront kunci.

Untuk informasi selengkapnya, lihat prosedur berikut.

Untuk membuat pasangan kunci
catatan

Langkah-langkah berikut menggunakan Open SSL sebagai contoh salah satu cara untuk membuat key pair. Ada banyak cara lain untuk membuat RSA key pair.

  1. Contoh perintah berikut menggunakan Open SSL untuk menghasilkan sebuah RSA key pair dengan panjang 2048 bit dan menyimpan ke file bernamaprivate_key.pem.

    openssl genrsa -out private_key.pem 2048
  2. Berkas yang dihasilkan berisi baik publik maupun kunci pribadi. Contoh perintah berikut mengekstrak kunci publik dari file yang diberi nama private_key.pem.

    openssl rsa -pubout -in private_key.pem -out public_key.pem

    Anda mengunggah kunci publik (di public_key.pem file) nanti, dalam prosedur berikut.

Untuk mengunggah kunci publik ke CloudFront
  1. Masuk ke AWS Management Console dan buka CloudFront konsol dihttps://console.aws.amazon.com/cloudfront/v4/home.

  2. Dalam menu navigasi, pilih Kunci publik.

  3. Pilih Buat kunci publik.

  4. Di jendela Create public key, lakukan hal berikut:

    1. Untuk Nama kunci, ketik nama untuk mengidentifikasi kunci publik.

    2. Untuk Nilai utama, merekatkan kunci publik. Jika Anda mengikuti langkah-langkah dalam prosedur sebelumnya, kunci publik ada dalam file dengan nama public_key.pem. Untuk menyalin dan menempelkan isi kunci publik, Anda dapat:

      • Gunakan perintah cat pada baris perintah macOS atau Linux, seperti ini:

        cat public_key.pem

        Salin hasil dari perintah tersebut, kemudian rekatkan ke Nilai utama bidang.

      • Buka public_key.pem file dengan editor teks biasa seperti Notepad (di Windows) atau (di macOS). TextEdit Salin konten file, lalu tempelkan ke Nilai utama bidang.

    3. (Opsional) Untuk Komentar, tambahkan komentar untuk menggambarkan kunci publik.

    Setelah selesai, pilih Tambahkan.

  5. Catat ID kunci publik. Anda menggunakannya nanti ketika Anda membuat cookie yang ditandatangani URLs atau ditandatangani, sebagai nilai Key-Pair-Id bidang.

Untuk menambahkan kunci publik ke kelompok utama
  1. Buka CloudFront konsol dihttps://console.aws.amazon.com/cloudfront/v4/home.

  2. Dalam menu navigasi, pilih Kelompok utama.

  3. Pilih Tambahkan kelompok kunci.

  4. Di Buat grup utama , lakukan hal berikut:

    1. Untuk Nama grup utama, ketikkan nama untuk mengidentifikasi kelompok kunci.

    2. (Opsional) Untuk Komentar, ketik komentar untuk mendeskripsikan kelompok utama.

    3. Untuk Kunci publik, pilih kunci publik untuk ditambahkan ke kelompok utama, lalu pilih Tambahkan. Ulangi langkah ini untuk setiap kunci publik yang ingin Anda tambahkan ke grup utama.

  5. Pilih Buat grup utama.

  6. Catat nama kelompok kunci. Anda menggunakannya nanti untuk mengaitkan grup kunci dengan perilaku cache dalam CloudFront distribusi. (Dalam CloudFront API, Anda menggunakan ID grup kunci untuk mengaitkan grup kunci dengan perilaku cache.)

penting

Kami sarankan Anda membuat kunci publik untuk grup kunci yang dipercaya, bukan mengikuti langkah-langkah ini. Untuk cara yang disarankan untuk membuat kunci publik untuk cookie yang ditandatangani URLs dan ditandatangani, lihatBuat pasangan kunci untuk kelompok kunci yang dipercaya (disarankan).

Anda dapat membuat CloudFront key pair dengan cara berikut:

  • Buat key pair di AWS Management Console dan unduh kunci privat. Lihat prosedur berikut.

  • Buat RSA key pair dengan menggunakan aplikasi seperti OpenSSL, lalu upload public key ke file AWS Management Console. Untuk informasi selengkapnya tentang membuat RSA key pair, lihatBuat pasangan kunci untuk kelompok kunci yang dipercaya (disarankan).

Untuk membuat pasangan CloudFront kunci di AWS Management Console
  1. Masuk ke AWS Management Console menggunakan kredensi pengguna root AWS akun.

    penting

    IAMpengguna tidak dapat membuat pasangan CloudFront kunci. Anda harus masuk menggunakan kredensial pengguna akar untuk membuat pasangan kunci.

  2. Pilih nama akun Anda, lalu pilih Kredensial Keamanan Saya.

  3. Pilih CloudFront pasangan kunci.

  4. Konfirmasikan bahwa Anda tidak memiliki lebih dari satu pasangan kunci aktif. Anda tidak dapat membuat pasangan kunci jika Anda sudah memiliki dua pasangan kunci aktif.

  5. Pilih Buat Pasangan Kunci Baru.

    catatan

    Anda juga dapat memilih untuk membuat key pair Anda sendiri dan mengunggah kunci publik. CloudFront pasangan kunci mendukung kunci 1024, 2048, atau 4096-bit.

  6. Di Buat Pasangan Utama kotak dialog, pilih Unduh File Kunci Pribadi, lalu simpan file di komputer Anda.

    penting

    Simpan kunci pribadi untuk CloudFront key pair Anda di lokasi yang aman, dan atur izin pada file sehingga hanya administrator yang diinginkan yang dapat membacanya. Jika seseorang mendapatkan kunci pribadi Anda, mereka dapat menghasilkan cookie yang ditandatangani URLs dan ditandatangani yang valid dan mengunduh konten Anda. Anda tidak bisa mendapatkan kunci pribadi lagi, jadi jika Anda kehilangan atau menghapusnya, Anda harus membuat CloudFront key pair baru.

  7. Catat ID pasangan kunci untuk pasangan kunci Anda. (Dalam AWS Management Console, ini disebut ID Kunci Akses.) Anda akan menggunakannya saat membuat cookie yang ditandatangani URLs atau ditandatangani.

Memformat ulang kunci pribadi (. NETdan Java saja)

Jika Anda menggunakan. NETatau Java untuk membuat cookie yang ditandatangani URLs atau ditandatangani, Anda tidak dapat menggunakan kunci pribadi dari key pair Anda dalam PEM format default untuk membuat tanda tangan. Sebagai gantinya, lakukan hal berikut:

  • . NETframework — Mengkonversi kunci pribadi ke XML format yang. NETpenggunaan kerangka kerja. Tersedia beberapa alat.

  • Java — Mengkonversi kunci pribadi ke DER format. Salah satu cara untuk melakukannya adalah dengan SSL perintah Open berikut. Dalam perintah berikut, private_key.pem adalah nama file yang berisi kunci pribadi yang PEM diformat -, dan private_key.der merupakan nama file yang berisi kunci pribadi yang DER diformat -setelah Anda menjalankan perintah.

    openssl pkcs8 -topk8 -nocrypt -in private_key.pem -inform PEM -out private_key.der -outform DER

    Untuk memastikan bahwa encoder berfungsi dengan benar, tambahkan kriptografi Bouncy Castle Java APIs ke proyek Anda dan kemudian tambahkan penyedia Bouncy Castle. JAR

Menambahkan tanda tangan ke distribusi

Penandatangan adalah grup kunci tepercaya (recommended) atau CloudFront key pair yang dapat membuat cookie yang ditandatangani URLs dan ditandatangani untuk distribusi. Untuk menggunakan cookie yang ditandatangani URLs atau ditandatangani dengan CloudFront distribusi, Anda harus menentukan penandatangan.

Signer dikaitkan dengan perilaku cache. Ini memungkinkan Anda untuk meminta cookie yang ditandatangani URLs atau ditandatangani untuk beberapa file dan bukan untuk yang lain dalam distribusi yang sama. Distribusi memerlukan ditandatangani URLs atau cookie hanya untuk file yang terkait dengan perilaku cache yang sesuai.

Demikian pula, penandatangan hanya dapat menandatangani URLs atau cookie untuk file yang terkait dengan perilaku cache yang sesuai. Misalnya, jika Anda memiliki satu penandatangan untuk satu perilaku cache dan penandatangan yang berbeda untuk perilaku cache yang berbeda, penandatangan tidak dapat membuat tanda tangan URLs atau cookie untuk file yang terkait dengan perilaku cache lainnya.

penting

Sebelum Anda menambahkan signer ke distribusi Anda, lakukan hal berikut:

  • Tentukan pola jalur dalam perilaku cache dan urutan perilaku cache secara saksama sehingga Anda tidak memberi pengguna akses yang tidak diinginkan ke konten Anda atau mencegah mereka mengakses konten yang ingin tersedia bagi semua orang.

    Misalnya, anggaplah permintaan tersebut sesuai dengan pola jalur untuk perilaku cache. Perilaku cache pertama tidak memerlukan cookie yang ditandatangani URLs atau ditandatangani dan perilaku cache kedua tidak. Pengguna akan dapat mengakses file tanpa menggunakan cookie yang ditandatangani URLs atau ditandatangani karena CloudFront memproses perilaku cache yang terkait dengan kecocokan pertama.

    Untuk informasi lebih lanjut tentang pola jalur, lihat Pola jalur.

  • Untuk distribusi yang sudah Anda gunakan untuk mendistribusikan konten, pastikan Anda siap untuk mulai membuat cookie yang ditandatangani URLs dan ditandatangani sebelum menambahkan penandatangan. Saat Anda menambahkan penandatangan, CloudFront tolak permintaan yang tidak menyertakan cookie yang ditandatangani URL atau ditandatangani yang valid.

Anda dapat menambahkan tanda tangan ke distribusi Anda menggunakan CloudFront konsol atau. CloudFront API

Console

Langkah-langkah berikut menunjukkan cara menambahkan kelompok kunci tepercaya sebagai signer. Anda juga dapat menambahkan Akun AWS sebagai penandatangan tepercaya, tetapi tidak disarankan.

Untuk menambahkan signer ke distribusi menggunakan konsol
  1. Catat ID kelompok utama dari kelompok kunci yang ingin Anda gunakan sebagai signer tepercaya. Untuk informasi selengkapnya, lihat Buat pasangan kunci untuk kelompok kunci yang dipercaya (disarankan).

  2. Buka CloudFront konsol dihttps://console.aws.amazon.com/cloudfront/v4/home.

  3. Pilih distribusi yang filenya ingin Anda lindungi dengan cookie yang ditandatangani URLs atau ditandatangani.

    catatan

    Untuk menambahkan signer ke distribusi baru, Anda menentukan pengaturan yang sama yang dijelaskan di langkah 6 saat Anda membuat distribusi.

  4. Pilih Perilaku tab.

  5. Pilih perilaku cache yang pola jalurnya cocok dengan file yang ingin Anda lindungi dengan cookie yang ditandatangani URLs atau ditandatangani, lalu pilih Edit.

  6. Di Edit Perilaku , lakukan hal berikut:

    1. Untuk Membatasi Akses Penampil (Gunakan Cookie yang Ditandatangani URLs atau Ditandatangani), pilih Ya.

    2. Untuk Grup Kunci Tepercaya atau Signer Tepercaya, pilih Grup Utama yang Dipercaya.

    3. Untuk Grup Utama yang Dipercaya, pilih grup utama untuk ditambahkan, lalu pilih Tambahkan. Ulangi jika Anda ingin menambahkan lebih dari satu grup kunci.

  7. Pilih Ya, Edit untuk memperbarui perilaku cache.

API

Anda dapat menggunakan CloudFront API untuk menambahkan grup kunci tepercaya sebagai penandatangan. Anda dapat menambahkan signer ke distribusi yang ada atau ke distribusi baru. Dalam kedua kasus, tentukan nilai dalam TrustedKeyGroups elemen lainnya.

Anda juga dapat menambahkan Akun AWS sebagai penandatangan tepercaya, tetapi tidak disarankan.

Lihat topik berikut di CloudFront APIReferensi Amazon:

Pasangan kunci berputar

Kami menyarankan Anda secara berkala memutar (mengubah) pasangan kunci Anda untuk cookie yang ditandatangani URLs dan ditandatangani. Untuk memutar pasangan kunci yang Anda gunakan untuk membuat cookie yang ditandatangani URLs atau ditandatangani tanpa membatalkan URLs atau cookie yang belum kedaluwarsa, lakukan tugas berikut:

  1. Buat pasangan kunci baru, dan tambahkan kunci publik ke kelompok kunci. Untuk informasi selengkapnya, lihat Buat pasangan kunci untuk kelompok kunci yang dipercaya (disarankan).

  2. Jika Anda membuat grup kunci baru di langkah sebelumnya, menambahkan grup utama ke dalam distribusi sebagai penanda tangan.

    penting

    Jangan hapus kunci publik yang ada dari grup utama, atau grup utama mana pun dari distribusi. Hanya tambahkan yang baru.

  3. Perbarui aplikasi Anda untuk membuat tanda tangan menggunakan kunci pribadi dari pasangan kunci baru. Konfirmasikan bahwa cookie yang ditandatangani URLs atau ditandatangani dengan kunci pribadi baru berfungsi.

  4. Tunggu hingga tanggal kedaluwarsa berlalu URLs atau cookie yang ditandatangani menggunakan kunci pribadi sebelumnya. Kemudian, hapus kunci publik lama dari kelompok utama. Jika Anda membuat grup kunci baru di langkah 2, hapus grup kunci lama dari distribusi Anda.