

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
<a name="private-content-trusted-signers"></a>

**Topics**
+ [Pilih antara grup kunci tepercaya (disarankan) dan Akun AWS](#choosing-key-groups-or-AWS-accounts)
+ [Buat pasangan kunci untuk penandatangan Anda](#private-content-creating-cloudfront-key-pairs)
+ [Memformat ulang kunci pribadi (hanya .NET dan Java)](#private-content-reformatting-private-key)
+ [Menambahkan tanda tangan ke distribusi](#private-content-adding-trusted-signers)
+ [Pasangan kunci berputar](#private-content-rotating-key-pairs)

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](#choosing-key-groups-or-AWS-accounts).

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 URL atau cookie. Ketika seseorang meminta file terbatas, CloudFront membandingkan tanda tangan di URL atau cookie dengan URL atau cookie yang tidak ditandatangani, untuk memverifikasi bahwa itu belum dirusak. CloudFront juga memverifikasi bahwa URL atau cookie 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 tanda tangan (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](#choosing-key-groups-or-AWS-accounts).

1. Untuk signer yang Anda pilih pada langkah 1, buat pasangan kunci publik–pribadi. Untuk informasi selengkapnya, lihat [Buat pasangan kunci untuk penandatangan Anda](#private-content-creating-cloudfront-key-pairs).

1. Jika Anda menggunakan .NET atau Java untuk membuat cookie yang ditandatangani URLs atau ditandatangani, format ulang kunci pribadi. Untuk informasi selengkapnya, lihat [Memformat ulang kunci pribadi (hanya .NET dan Java)](#private-content-reformatting-private-key).

1. Dalam distribusi yang Anda buat cookie yang ditandatangani URLs atau ditandatangani, tentukan penandatangan. Untuk informasi selengkapnya, lihat [Menambahkan tanda tangan ke distribusi](#private-content-adding-trusted-signers).

## Pilih antara grup kunci tepercaya (disarankan) dan Akun AWS
<a name="choosing-key-groups-or-AWS-accounts"></a>

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](https://docs.aws.amazon.com/general/latest/gr/root-vs-iam.html#aws_tasks-that-require-root) 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 utama. Saat Anda menggunakan pengguna AWS root, Anda harus menggunakan Konsol Manajemen AWS 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
<a name="private-content-creating-cloudfront-key-pairs"></a>

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:
+ Ini harus berupa key pair SSH-2 RSA 2048 atau ECDSA 256.
+ Informasi tersebut harus dalam format PEM yang dikodekan base64.

Untuk membantu mengamankan aplikasi Anda, kami sarankan Anda memutar pasangan kunci secara berkala. Untuk informasi selengkapnya, lihat [Pasangan kunci berputar](#private-content-rotating-key-pairs).

### Buat pasangan kunci untuk kelompok kunci yang dipercaya (disarankan)
<a name="create-key-pair-and-key-group"></a>

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

1. Ciptakan pasangan kunci publik–pribadi.

1. Unggah kunci publik ke CloudFront.

1. Tambahkan kunci publik ke grup CloudFront kunci.

Untuk informasi selengkapnya, lihat prosedur berikut.<a name="private-content-uploading-cloudfront-public-key-procedure"></a>

**Untuk membuat pasangan kunci**
**catatan**  
Langkah-langkah berikut menggunakan OpenSSL sebagai contoh dari satu metode untuk membuat key pair. Ada banyak cara lain untuk membuat key pair RSA atau ECDSA.

1. Jalankan salah satu perintah contoh berikut:
   + Contoh perintah berikut menggunakan OpenSSL untuk membuat pasangan kunci RSA dengan panjang 2048 bit dan menyimpan ke file dengan nama `private_key.pem`.

     ```
     openssl genrsa -out private_key.pem 2048
     ```
   + Contoh perintah berikut menggunakan OpenSSL untuk menghasilkan key pair ECDSA `prime256v1` dengan kurva dan simpan ke file bernama. `private_key.pem`

     ```
     openssl ecparam -name prime256v1 -genkey -noout -out privatekey.pem
     ```

1. 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 Konsol Manajemen AWS dan buka CloudFront konsol di[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Dalam menu navigasi, pilih **Kunci publik**.

1. Pilih **Buat kunci publik**.

1. Di jendela **Create public key**, lakukan hal berikut:

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

   1. 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.

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

   Setelah selesai, pilih **Tambahkan**.

1. 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 di[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Dalam menu navigasi, pilih **Kelompok utama**.

1. Pilih **Tambahkan kelompok kunci**.

1. Di **Buat grup utama** , lakukan hal berikut:

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

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

   1. 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.

1. Pilih **Buat grup utama**.

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

### Buat CloudFront key pair (tidak disarankan, membutuhkan pengguna Akun AWS root)
<a name="create-key-pair-aws-account"></a>

**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, lihat[Buat pasangan kunci untuk kelompok kunci yang dipercaya (disarankan)](#create-key-pair-and-key-group).

Anda dapat membuat CloudFront key pair dengan cara berikut:
+ Buat key pair di Konsol Manajemen AWS dan unduh kunci privat. Lihat prosedur berikut.
+ Buat pasangan kunci RSA dengan menggunakan aplikasi seperti OpenSSL, lalu unggah kunci publik ke Konsol Manajemen AWS. Untuk informasi lebih lanjut tentang membuat pasangan kunci RSA, lihat [Buat pasangan kunci untuk kelompok kunci yang dipercaya (disarankan)](#create-key-pair-and-key-group).<a name="private-content-creating-cloudfront-key-pairs-procedure"></a>

**Untuk membuat pasangan CloudFront kunci di Konsol Manajemen AWS**

1. Masuk ke Konsol Manajemen AWS menggunakan kredensyal pengguna root AWS akun.
**penting**  
Pengguna IAM tidak dapat membuat pasangan CloudFront kunci. Anda harus masuk menggunakan kredensial pengguna akar untuk membuat pasangan kunci.

1. Pilih nama akun Anda, lalu pilih **Kredensial Keamanan Saya**.

1. Pilih **CloudFront pasangan kunci**.

1. 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.

1. 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.

1. 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.

1. Catat ID pasangan kunci untuk pasangan kunci Anda. (Dalam Konsol Manajemen AWS, ini disebut **ID Kunci Akses**.) Anda akan menggunakannya saat membuat cookie yang ditandatangani URLs atau ditandatangani.

## Memformat ulang kunci pribadi (hanya .NET dan Java)
<a name="private-content-reformatting-private-key"></a>

Jika Anda menggunakan .NET atau Java untuk membuat cookie yang ditandatangani URLs atau ditandatangani, Anda tidak dapat menggunakan kunci pribadi dari key pair Anda dalam format PEM default untuk membuat tanda tangan. Sebaliknya, lakukan hal berikut:
+ **Kerangka kerja .NET** – Konversikan kunci pribadi ke format XML yang digunakan kerangka kerja .NET. Tersedia beberapa alat.
+ **Jawa** – Mengonversi kunci pribadi menjadi format DER. Salah satu cara untuk melakukannya adalah dengan perintah OpenSSL. Dengan perintah berikut, `private_key.pem` adalah nama file yang berisi kunci pribadi yang diformat PEM, dan `private_key.der` adalah nama file yang berisi kunci pribadi yang diformat DER setelah Anda menjalankan perintah.

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

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

## Menambahkan tanda tangan ke distribusi
<a name="private-content-adding-trusted-signers"></a>

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](DownloadDistValuesCacheBehavior.md#DownloadDistValuesPathPattern).
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 tanda tangan, CloudFront tolak permintaan yang tidak menyertakan URL bertanda tangan yang valid atau cookie yang ditandatangani.

Anda dapat menambahkan tanda tangan ke distribusi 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.<a name="private-content-adding-trusted-signers-console-procedure"></a>

**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)](#create-key-pair-and-key-group).

1. Buka CloudFront konsol di[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. 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.

1. Pilih **Perilaku** tab.

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

1. Di **Edit Perilaku** , lakukan hal berikut:

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

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

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

1. 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 *Referensi Amazon CloudFront API*:
+ **Perbarui distribusi yang ada** — [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html)
+ **Buat distribusi baru** — [CreateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html)

------

## Pasangan kunci berputar
<a name="private-content-rotating-key-pairs"></a>

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)](#create-key-pair-and-key-group).

1. Jika Anda membuat grup kunci baru di langkah sebelumnya, [menambahkan grup utama ke dalam distribusi sebagai penanda tangan](#private-content-adding-trusted-signers).
**penting**  
Jangan hapus kunci publik yang ada dari grup utama, atau grup utama mana pun dari distribusi. Hanya tambahkan yang baru.

1. 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.

1. 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.