Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tetapkan cookie yang ditandatangani menggunakan kebijakan khusus
Untuk mengatur cookie bertanda tangan yang menggunakan kebijakan kustom, selesaikan langkah berikut.
Untuk mengatur cookie bertanda tangan menggunakan kebijakan kustom
-
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 (hanya .NET dan Java).
-
Program aplikasi Anda untuk mengirim tiga
Set-Cookieheader ke pemirsa yang disetujui (atau empat, jika Anda ingin menentukan algoritma hash). Anda memerlukan tigaSet-Cookieheader karena setiapSet-Cookieheader hanya dapat berisi satu pasangan nama-nilai, dan cookie yang CloudFront ditandatangani memerlukan tiga pasangan nama-nilai. Pasangan nama-nilai adalah:CloudFront-Policy,CloudFront-Signature, danCloudFront-Key-Pair-Id. Anda dapat secara opsional menyertakan pasangan nama-nilai keempat,CloudFront-Hash-Algorithm, untuk menentukan algoritma hash yang digunakan untuk tanda tangan. Nilai harus ada di penampil sebelum pengguna membuat permintaan pertama untuk file yang ingin Anda kontrol akses.catatan
Secara umum, kami sarankan Anda tidak memasukkan
ExpiresdanMax-Ageatribut. Ini menyebabkan browser menghapus cookie saat pengguna menutup browser, yang mengurangi kemungkinan seseorang mendapatkan akses tidak sah ke konten Anda. Untuk informasi selengkapnya, lihat Mencegah penyalahgunaan cookie yang ditandatangani.Nama atribut cookie peka huruf besar-kecil.
Pemutusan jalur hanya disertakan untuk membuat atribut lebih mudah dibaca.
Set-Cookie: CloudFront-Policy=base64 encoded version of the policy statement; Domain=optional domain name; Path=/optional directory path; Secure; HttpOnly Set-Cookie: CloudFront-Signature=hashed and signed version of the policy statement; Domain=optional domain name; Path=/optional directory path; Secure; HttpOnly Set-Cookie: CloudFront-Key-Pair-Id=public key ID for the CloudFront public key whose corresponding private key you're using to generate the signature; Domain=optional domain name; Path=/optional directory path; Secure; HttpOnly Set-Cookie: CloudFront-Hash-Algorithm=SHA1 or SHA256; Domain=optional domain name; Path=/optional directory path; Secure; HttpOnly- (Opsional)
Domain -
Nama domain untuk file yang diminta. Jika Anda tidak menyebutkan
Domainatribut, nilai default adalah nama domain di URL, dan hanya berlaku untuk nama domain tertentu, bukan subdomain. Jika Anda menentukanDomain, ini juga berlaku untuk subdomain. Titik utama pada nama domain (misalnya,Domain=.example.com) bersifat opsional. Selain itu, jika Anda menentukanDomain, nama domain di URL dan nilaiDomainatribut harus cocok.Anda dapat menentukan nama domain yang CloudFront ditetapkan untuk distribusi Anda, misalnya, d111111abcdef8.cloudfront.net, tetapi Anda tidak dapat menentukan *.cloudfront.net untuk nama domain.
Jika Anda ingin menggunakan nama domain alternatif seperti contoh.com di URL, Anda harus menambahkan nama domain alternatif ke distribusi Anda terlepas dari apakah Anda menetapkan atribut
Domain. Untuk informasi lebih lanjut, lihat Nama domain alternatif (CNames) dalam Semua referensi pengaturan distribusi topik. - (Opsional)
Path -
Jalur untuk file yang diminta. Jika Anda tidak menyebutkan
Pathatribut, nilai default adalah alur di URL. Secure-
Meminta pemirsa mengenkripsi cookie sebelum mengirim permintaan. Kami menyarankan agar Anda mengirimkan
Set-Cookieheader melalui koneksi HTTPS untuk memastikan bahwa atribut cookie dilindungi dari serangan manusia dalam menengah. HttpOnly-
Mengharuskan penampil mengirimkan cookie hanya dalam permintaan HTTP atau HTTPS.
CloudFront-Policy-
Pernyataan kebijakan Anda dalam format JSON, dengan spasi kosong dihapus, lalu base64 dikodekan. Untuk informasi selengkapnya, lihat Membuat tanda tangan untuk cookie yang ditandatangani yang menggunakan kebijakan kustom.
Pernyataan kebijakan mengendalikan akses yang diberikan oleh cookie yang ditandatangani kepada pengguna. Ini mencakup file yang dapat diakses pengguna, tanggal dan waktu kedaluwarsa, tanggal dan waktu opsional URL menjadi valid, dan alamat IP opsional atau rentang alamat IP yang diizinkan untuk mengakses file.
CloudFront-Signature-
Versi yang di-hash, ditandatangani, dan dikodekan base64 dari pernyataan kebijakan JSON. Untuk informasi selengkapnya, lihat Membuat tanda tangan untuk cookie yang ditandatangani yang menggunakan kebijakan kustom.
CloudFront-Key-Pair-Id-
ID untuk kunci CloudFront publik, misalnya,
K2JCJMDEHXQW5F. ID kunci publik memberi tahu kunci publik CloudFront mana yang akan digunakan untuk memvalidasi URL yang ditandatangani. CloudFrontmembandingkan 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.
CloudFront-Hash-Algorithm-
(Opsional) Algoritma hash yang digunakan untuk membuat tanda tangan. Nilai yang didukung adalah
SHA1danSHA256. Jika Anda tidak menyertakan cookie ini, CloudFront defaultnya.SHA1
- (Opsional)
Contoh Set-Cookieheader untuk kebijakan kustom
Lihat contoh pasangan Set-Cookie header berikut.
Jika Anda ingin menggunakan nama domain alternatif seperti example.org di URL, Anda harus menambahkan nama domain alternatif ke distribusi Anda terlepas dari apakah Anda menentukan atribut. Domain Untuk informasi selengkapnya, lihat Nama domain alternatif (CNames) dalam topik Semua referensi pengaturan distribusi.
contoh Contoh 1
Anda dapat menggunakan Set-Cookie header untuk satu cookie yang ditandatangani saat Anda menggunakan nama domain yang terkait dengan distribusi Anda di URL untuk file Anda.
Set-Cookie: CloudFront-Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cDovL2QxMTExMTFhYmNkZWY4LmNsb3VkZnJvbnQubmV0L2dhbWVfZG93bmxvYWQuemlwIiwiQ29uZGl0aW9uIjp7IklwQWRkcmVzcyI6eyJBV1M6U291cmNlSXAiOiIxOTIuMC4yLjAvMjQifSwiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE0MjY1MDAwMDB9fX1dfQ__; Domain=d111111abcdef8.cloudfront.net; Path=/; Secure; HttpOnly Set-Cookie: CloudFront-Signature=dtKhpJ3aUYxqDIwepczPiDb9NXQ_; Domain=d111111abcdef8.cloudfront.net; Path=/; Secure; HttpOnly Set-Cookie: CloudFront-Key-Pair-Id=K2JCJMDEHXQW5F; Domain=d111111abcdef8.cloudfront.net; Path=/; Secure; HttpOnly Set-Cookie: CloudFront-Hash-Algorithm=SHA256; Domain=d111111abcdef8.cloudfront.net; Path=/; Secure; HttpOnly
contoh Contoh 2
Anda dapat menggunakan Set-Cookie header untuk satu cookie yang ditandatangani saat Anda menggunakan nama domain alternatif (example.org) di URL untuk file Anda.
Set-Cookie: CloudFront-Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cDovL2QxMTExMTFhYmNkZWY4LmNsb3VkZnJvbnQubmV0L2dhbWVfZG93bmxvYWQuemlwIiwiQ29uZGl0aW9uIjp7IklwQWRkcmVzcyI6eyJBV1M6U291cmNlSXAiOiIxOTIuMC4yLjAvMjQifSwiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE0MjY1MDAwMDB9fX1dfQ__; Domain=example.org; Path=/; Secure; HttpOnly Set-Cookie: CloudFront-Signature=dtKhpJ3aUYxqDIwepczPiDb9NXQ_; Domain=example.org; Path=/; Secure; HttpOnly Set-Cookie: CloudFront-Key-Pair-Id=K2JCJMDEHXQW5F; Domain=example.org; Path=/; Secure; HttpOnly Set-Cookie: CloudFront-Hash-Algorithm=SHA256; Domain=example.org; Path=/; Secure; HttpOnly
contoh Contoh 3
Anda dapat menggunakan pasangan Set-Cookie header untuk permintaan yang ditandatangani saat Anda menggunakan nama domain yang terkait dengan distribusi Anda di URL untuk file Anda.
Set-Cookie: CloudFront-Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cDovL2QxMTExMTFhYmNkZWY4LmNsb3VkZnJvbnQubmV0L2dhbWVfZG93bmxvYWQuemlwIiwiQ29uZGl0aW9uIjp7IklwQWRkcmVzcyI6eyJBV1M6U291cmNlSXAiOiIxOTIuMC4yLjAvMjQifSwiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE0MjY1MDAwMDB9fX1dfQ__; Domain=d111111abcdef8.cloudfront.net; Path=/; Secure; HttpOnly Set-Cookie: CloudFront-Signature=dtKhpJ3aUYxqDIwepczPiDb9NXQ_; Domain=d111111abcdef8.cloudfront.net; Path=/; Secure; HttpOnly Set-Cookie: CloudFront-Key-Pair-Id=K2JCJMDEHXQW5F; Domain=dd111111abcdef8.cloudfront.net; Path=/; Secure; HttpOnly Set-Cookie: CloudFront-Hash-Algorithm=SHA256; Domain=d111111abcdef8.cloudfront.net; Path=/; Secure; HttpOnly
contoh Contoh 4
Anda dapat menggunakan pasangan Set-Cookie header untuk satu permintaan yang ditandatangani saat Anda menggunakan nama domain alternatif (example.org) yang terkait dengan distribusi Anda di URL untuk file Anda.
Set-Cookie: CloudFront-Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cDovL2QxMTExMTFhYmNkZWY4LmNsb3VkZnJvbnQubmV0L2dhbWVfZG93bmxvYWQuemlwIiwiQ29uZGl0aW9uIjp7IklwQWRkcmVzcyI6eyJBV1M6U291cmNlSXAiOiIxOTIuMC4yLjAvMjQifSwiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE0MjY1MDAwMDB9fX1dfQ__; Domain=example.org; Path=/; Secure; HttpOnly Set-Cookie: CloudFront-Signature=dtKhpJ3aUYxqDIwepczPiDb9NXQ_; Domain=example.org; Path=/; Secure; HttpOnly Set-Cookie: CloudFront-Key-Pair-Id=K2JCJMDEHXQW5F; Domain=example.org; Path=/; Secure; HttpOnly Set-Cookie: CloudFront-Hash-Algorithm=SHA256; Domain=example.org; Path=/; Secure; HttpOnly
Membuat pernyataan kebijakan untuk cookie yang ditandatangani yang menggunakan kebijakan khusus
Untuk membuat pernyataan kebijakan untuk kebijakan kustom, selesaikan langkah berikut. Untuk beberapa contoh pernyataan kebijakan yang mengendalikan akses ke file dalam berbagai cara, lihat Contoh pernyataan kebijakan untuk cookie bertanda tangan yang menggunakan kebijakan kustom.
Untuk membuat pernyataan kebijakan untuk cookie bertanda tangan yang menggunakan kebijakan khusus
-
Buat pernyataan kebijakan dengan menggunakan format JSON berikut.
{ "Statement": [ { "Resource": "URL of the file", "Condition": { "DateLessThan": { "AWS:EpochTime":required ending date and time in Unix time format and UTC }, "DateGreaterThan": { "AWS:EpochTime":optional beginning date and time in Unix time format and UTC }, "IpAddress": { "AWS:SourceIp": "optional IP address" } } } ] }Perhatikan hal-hal berikut:
-
Anda dapat menyertakan hanya satu pernyataan.
-
Gunakan pengkodean UTF-8 karakter.
-
Sertakan semua nama tanda baca dan parameter persis seperti yang ditentukan. Singkatan untuk nama parameter tidak diterima.
-
Urutan parameter di
Conditiontidak masalah. -
Untuk informasi tentang nilai untuk
Resource,DateLessThan,DateGreaterThan, danIpAddress, lihat Nilai yang Anda sebutkan dalam pernyataan kebijakan untuk kebijakan kustom untuk cookie yang ditandatangani.
-
-
Hapus semua spasi kosong (termasuk tab dan karakter baris baru) dari pernyataan kebijakan. Anda mungkin harus memasukkan karakter escape dalam string di kode aplikasi.
-
Base64-encode pernyataan kebijakan menggunakan pengkodean MIME base64. Untuk informasi selengkapnya, lihat Bagian 6.8, Base64 Content-Transfer-Encoding
di RFC 2045, MIME (Ekstensi Surat Internet Serbaguna) Bagian Satu: Format Badan Pesan Internet. -
Ganti karakter yang tidak valid dalam string kueri URL dengan karakter yang valid. Tabel berikut mencantumkan karakter yang tidak valid dan valid.
Ganti karakter tidak valid ini Dengan karakter valid ini +
- (tanda hubung)
=
_ (garis bawah)
/
~ (tilde)
-
Sertakan nilai yang dihasilkan dalam
Set-CookiesetelahCloudFront-Policy=. -
Buat tanda tangan untuk
Set-Cookieheader untukCloudFront-Signaturedengan mengadakan, menandatangani, dan memberikan kode dasar64 pada pernyataan kebijakan. Untuk informasi selengkapnya, lihat Membuat tanda tangan untuk cookie yang ditandatangani yang menggunakan kebijakan kustom.
Nilai yang Anda sebutkan dalam pernyataan kebijakan untuk kebijakan kustom untuk cookie yang ditandatangani
Saat Anda membuat pernyataan kebijakan untuk kebijakan kustom, Anda menentukan nilai berikut.
- Sumber Daya
-
URL dasar termasuk string pencarian Anda, jika ada:
https://d111111abcdef8.cloudfront.net/images/horizon.jpg?size=large&license=yespenting
Jika Anda menghilangkan
Resourceparameter, pengguna dapat mengakses semua file yang terkait dengan distribusi apa pun yang terkait dengan pasangan kunci yang Anda gunakan untuk membuat URL yang ditandatangani.Anda hanya dapat menentukan satu nilai untuk
Resource.Perhatikan hal-hal berikut:
-
Protokol – Nilai harus dimulai dengan
http://atauhttps://. -
Parameter string kueri – Jika Anda tidak memiliki parameter string pencarian, hapus tanda tanya.
-
Wildcard – Anda dapat menggunakan karakter wildcard yang sesuai dengan nol karakter atau lebih (*) atau karakter wildcard yang persis sesuai dengan satu karakter (?) di mana pun dalam string. Misalnya, nilai:
https://d111111abcdef8.cloudfront.net/*game_download.zip*akan mencakup (misalnya) file berikut:
-
https://d111111abcdef8.cloudfront.net/game_download.zip -
https://d111111abcdef8.cloudfront.net/example_game_download.zip?license=yes -
https://d111111abcdef8.cloudfront.net/test_game_download.zip?license=temp
-
-
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 tentukan URL Amazon S3 untuk file tersebut.
-
- DateLessThan
-
Tanggal dan waktu kedaluwarsa untuk URL dalam format waktu Unix (dalam detik) dan Waktu Universal Terkoordinasi (UTC). Jangan melampirkan nilai dalam tanda petik.
Misalnya, 16 Maret 2015 10.00 UTC dikonversi menjadi 1426500000 dalam format waktu Unix.
Untuk informasi selengkapnya, lihat Saat CloudFront memeriksa tanggal dan waktu kedaluwarsa dalam cookie yang ditandatangani.
- DateGreaterThan (Opsional)
-
Tanggal dan waktu mulai opsional untuk URL dalam format waktu Unix (dalam detik) dan Waktu Universal Terkoordinasi (UTC). Pengguna tidak diizinkan untuk mengakses file pada atau sebelum tanggal dan waktu yang ditentukan. Jangan melampirkan nilai dalam tanda petik.
- IpAddress (Opsional)
-
Alamat IP klien yang membuat permintaan GET. Perhatikan hal-hal berikut:
-
Untuk mengizinkan alamat IP mengakses file, hapus
IpAddressparameter. -
Anda dapat menentukan salah satu alamat IP atau satu rentang alamat IP. Misalnya, Anda tidak dapat mengatur kebijakan untuk memungkinkan akses jika alamat IP klien berada dalam satu dari dua rentang yang berbeda.
-
Untuk memungkinkan akses dari satu alamat IP, Anda menentukan:
"IPv4 IP address/32" -
Anda harus menentukan rentang alamat IP dalam format IPv4 CIDR standar (misalnya,
192.0.2.0/24). Untuk informasi lebih lanjut, buka RFC 4632, Classless Inter-domain Routing (CIDR): Rencana Penugasan dan Agregasi Alamat Internet,. https://tools.ietf.org/html/rfc4632penting
Alamat IP dalam format IPv6, seperti 2001:0 db 8:85 a3: :8a2e: 0370:7334, tidak didukung.
Jika Anda menggunakan kebijakan khusus yang mencakup
IpAddress, jangan mengaktifkan IPv6 untuk distribusi. Jika Anda ingin membatasi akses ke sebagian konten dengan alamat IP dan mendukung permintaan IPv6 untuk konten lain, Anda dapat membuat dua distribusi. Untuk informasi lebih lanjut, lihat Aktifkan IPv6 (permintaan penampil) dalam topik Semua referensi pengaturan distribusi.
-
Contoh pernyataan kebijakan untuk cookie bertanda tangan yang menggunakan kebijakan kustom
Contoh pernyataan kebijakan berikut menunjukkan cara mengontrol akses ke file tertentu, semua file di direktori, atau semua file yang terkait dengan ID pasangan kunci. Contoh ini juga menunjukkan cara mengontrol akses dari alamat IP individu atau serangkaian alamat IP, dan cara mencegah pengguna menggunakan cookie yang ditandatangani setelah tanggal dan waktu yang ditentukan.
Jika Anda menyalin dan menempelkan salah satu contoh ini, hapus spasi kosong (termasuk tab dan karakter baris baru), ganti nilai dengan nilai Anda sendiri, dan sertakan karakter baris baru setelah tanda kurung kurung penutup (}).
Untuk informasi selengkapnya, lihat Nilai yang Anda sebutkan dalam pernyataan kebijakan untuk kebijakan kustom untuk cookie yang ditandatangani.
Topik
Contoh pernyataan kebijakan: Akses satu file dari berbagai alamat IP
Contoh kebijakan kustom berikut dalam cookie yang ditandatangani menetapkan bahwa pengguna dapat mengakses file https://d111111abcdef8.cloudfront.net/game_download.zip dari alamat IP dalam rentang 192.0.2.0/24 hingga 1 Januari 2023 10:00 UTC:
{ "Statement": [ { "Resource": "https://d111111abcdef8.cloudfront.net/game_download.zip", "Condition": { "IpAddress": { "AWS:SourceIp": "192.0.2.0/24" }, "DateLessThan": { "AWS:EpochTime": 1767290400 } } } ] }
Contoh pernyataan kebijakan: Akses semua file dalam direktori dari berbagai alamat IP
Contoh kebijakan khusus berikut memungkinkan Anda membuat cookie yang ditandatangani untuk setiap file dalam training direktori, sebagaimana ditunjukkan oleh * karakter wildcard di Resource parameter. Pengguna dapat mengakses file dari alamat IP di rentang 192.0.2.0/24 hingga 1 Januari 2013 pukul 10.00 UTC:
{ "Statement": [ { "Resource": "https://d111111abcdef8.cloudfront.net/training/*", "Condition": { "IpAddress": { "AWS:SourceIp": "192.0.2.0/24" }, "DateLessThan": { "AWS:EpochTime": 1767290400 } } } ] }
Setiap cookie yang ditandatangani di mana Anda menggunakan kebijakan ini mencakup URL dasar yang mengidentifikasi file tertentu, misalnya:
https://d111111abcdef8.cloudfront.net/training/orientation.pdf
Contoh pernyataan kebijakan: Akses semua file yang terkait dengan ID key pair dari satu alamat IP
Kebijakan khusus sampel berikut memungkinkan Anda untuk mengatur cookie yang ditandatangani untuk setiap file yang terkait dengan distribusi apa pun, sebagaimana ditunjukkan oleh * karakter wildcard di Resource parameter. Pengguna harus menggunakan alamat IP 192.0.2.10/32. (Nilai 192.0.2.10/32 dalam notasi CIDR mengacu pada alamat IP tunggal, 192.0.2.10.) File hanya tersedia dari 1 Januari 2013 10.00 UTC hingga 2 Januari 2013 10.00 UTC:
{ "Statement": [ { "Resource": "https://*", "Condition": { "IpAddress": { "AWS:SourceIp": "192.0.2.10/32" }, "DateGreaterThan": { "AWS:EpochTime": 1767290400 }, "DateLessThan": { "AWS:EpochTime": 1767376800 } } } ] }
Setiap cookie yang ditandatangani di mana Anda menggunakan kebijakan ini mencakup URL dasar yang mengidentifikasi file tertentu dalam CloudFront distribusi tertentu, misalnya:
https://d111111abcdef8.cloudfront.net/training/orientation.pdf
Cookie yang ditandatangani juga mencakup ID pasangan kunci, yang harus dikaitkan dengan grup kunci tepercaya dalam distribusi (d111111abcdef8.cloudfront.net) yang Anda tentukan di URL dasar.
Membuat tanda tangan untuk cookie yang ditandatangani yang menggunakan kebijakan kustom
Tanda tangan untuk cookie bertanda tangan yang menggunakan kebijakan kustom merupakan versi pernyataan kebijakan yang di-hash, ditandatangani, dan dikodekan base64.
Untuk informasi tambahan dan contoh cara membuat, menandatangani, dan mengkode pernyataan kebijakan, lihat:
catatan
Contoh yang ditautkan digunakan secara SHA-1 default. Untuk menggunakannya, SHA-256 ganti sha1 dengan sha256 perintah OpenSSL dan sertakan cookie dengan CloudFront-Hash-Algorithm nilai. SHA256
Untuk membuat tanda tangan untuk cookie yang ditandatangani dengan menggunakan kebijakan kustom
-
Gunakan fungsi SHA-1 or SHA-256 hash dan RSA untuk hash dan tandatangani pernyataan kebijakan JSON yang Anda buat dalam prosedur. Untuk membuat pernyataan kebijakan untuk URL yang ditandatangani menggunakan kebijakan kustom Gunakan versi pernyataan kebijakan yang tidak lagi menyertakan spasi kosong tetapi belum dikodekan base64.
Jika Anda menggunakannya SHA-256, Anda harus menyertakan
CloudFront-Hash-Algorithmcookie dengan nilaiSHA256.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.
-
Hapus spasi kosong (termasuk tab dan karakter baris baru) dari string hash dan ditandatangani.
-
Base64-encode string menggunakan pengkodean MIME base64. Untuk informasi selengkapnya, lihat Bagian 6.8, Base64 Content-Transfer-Encoding
di RFC 2045, MIME (Ekstensi Surat Internet Serbaguna) Bagian Satu: Format Badan Pesan Internet. -
Ganti karakter yang tidak valid dalam string kueri URL dengan karakter yang valid. Tabel berikut mencantumkan karakter yang tidak valid dan valid.
Ganti karakter tidak valid ini Dengan karakter valid ini +
- (tanda hubung)
=
_ (garis bawah)
/
~ (tilde)
-
Sertakan nilai yang dihasilkan dalam
Set-Cookieheader untukCloudFront-Signature=nama-nilai, dan kembali ke Untuk mengatur cookie bertanda tangan menggunakan kebijakan kustom untuk menambahkanSet-Cookieheader untukCloudFront-Key-Pair-Id.