View a markdown version of this page

Mode validasi tambahan - Amazon CloudFront

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

Mode validasi tambahan

Mode wajib adalah default untuk TLS CloudFront bersama — CloudFront memvalidasi setiap sertifikat klien dan menolak koneksi yang gagal. Namun, untuk mendukung kasus penggunaan tambahan — seperti aplikasi yang melayani campuran klien m TLS-authenticated dan klien yang tidak diautentikasi, atau lingkungan tempat server asal melakukan validasi MTL-nya sendiri — CloudFront mendukung dua mode tambahan.

Mode opsional dirancang untuk aplikasi dengan populasi klien campuran. Misalnya, portal yang menyajikan konten publik ke browser yang tidak diautentikasi sambil membatasi titik akhir API untuk klien yang menyajikan sertifikat yang valid. Atau skenario migrasi di mana Anda secara bertahap melakukan orientasi klien ke MTL dan perlu mengizinkan koneksi yang diautentikasi dan tidak diautentikasi selama transisi.

Mode passthrough dirancang untuk pelanggan yang server asalnya sudah melakukan validasi MTL. Misalnya, layanan yang bermigrasi dari proxy terbalik lokal, CDN lain, atau Penyeimbang Beban Aplikasi yang sudah menangani verifikasi sertifikat. Mode passthrough memungkinkan pelanggan ini untuk menempatkan CloudFront di depan aplikasi mereka tanpa menerapkan kembali logika validasi di tepi.

Mode opsional

Validasi sertifikat klien Mode opsional

CloudFront menawarkan mode validasi sertifikat klien opsional alternatif yang memvalidasi sertifikat klien yang disajikan tetapi memungkinkan akses ke klien yang tidak menampilkan sertifikat.

Perilaku mode opsional

  • Memberikan koneksi ke klien dengan sertifikat yang valid (sertifikat tidak valid ditolak).

  • Memungkinkan koneksi ke klien tanpa sertifikat.

  • Mengizinkan skenario otentikasi klien campuran melalui satu distribusi.

Mode opsional sangat ideal untuk migrasi bertahap ke otentikasi MTL, mendukung klien dengan sertifikat dan klien tanpa sertifikat, atau mempertahankan kompatibilitas mundur dengan klien lama.

catatan

Dalam mode opsional, Fungsi Koneksi masih dipanggil bahkan ketika klien tidak menampilkan sertifikat. Dengan ini, Anda dapat menerapkan logika khusus seperti mencatat alamat IP klien atau menerapkan kebijakan yang berbeda berdasarkan apakah sertifikat disajikan.

Untuk mengkonfigurasi mode opsional (Konsol)

  1. Di pengaturan distribusi Anda, navigasikan ke tab Umum, pilih Edit.

  2. Gulir ke bagian Viewer Mutual Authentication (MTL) dalam wadah Konek tivitas.

  3. Untuk mode validasi sertifikat klien, pilih Opsional.

  4. Simpan perubahan.

Untuk mengkonfigurasi mode opsional (AWS CLI)

Contoh berikut menunjukkan cara mengkonfigurasi mode opsional:

"ViewerMtlsConfig": { "Mode": "optional", ...other settings }

Sesuaikan header sertifikat

Gunakan fungsi pembantu mTLS di Viewer-request CloudFront Functions untuk mengganti nama, memformat ulang, atau menggabungkan header sertifikat sebelum mencapai asal Anda. Ini berguna saat bermigrasi dari layanan lain yang menggunakan nama header atau format pengkodean sertifikat yang berbeda.

Modus passthrough

Dengan mode passthrough, Anda dapat menggunakan CloudFront dengan implementasi MTL yang ada di awal Anda. CloudFront mengakhiri koneksi TLS dan meneruskan sertifikat klien ke asal Anda sebagai header HTTP. Asal Anda melakukan semua validasi sertifikat — termasuk verifikasi rantai, pemeriksaan pencabutan, dan penegakan kebijakan khusus.

Cara kerja mode passthrough

  1. Klien terhubung ke CloudFront dan menyajikan sertifikat klien selama jabat tangan TLS.

  2. CloudFront menyelesaikan jabat tangan TLS tanpa memvalidasi sertifikat terhadap penyimpanan kepercayaan.

  3. CloudFront menambahkan sertifikat klien dan rantai sertifikat sebagai header HTTP pada permintaan.

  4. Permintaan diteruskan ke asal Anda. Tidak ada konten yang di-cache.

  5. Asal Anda memvalidasi sertifikat dan memproses permintaan.

Klien juga dapat terhubung tanpa menunjukkan sertifikat. Fungsi asal atau koneksi Anda menangani skenario sertifikat kosong.

catatan

Dalam mode passthrough, Fungsi Koneksi masih dipanggil bahkan ketika klien tidak menampilkan sertifikat. Dengan ini, Anda dapat menerapkan logika khusus seperti mencatat alamat IP klien atau menerapkan kebijakan yang berbeda berdasarkan apakah sertifikat disajikan.

Persyaratan konfigurasi

  • Tidak ada toko kepercayaan — Distribusi harus memiliki asosiasi toko kepercayaan nol.

  • Caching dinonaktifkan — Semua perilaku cache harus menggunakan kebijakan CachingDisabled cache terkelola.

  • Origin Shield dilarang — Origin Shield tidak dapat diaktifkan.

  • Lambda @Edge dilarang — Asosiasi fungsi Lambda @Edge tidak diizinkan.

  • Diperlukan kebijakan permintaan asal — Anda harus mengiz Client-Cert inkan daftar Client-Cert-Chain header and di kebijakan permintaan asal agar sumber menerimanya.

  • Certificate-chain-depth- CloudFront memungkinkan kedalaman maksimum 4 untuk rantai sertifikat klien untuk diteruskan ke asal.

Aktifkan mode passthrough

Konsol

  1. Perbarui semua perilaku cache untuk menggunakan kebijakan CachingDisabled cache terkelola.

  2. Buka CloudFront konsol dan pilih distribusi Anda.

  3. Pilih tab Umum, lalu pilih Edit di bawah Pengaturan.

  4. Di bawah otentikasi bersama Viewer (MTL), pilih Pass through.

  5. Pilih Simpan perubahan.

AWS CLI

Pastikan semua perilaku cache mereferensikan CachingDisabled kebijakan terkelola, lalu perbarui konfigurasi distribusi:

{ "ViewerMtlsConfig": { "Mode": "passthrough" } }

Header diteruskan ke asal

CloudFront menambahkan header berikut ke permintaan yang dikirim ke asal Anda:

  • Client-Cert— Sertifikat entitas akhir (daun) yang disajikan oleh klien, dikodekan base64.

  • Client-Cert-Chain— RanTAI sertifikat (tidak termasuk daun), sebagai daftar bidang terstruktur. Setiap sertifikat dikodekan base64. Client-Cert-Chainadalah header tipe List. Ini mungkin muncul beberapa kali dalam permintaan. Menggabungkan semua nilai mempertahankan urutan rantai asli. Client-Cert-Chaindihilangkan ketika klien hanya menyajikan satu sertifikat.

CloudFront menjatuhkan setiap Client-Cert-Chain input Client-Cert atau header dari permintaan klien sebelum menambahkan data sertifikat yang sebenarnya. Ini mencegah spoofing header.

Sesuaikan header sertifikat

Gunakan fungsi pembantu mTLS di Viewer-request CloudFront Functions untuk mengganti nama, memformat ulang, atau menggabungkan header sertifikat sebelum mencapai asal Anda. Ini berguna saat bermigrasi dari layanan lain yang menggunakan nama header atau format pengkodean sertifikat yang berbeda.