

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

# Membuat URL yang ditandatangani menggunakan kebijakan yang sudah disiapkan
<a name="private-content-creating-signed-url-canned-policy"></a>

Untuk membuat URL yang ditandatangani menggunakan kebijakan terekam, lakukan langkah-langkah berikut.<a name="private-content-creating-signed-url-canned-policy-procedure"></a>

**Untuk membuat URL yang ditandatangani menggunakan kebijakan terekam**

1. Jika Anda menggunakan .NET atau Java untuk membuat URL yang ditandatangani, dan jika Anda belum memformat ulang kunci privat untuk pasangan kunci dari format .pemiksa default ke format yang kompatibel dengan .NET atau Java, lakukan sekarang. Untuk informasi selengkapnya, lihat [Memformat ulang kunci pribadi (saja.NET dan Java)](private-content-trusted-signers.md#private-content-reformatting-private-key).

1. Gabungkan nilai-nilai berikut. Anda dapat menggunakan format dalam contoh URL yang ditandatangani ini. 

   ```
   {{https://d111111abcdef8.cloudfront.net/image.jpg}}?{{color=red&size=medium&}}Expires={{1767290400}}&Signature={{nitfHRCrtziwO2HwPfWw~yYDhUF5EwRunQA-j19DzZrvDh6hQ73lDx~-ar3UocvvRQVw6EkC~GdpGQyyOSKQim-TxAnW7d8F5Kkai9HVx0FIu-5jcQb0UEmatEXAMPLE3ReXySpLSMj0yCd3ZAB4UcBCAqEijkytL6f3fVYNGQI6}}&Key-Pair-Id={{K2JCJMDEHXQW5F}}&Hash-Algorithm={{SHA256}}
   ```

   Hapus semua ruang kosong (termasuk tab dan karakter baris baru). Anda mungkin harus memasukkan karakter escape dalam string di kode aplikasi. Semua nilai memiliki tipe`String`.  
**1. {{Base URL for the file}}**  
URL dasar adalah CloudFront URL yang akan Anda gunakan untuk mengakses file jika Anda tidak menggunakan URL yang ditandatangani, termasuk parameter string kueri Anda sendiri, jika ada. Dalam contoh sebelumnya, URL dasarnya adalah`https://d111111abcdef8.cloudfront.net/image.jpg`. Untuk informasi lebih lanjut tentang format URL untuk distribusi, lihat [Sesuaikan format URL untuk file di CloudFront](LinkFormat.md).  
   +  CloudFront URL berikut adalah untuk file gambar dalam distribusi (menggunakan nama CloudFront domain). Perhatikan bahwa `image.jpg` dalam `images` direktori. Jalur menuju file dalam URL harus sesuai dengan alur menuju file pada server HTTP Anda atau pada buket Amazon S3.

     `https://d111111abcdef8.cloudfront.net/images/image.jpg`
   +  CloudFront URL berikut menyertakan string kueri:

     `https://d111111abcdef8.cloudfront.net/images/image.jpg?size=large`
   +  CloudFront URL berikut adalah untuk file gambar dalam distribusi. Keduanya menggunakan nama domain alternatif. Yang kedua termasuk string kueri:

     `https://www.example.com/images/image.jpg`

     `https://www.example.com/images/image.jpg?color=red`
   +  CloudFront URL berikut adalah untuk file gambar dalam distribusi yang menggunakan nama domain alternatif dan protokol HTTPS:

     `https://www.example.com/images/image.jpg`  
** 2. `?`**  
Ini `?` menunjukkan bahwa parameter kueri mengikuti URL dasar. Sertakan `?` bahkan jika Anda tidak menentukan parameter kueri apa pun.  
Anda dapat menentukan parameter kueri berikut dalam urutan apa pun.  
**3. {{Your query string parameters, if any}}`&`**  
(Opsional) Anda dapat memasukkan parameter string kueri Anda sendiri. Untuk melakukannya, tambahkan ampersand (`&`) di antara masing-masing, seperti. `color=red&size=medium` Anda dapat menentukan parameter string kueri dalam urutan apa pun dalam URL.  
Parameter string kueri Anda tidak dapat diberi `Expires` nama,`Signature`,`Key-Pair-Id`, atau`Hash-Algorithm`.  
** 4. `Expires=`{{date and time in Unix time format (in seconds) and Coordinated Universal Time (UTC)}}**  
Tanggal dan waktu Anda ingin URL berhenti memungkinkan akses ke file.  
Tentukan tanggal dan waktu kedaluwarsa dalam format waktu Unix (dalam detik) dan Waktu Universal Terkoordinasi (UTC). Misalnya, 1 Januari 2026 pukul 10:00 UTC dikonversi ke `1767290400` dalam format waktu Unix, seperti yang ditunjukkan pada contoh di awal topik ini.   
Untuk menggunakan zaman zaman, tentukan bilangan bulat 64-bit untuk tanggal yang paling lambat `9223372036854775807` (Jumat, 11 April 2262 pukul 23:47:16.854 UTC).  
  
Untuk informasi tentang UTC, lihat [ RFC 3339, Tanggal dan Waktu di Internet: Stempel Waktu. ](https://tools.ietf.org/html/rfc3339)  
** 5. `&Signature=`{{hashed and signed version of the policy statement}}**  
Versi yang di-hash, ditandatangani, dan dikodekan base64 dari pernyataan kebijakan JSON. Untuk informasi selengkapnya, lihat [Membuat tanda tangan untuk URL yang ditandatangani yang menggunakan kebijakan yang dikalengkan](#private-content-canned-policy-creating-signature).  
** 6. `&Key-Pair-Id=`{{public key ID for the CloudFront public key whose corresponding private key you're using to generate the signature}}**  
ID untuk kunci CloudFront publik, misalnya,`K2JCJMDEHXQW5F`. ID kunci publik memberi tahu kunci publik CloudFront mana yang akan digunakan untuk memvalidasi URL yang ditandatangani. CloudFront membandingkan informasi dalam tanda tangan dengan informasi dalam pernyataan kebijakan untuk memverifikasi bahwa URL belum dirusak.  
Kunci publik ini harus dimiliki oleh kelompok kunci yang merupakan signer tepercaya dalam distribusi. Untuk informasi selengkapnya, lihat [Tentukan penandatangan yang dapat membuat URL yang ditandatangani dan cookie yang ditandatangani](private-content-trusted-signers.md).  
** 7. `&Hash-Algorithm=`{{SHA1 or SHA256}}**  
(Opsional) Algoritma hash yang digunakan untuk membuat tanda tangan. Nilai yang didukung adalah `SHA1` dan `SHA256`. Jika Anda tidak menentukan parameter ini, CloudFront defaultnya adalah. `SHA1`

## Membuat tanda tangan untuk URL yang ditandatangani yang menggunakan kebijakan yang dikalengkan
<a name="private-content-canned-policy-creating-signature"></a>

Untuk membuat tanda tangan untuk URL yang ditandatangani yang menggunakan kebijakan yang sudah disiapkan, selesaikan prosedur berikut.

**Topics**
+ [Membuat pernyataan kebijakan untuk URL yang ditandatangani yang menggunakan kebijakan yang dikalengkan](#private-content-canned-policy-creating-policy-statement)
+ [Membuat tanda tangan untuk URL yang ditandatangani yang menggunakan kebijakan yang dikalengkan](#private-content-canned-policy-signing-policy-statement)

### Membuat pernyataan kebijakan untuk URL yang ditandatangani yang menggunakan kebijakan yang dikalengkan
<a name="private-content-canned-policy-creating-policy-statement"></a>

Saat Anda membuat URL yang ditandatangani menggunakan kebijakan terekam, `Signature` parameter adalah versi dokumen pernyataan kebijakan yang di- hashed dan ditandatangani. Untuk URL yang ditandatangani yang menggunakan kebijakan terekam, Anda tidak menyertakan pernyataan kebijakan di URL, seperti yang Anda lakukan untuk URL yang ditandatangani dengan kebijakan khusus. Untuk membuat pernyataan kebijakan, lakukan prosedur berikut.<a name="private-content-canned-policy-creating-policy-statement-procedure"></a>

**Untuk membuat pernyataan kebijakan untuk URL yang ditandatangani menggunakan kebijakan terekam**

1. Buat pernyataan kebijakan menggunakan format JSON berikut dan menggunakan pengkodean UTF-8 karakter. Sertakan semua tanda baca dan nilai literal lainnya persis seperti yang ditentukan. Untuk informasi tentang `Resource` dan `DateLessThan` parameter, lihat [Nilai yang Anda sebutkan dalam pernyataan kebijakan untuk URL yang ditandatangani dengan menggunakan kebijakan terekam](#private-content-canned-policy-statement-values).

   ```
   {
       "Statement": [
           {
               "Resource": "base URL or stream name",
               "Condition": {
                   "DateLessThan": {
                       "AWS:EpochTime": ending date and time in Unix time format and UTC
                   }
               }
           }
       ]
   }
   ```

1. Hapus semua spasi kosong (termasuk tab dan karakter baris baru) dari pernyataan kebijakan. Anda mungkin harus memasukkan karakter escape dalam string di kode aplikasi.

#### Nilai yang Anda sebutkan dalam pernyataan kebijakan untuk URL yang ditandatangani dengan menggunakan kebijakan terekam
<a name="private-content-canned-policy-statement-values"></a>

Ketika Anda membuat pernyataan kebijakan untuk kebijakan terekam, Anda menentukan nilai-nilai berikut.

**Sumber Daya**  
Anda hanya dapat menentukan satu nilai untuk `Resource`.
URL dasar termasuk string kueri Anda, jika ada, tetapi tidak termasuk `Hash-Algorithm` parameter CloudFront `Expires` `Signature``Key-Pair-Id`,,, dan, misalnya:  
`https://d111111abcdef8.cloudfront.net/images/horizon.jpg?size=large&license=yes`  
Perhatikan hal-hal berikut:  
+ **Protokol** – Nilai harus dimulai dengan `http://` atau `https://`.
+ **Parameter string kueri** – Jika Anda tidak memiliki parameter string pencarian, hapus tanda tanya.
+ **Nama domain alternatif** – Jika Anda menentukan nama domain alternatif (CNAME) di URL, Anda harus menentukan nama domain alternatif saat merujuk file di halaman web atau aplikasi Anda. Jangan menentukan URL Amazon S3 untuk objek tersebut.
+ **Karakter khusus ** — Jika URL untuk sumber daya Anda berisi karakter tanda bintang (`*`) atau tanda tanya (`?`) (misalnya, dalam nama kunci objek), Anda harus menggunakan karakter URL-encode tersebut (`%2A`untuk `*` dan `%3F` untuk`?`). Ini karena men CloudFront afsirkan `?` karakter `*` dan karakter yang tidak dikodekan sebagai karakter wildcard di jalur sumber daya. Jika karakter ini tidak URL-encoded, URL yang ditandatangani dapat memberikan akses yang lebih luas dari yang dimaksudkan.

**DateLessThan**  
Tanggal dan waktu kedaluwarsa untuk URL dalam format waktu Unix (dalam detik) dan Waktu Universal Terkoordinasi (UTC). Misalnya, 1 Januari 2026 10:00 UTC mengonversi ke 1767290400 dalam format waktu Unix.  
Nilai ini harus cocok dengan nilai `Expires` parameter string kueri dalam URL yang ditandatangani. Jangan melampirkan nilai dalam tanda petik.  
Untuk informasi selengkapnya, lihat [Saat CloudFront memeriksa tanggal dan waktu kedaluwarsa di URL yang ditandatangani](private-content-signed-urls.md#private-content-check-expiration).

#### Contoh pernyataan kebijakan untuk URL yang ditandatangani yang menggunakan kebijakan terekam
<a name="private-content-canned-policy-creating-policy-statement-example"></a>

Bila Anda menggunakan contoh pernyataan kebijakan berikut di URL yang ditandatangani, pengguna dapat mengakses file tersebut `https://d111111abcdef8.cloudfront.net/horizon.jpg` hingga 1 Januari 2026 pukul 10.00 WIB:

```
{
    "Statement": [
        {
            "Resource": "https://d111111abcdef8.cloudfront.net/horizon.jpg?size=large&license=yes",
            "Condition": {
                "DateLessThan": {
                    "AWS:EpochTime": 1767290400
                }
            }
        }
    ]
}
```

### Membuat tanda tangan untuk URL yang ditandatangani yang menggunakan kebijakan yang dikalengkan
<a name="private-content-canned-policy-signing-policy-statement"></a>

Untuk membuat nilai untuk `Signature` parameter dalam URL yang ditandatangani, Anda telah dan menandatangani pernyataan kebijakan yang Anda buat di [Membuat pernyataan kebijakan untuk URL yang ditandatangani yang menggunakan kebijakan yang dikalengkan](#private-content-canned-policy-creating-policy-statement).

Untuk informasi tambahan dan contoh cara membuat, menandatangani, dan mengkode pernyataan kebijakan, lihat:
+ [Perintah Linux dan OpenSSL untuk pengkodean dan enkripsi base64](private-content-linux-openssl.md)
+ [Contoh kode untuk membuat tanda tangan untuk URL yang ditandatangani](PrivateCFSignatureCodeAndExamples.md)

**catatan**  
Contoh yang ditautkan SHA-1 digunakan secara default. Untuk menggunakan SHA-256 sebagai gantinya, ganti `sha1` dengan `sha256` perintah OpenSSL dan sertakan parameter ku `Hash-Algorithm=SHA256` eri di URL yang ditandatangani.<a name="private-content-canned-policy-creating-signature-download-procedure"></a>

**Opsi 1: Untuk membuat tanda tangan dengan menggunakan kebijakan terekam**

1. Gunakan fungsi SHA-256 hash SHA-1 or dan kunci pribadi RSA atau ECDSA yang dihasilkan untuk hash dan menandatangani pernyataan kebijakan yang Anda buat dalam prosedur. [Untuk membuat pernyataan kebijakan untuk URL yang ditandatangani menggunakan kebijakan terekam](#private-content-canned-policy-creating-policy-statement-procedure) Gunakan versi pernyataan kebijakan yang tidak lagi menyertakan ruang kosong.

   Jika Anda menggunakan SHA-256, Anda harus menyertakan `&Hash-Algorithm=SHA256` dalam URL yang ditandatangani.

   Untuk kunci privat yang diperlukan oleh fungsi hash, gunakan kunci pribadi yang kunci publiknya berada dalam grup kunci yang dipercaya aktif untuk distribusi.
**catatan**  
Metode yang Anda gunakan untuk men-emuk dan menandatangani pernyataan kebijakan tergantung pada bahasa pemrograman dan platform Anda. Untuk kode sampel, lihat [Contoh kode untuk membuat tanda tangan untuk URL yang ditandatangani](PrivateCFSignatureCodeAndExamples.md).

1. Hapus spasi kosong (termasuk tab dan karakter baris baru) dari string yang di-hash dan ditandatangani.

1. Base64-encode string menggunakan pengkodean MIME base64. Untuk informasi selengkapnya, lihat [ Bagian 6.8, Base64 Content-Transfer-Encoding ](https://tools.ietf.org/html/rfc2045#section-6.8) di * RFC 2045, MIME (Ekstensi Surat Internet Serbaguna) Bagian Satu: Format Badan Pesan Internet. *

1. Ganti karakter yang tidak valid dalam string kueri URL dengan karakter yang valid. Tabel berikut mencantumkan karakter yang tidak valid dan valid.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/AmazonCloudFront/latest/DeveloperGuide/private-content-creating-signed-url-canned-policy.html)

1. Tambahkan nilai yang dihasilkan ke URL Anda yang ditandatangani setelah `&Signature=`, dan kembali ke [Untuk membuat URL yang ditandatangani menggunakan kebijakan terekam](#private-content-creating-signed-url-canned-policy-procedure) untuk menyelesaikan penyatuan bagian URL yang Anda tanda tangani.