Opsi untuk mengonfigurasi TLS

Halaman ini berlaku untuk Apigee dan Apigee Hybrid.

Baca dokumentasi Apigee Edge.

Bagian ini menunjukkan cara mengonfigurasi TLS untuk traffic dari proxy ke target.

Tentang menyetel opsi TLS di endpoint target atau server target

Target dapat diwakili oleh objek XML seperti di bawah ini:

<HTTPTargetConnection>
    <Properties/>
    <URL>https:myTargetAddress</URL>
    <SSLInfo>
        <Enabled>true</Enabled>
        <Enforce>true</Enforce>
        <ClientAuthEnabled>true</ClientAuthEnabled>
        <KeyStore>ref://myKeystoreRef</KeyStore>
        <KeyAlias>myKeyAlias</KeyAlias>
        <TrustStore>ref://myTruststoreRef</TrustStore>
        <IgnoreValidationErrors>false</IgnoreValidationErrors>
    </SSLInfo>
</HTTPTargetConnection>

Area konfigurasi endpoint target yang Anda ubah untuk mengonfigurasi TLS ditentukan oleh tag <SSLInfo>. Anda menggunakan tag <SSLInfo> yang sama untuk mengonfigurasi endpoint target atau server target.

Untuk informasi tentang elemen turunan <SSLInfo>, lihat konfigurasi TargetEndpoint TLS/SSL.

Tabel berikut menjelaskan elemen konfigurasi TLS yang digunakan oleh tag <SSLInfo>:

Elemen Deskripsi
<Enabled>

Mengaktifkan TLS satu arah antara Apigee dan klien API, atau antara Apigee dan backend target.

<Enforce>

Menerapkan SSL yang ketat antara Apigee dan backend target.

Jika ditetapkan ke true, koneksi akan gagal untuk target dengan sertifikat yang tidak valid, sertifikat yang habis masa berlakunya, sertifikat yang ditandatangani sendiri, sertifikat dengan nama host tidak cocok, dan sertifikat dengan root yang tidak tepercaya. Kode kegagalan 4xx atau 5xx akan ditampilkan.

Jika tidak disetel, atau disetel ke false, hasil koneksi untuk menargetkan backend dengan sertifikat yang bermasalah bergantung pada setelan <IgnoreValidationErrors> (lihat di bawah). Respons berhasil (2xx) dapat terjadi dalam kondisi tertentu, jika <IgnoreValidationErrors> disetel ke true.

<ClientAuthEnabled>

Mengaktifkan TLS dua arah (juga dikenal sebagai TLS atau mTLS bersama) antara Apigee dan klien API, atau antara Apigee dan backend target.

Mengaktifkan TLS dua arah biasanya mengharuskan Anda menyiapkan truststore di Apigee dan truststore.

<KeyStore> Keystore.
<KeyAlias> Alias yang ditentukan saat Anda mengupload sertifikat dan kunci pribadi ke keystore.
<TrustStore> Truststore.
<IgnoreValidationErrors>

Jika true (benar), Apigee mengabaikan error sertifikat TLS. Nilai defaultnya adalah false.

Jika sistem backend menggunakan SNI dan menampilkan sertifikat dengan subjek Nama yang Dibedakan (DN) yang tidak cocok dengan nama host, error tersebut tidak dapat diabaikan dan koneksi akan gagal.

Catatan: Jika <Enforce> ditetapkan ke true, nilai <IgnoreValidationErrors> akan diabaikan.

Tentang menetapkan elemen <KeyStore> dan <TrustStore>

Pada contoh di atas, keystore dan truststore ditentukan menggunakan references, dalam bentuk:

<KeyStore>ref://myKeystoreRef</KeyStore>
<TrustStore>ref://myTruststoreRef</TrustStore>

Apigee sangat menyarankan agar Anda selalu menggunakan referensi ke keystore dan truststore. Referensi adalah variabel yang berisi nama keystore atau truststore, bukan menentukan nama keystore secara langsung. Dalam contoh ini:

  • myKeystoreRef adalah referensi yang berisi nama keystore. Dalam contoh ini, nama keystore adalah myKeystore.
  • myTruststoreRef adalah referensi yang berisi nama truststore. Dalam contoh ini, nama truststore adalah myTruststore.

Saat masa berlaku sertifikat berakhir, Anda harus mengupdate endpoint/server target target untuk menentukan keystore atau truststore yang berisi sertifikat baru. Keuntungan referensi adalah Anda dapat mengubah nilai referensi untuk mengubah keystore atau truststore tanpa harus mengubah endpoint/server target itu sendiri:

Mengubah nilai referensi tidak mengharuskan Anda menghubungi Dukungan Apigee.

Atau, Anda dapat menentukan nama keystore dan nama truststore secara langsung:

<KeyStore>myKeystore</KeyStore>
<TrustStore>myTruststore</TrustStore> 

Jika Anda menetapkan nama keystore atau truststore secara langsung, Anda harus menghubungi Dukungan Apigee.

Opsi ketiga adalah menggunakan variabel alur:

<KeyStore>{ssl.keystore}</KeyStore>
<TrustStore>{ssl.truststore}</TrustStore> 

Fungsi variabel alur memungkinkan Anda mengupdate keystore atau truststore seperti referensi. Untuk mengetahui informasi selengkapnya, lihat Menggunakan variabel alur untuk menetapkan nilai TLS/SSL secara dinamis.

Tentang mengonfigurasi TLS

Semua pelanggan Apigee, baik yang berbayar maupun yang dievaluasi, memiliki kontrol penuh atas konfigurasi endpoint/server target target. Selain itu, pelanggan Apigee berbayar memiliki kontrol penuh atas properti TLS.

Menangani sertifikat yang habis masa berlakunya

Jika masa berlaku sertifikat TLS telah berakhir, atau jika konfigurasi sistem Anda berubah sehingga sertifikat tidak lagi valid, Anda perlu mengupdate sertifikat. Saat mengonfigurasi TLS untuk server endpoint/target target, Anda harus memutuskan cara melakukan update tersebut sebelum melakukan konfigurasi apa pun.

Kapan masa berlaku sertifikat habis

Di Apigee, Anda menyimpan sertifikat di salah satu dari dua tempat:

  • Keystore - Berisi sertifikat TLS dan kunci pribadi yang digunakan untuk mengidentifikasi entity selama handshake TLS.
  • Truststore - Berisi sertifikat tepercaya pada klien TLS yang digunakan untuk memvalidasi sertifikat server TLS yang diberikan kepada klien. Sertifikat ini biasanya berupa sertifikat yang ditandatangani sendiri, sertifikat yang ditandatangani oleh CA tepercaya, atau sertifikat yang digunakan sebagai bagian dari TLS dua arah (juga dikenal sebagai TLS atau mTLS bersama).

Jika sertifikat dalam keystore sudah tidak berlaku, dan Anda menggunakan referensi untuk keystore, Anda tidak dapat mengupload sertifikat baru ke keystore. Sebagai gantinya, Anda:

  1. Buat keystore baru.
  2. Upload sertifikat baru ke keystore baru menggunakan nama alias yang sama seperti di keystore lama.
  3. Perbarui referensi di server target/endpoint target untuk menggunakan keystore baru.

Jika sertifikat di truststore berakhir, dan Anda menggunakan referensi ke truststore, Anda:

  1. Membuat truststore baru.
  2. Upload sertifikat baru ke truststore baru. Nama alias tidak masalah untuk truststore. Catatan: Jika sertifikat adalah bagian dari rantai, Anda harus membuat satu file yang berisi semua sertifikat dan mengupload file tersebut ke satu alias, atau mengupload semua sertifikat dalam rantai tersebut secara terpisah ke truststore menggunakan alias yang berbeda untuk setiap sertifikat.
  3. Perbarui referensi di server target/endpoint target untuk menggunakan truststore baru.

Ringkasan metode untuk memperbarui sertifikat yang habis masa berlakunya

Metode yang Anda gunakan untuk menentukan nama keystore dan truststore di endpoint/server target target akan menentukan cara Anda melakukan update sertifikat. Anda dapat menggunakan:

  • Referensi
  • Nama langsung
  • Variabel alur

Setiap metode ini memiliki dampak yang berbeda terhadap proses update, seperti yang dijelaskan dalam tabel berikut:

Jenis konfigurasi Cara memperbarui/mengganti sertifikat Penggunaan
Referensi (Direkomendasikan) Untuk keystore, buat keystore baru dengan nama baru dan alias dengan nama yang sama seperti alias lama.

Untuk truststore, buat truststore dengan nama baru.

Perbarui referensi ke keystore atau truststore.

Tidak perlu menghubungi Dukungan Apigee.

Variabel flow Untuk keystore, buat keystore baru dengan nama baru dan alias dengan nama yang sama atau nama baru.

Untuk truststore, buat truststore dengan nama baru.

Teruskan variabel alur yang diupdate pada setiap permintaan dengan nama keystore, alias, atau truststore baru.

Tidak perlu menghubungi Dukungan Apigee.

Langsung Buat keystore, alias, dan truststore baru. Deploy ulang proxy.
Langsung Hapus keystore atau truststore, lalu buat ulang dengan nama yang sama. Permintaan API akan gagal hingga keystore dan alias baru ditetapkan.

Jika keystore digunakan untuk TLS dua arah (juga dikenal sebagai TLS atau mTLS bersama) antara Apigee dan layanan backend, hubungi Dukungan Apigee untuk memulai ulang Pemroses Pesan.

Langsung Khusus untuk truststore, upload sertifikat baru ke truststore. Hubungi Dukungan Apigee untuk memulai ulang Pemroses Pesan.