Opsi untuk mengonfigurasi TLS

Anda sedang melihat dokumentasi Apigee Edge.
Buka Dokumentasi Apigee X.
info

Dokumen ini berisi ikhtisar tentang bagaimana Anda mengonfigurasi TLS di Edge untuk dua fungsi area:

  1. Akses ke proxy API Anda oleh klien API. Menggunakan host virtual di Edge Router untuk mengonfigurasi TLS.
  2. Akses ke layanan backend Anda oleh Edge. Menggunakan endpoint dan target target server di Edge Message Processor untuk mengonfigurasi TLS.

Kedua jenis akses ini ditampilkan di bawah ini:

Tentang Saya menyetel opsi TLS di host virtual atau server endpoint/target target

Host virtual dapat direpresentasikan oleh objek XML, dalam bentuk:

<VirtualHost name="secure">
    ...
    <SSLInfo> 
        <Enabled>true</Enabled> 
        <ClientAuthEnabled>true</ClientAuthEnabled> 
        <KeyStore>ref://myKeystoreRef</KeyStore> 
        <KeyAlias>myKeyAlias</KeyAlias> 
        <TrustStore>ref://myTruststoreRef</TrustStore> 
        <IgnoreValidationErrors>false</IgnoreValidationErrors>
    </SSLInfo>
</VirtualHost>

Area host virtual yang Anda ubah untuk mengonfigurasi TLS ditentukan oleh tag &lt;SSLInfo&gt;. Anda menggunakan tag &lt;SSLInfo&gt; yang sama untuk mengonfigurasi endpoint target atau server target.

Tabel berikut menjelaskan elemen konfigurasi TLS yang digunakan oleh tag &lt;SSLInfo&gt;:

Elemen Deskripsi
&lt;Enabled&gt;

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

Untuk host virtual, Anda harus menentukan keystore yang berisi sertifikat dan pribadi tombol.

&lt;ClientAuthEnabled&gt;

Memungkinkan TLS dua arah antara Edge dan klien API, atau antara Edge dan target backend.

Mengaktifkan TLS dua arah biasanya mengharuskan Anda menyiapkan truststore di Edge.

&lt;KeyStore&gt; Keystore.
&lt;KeyAlias&gt; Alias yang ditentukan saat Anda mengupload sertifikat dan kunci pribadi ke keystore.
&lt;TrustStore&gt; Truststore.
&lt;IgnoreValidationErrors&gt;

Jika true (benar), Edge akan mengabaikan error sertifikat TLS. Valid saat mengonfigurasi TLS untuk server target dan endpoint target, serta saat mengonfigurasi host virtual yang menggunakan TLS. Nilai defaultnya adalah false.

Saat digunakan dengan server target/endpoint target, jika sistem backend menggunakan SNI dan menampilkan sertifikat dengan {i>Distinguished Name<i} (DN) subjek yang tidak cocok dengan nama {i>host<i}, tidak mungkin untuk mengabaikan {i>error<i} dan koneksi gagal.

&lt;CommonName&gt;

Jika ditentukan, nilai yang akan divalidasi oleh nama umum sertifikat target. Nilai ini hanya valid untuk konfigurasi TargetEndpoint dan TargetServer. Tidak valid untuk konfigurasi Host Virtual.

Secara default, nilai yang ditentukan dicocokkan persis dengan nama umum sertifikat target. Misalnya, menggunakan *.myhost.com sebagai nilai untuk <CommonName> hanya akan cocok dan memvalidasi nama host target jika nilai tepat *.myhost.com ditentukan sebagai nama umum dalam target sertifikat.

Secara opsional, Apigee dapat melakukan pencocokan dengan karakter pengganti menggunakan atribut wildcardMatch.

Misalnya, nama umum yang ditetapkan sebagai abc.myhost.com dalam sertifikat target akan dicocokkan dan divalidasi jika <CommonName> ditentukan sebagai berikut:

<CommonName wildcardMatch="true">*.myhost.com</CommonName>

Tentang setelan &lt;KeyStore&gt; dan <TrustStore> elemen

Dalam contoh host virtual di atas, keystore dan truststore ditentukan dengan menggunakan referensi, dalam bentuk:

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

Apigee sangat menyarankan agar Anda selalu menggunakan referensi ke keystore dan truststore. J adalah variabel yang berisi nama keystore atau truststore, bukan yang 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 habis, Anda harus memperbarui host virtual atau server target/endpoint untuk menentukan keystore atau truststore yang berisi sertifikat baru. Keuntungan dari referensi adalah bahwa Anda bisa memodifikasi nilai referensi untuk mengubah keystore atau truststore tanpa harus modifikasi host virtual atau server endpoint/target itu sendiri:

  • Untuk pelanggan Cloud: Tidak perlu mengubah nilai referensi Anda dapat menghubungi Dukungan Apigee Edge.
  • Untuk pelanggan Private Cloud: Nilai referensi tidak dapat diubah mengharuskan Anda memulai ulang komponen Edge, seperti Router dan Prosesor Pesan.

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

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

Jika Anda secara langsung menentukan nama keystore atau truststore, maka pelanggan Cloud harus hubungi Dukungan Apigee Edge dan pelanggan Private Cloud harus memulai ulang komponen Edge tertentu untuk memperbarui sertifikat.

Opsi ketiga, hanya untuk endpoint/server target target, adalah menggunakan variabel alur:

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

Variabel alur berfungsi untuk endpoint/server target target dan memungkinkan Anda mengupdate keystore atau {i>truststore<i} seperti referensi. Namun, mereka tidak bekerja dengan {i>host<i} virtual, dan mengharuskan Anda mengirimkan informasi tentang keystore, alias, dan truststore pada setiap permintaan.

Batasan penggunaan referensi ke keystore dan truststore

Pelanggan Cloud berbayar dan semua pelanggan Private Cloud yang mengonfigurasi TLS harus mempertimbangkan pembatasan berikut saat menggunakan referensi ke keystore dan truststore:

  • Anda hanya dapat menggunakan referensi keystore dan truststore di host virtual jika menghentikan TLS di Router Apigee.
  • Jika Anda memiliki load balancer di depan Router Apigee, dan menghentikan TLS pada Anda tidak dapat menggunakan keystore dan referensi truststore di host virtual.

Jika host virtual yang ada menggunakan keystore atau nama truststore literal

Host virtual yang ada di Edge mungkin tidak dikonfigurasi agar menggunakan referensi untuk keystore dan truststore. Dalam hal ini, Anda dapat memperbarui host virtual untuk menggunakan referensi.

  1. Edge for the Cloud

    Untuk mengubah host virtual agar dapat menggunakan referensi ke keystore, Anda harus bekerja dengan Dukungan Apigee Edge.

  2. Edge untuk Private Cloud

    Untuk mengonversi host virtual agar menggunakan referensi:

    1. Mengupdate host virtual untuk menggunakan referensi.
    2. Mulai ulang Router.
    Lihat "Memodifikasi host virtual untuk menggunakan referensi ke keystore dan truststore" di Mengonfigurasi akses TLS ke sebuah API untuk Private Cloud untuk mengetahui informasi selengkapnya.

Tentang penggunaan sertifikat dan kunci uji coba gratis Apigee

Jika Anda memiliki akun Edge untuk Cloud berbayar dan belum memiliki sertifikat dan kunci TLS, Anda dapat membuat host virtual yang menggunakan sertifikat dan kunci uji coba gratis Apigee. Itu berarti Anda dapat membuat {i>host<i} virtual tanpa membuat keystore terlebih dahulu.

Objek XML yang menentukan host virtual menggunakan sertifikat uji coba gratis Apigee dan kunci menghilangkan Elemen <KeyStore> dan <KeyAlias>, lalu menggantinya dengan <UseBuiltInFreeTrialCert>, seperti yang ditunjukkan di bawah ini:

<VirtualHost name="myTLSVHost">
    <HostAliases>
        <HostAlias>myapi.apigee.net</HostAlias>
    </HostAliases>
    <Port>443</Port>
    <SSLInfo>
        <Enabled>true</Enabled>
        <ClientAuthEnabled>false</ClientAuthEnabled>
    </SSLInfo>
    <UseBuiltInFreeTrialCert>true</UseBuiltInFreeTrialCert>
</VirtualHost>

Jika melakukan TLS dua arah, Anda tetap harus menyetel elemen <ClientAuthEnabled> agar true, dan tentukan truststore menggunakan referensi dengan elemen <TrustStore>.

Lihat Mengonfigurasi host virtual untuk Cloud untuk lebih banyak.

Tentang mengonfigurasi TLS

Dua faktor utama menentukan cara Anda melakukan konfigurasi TLS:

  • Apakah Anda pelanggan Edge Cloud atau Private Cloud?
  • Bagaimana cara memperbarui sertifikat yang telah habis masa berlakunya atau akan habis masa berlakunya?

Konfigurasi Cloud dan Private Cloud opsi

Tabel berikut menunjukkan berbagai opsi konfigurasi untuk Cloud dan Private Cloud pelanggan:

Private Cloud Cloud
Host virtual Kontrol penuh Kontrol penuh hanya untuk akun berbayar
Server target/endpoint target Kontrol penuh Kontrol penuh

Pelanggan Private Cloud memiliki kontrol penuh atas konfigurasi host virtual dan endpoint target/server target. Kontrol tersebut mencakup kemampuan untuk membuat dan menghapus {i>host<i}, dan mengatur semua properti pada {i>host<i} virtual.

Semua pelanggan Cloud, baik berbayar maupun evaluasi, memiliki kontrol penuh atas konfigurasi endpoint target/server target. Selain itu, pelanggan Cloud berbayar memiliki kontrol penuh atas {i>host<i} virtual, termasuk properti TLS.

Menangani sertifikat yang sudah tidak berlaku

Jika masa berlaku sertifikat TLS habis, atau jika konfigurasi sistem Anda berubah sehingga sertifikat tidak lagi valid, maka Anda perlu memperbarui sertifikat. Saat mengonfigurasi TLS untuk host virtual atau server endpoint/target target, Anda harus menentukan performa pembaruan itu sebelum Anda melakukan konfigurasi apa pun.

Saat masa berlaku sertifikat habis

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

  • Keystore - Berisi sertifikat TLS dan kunci pribadi yang digunakan untuk mengidentifikasi entitas selama handshake TLS.
  • Truststore - Berisi sertifikat tepercaya di klien TLS yang digunakan untuk memvalidasi sertifikat server TLS yang diberikan ke klien. Sertifikat ini biasanya sertifikat yang ditandatangani sendiri, sertifikat yang ditandatangani oleh CA tepercaya, atau sertifikat yang digunakan sebagai bagian dari sertifikat dua arah TLS.

Jika suatu sertifikat di keystore sudah tidak berlaku, dan Anda menggunakan referensi ke 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 host virtual atau server target/endpoint target untuk menggunakan keystore.

Jika masa berlaku sertifikat di truststore sudah tidak berlaku, dan Anda menggunakan referensi ke truststore, Anda:

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

Ringkasan metode pembaruan data yang sudah tidak berlaku sertifikat

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

  • Referensi
  • Nama langsung
  • Variabel flow

Masing-masing metode ini memiliki dampak yang berbeda terhadap proses pembaruan, seperti yang dijelaskan dalam tabel berikut. Seperti yang Anda lihat, referensi memberikan fleksibilitas terbesar untuk layanan Cloud Pelanggan Private Cloud:

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

Untuk truststore, buat truststore dengan nama baru.

Perbarui referensi ke keystore atau truststore.

Router atau Prosesor Pesan tidak perlu dimulai ulang.

Perbarui referensi ke keystore atau truststore.

Tidak perlu menghubungi Dukungan Apigee.

Vars alur (khusus endpoint target) Untuk keystore, buat keystore baru dengan nama baru dan alias dengan nama yang sama atau dengan nama baru.

Untuk truststore, buat truststore dengan nama baru.

Teruskan var alur yang diperbarui pada setiap permintaan dengan nama keystore, alias, atau truststore.

Router atau Prosesor Pesan tidak perlu dimulai ulang.

Teruskan var alur yang diperbarui pada setiap permintaan dengan nama keystore, alias, atau truststore.

Tidak perlu menghubungi Dukungan Apigee.

Langsung Buat keystore, alias, truststore baru. Update host virtual dan mulai ulang Router.

Jika truststore digunakan oleh server target/endpoint target, deploy ulang proxy.

Untuk host virtual, hubungi Dukungan Apigee Edge untuk memulai ulang Router.

Jika truststore digunakan oleh server target/endpoint target, deploy ulang proxy.

Langsung Hapus keystore atau truststore dan buat kembali dengan nama yang sama. Tidak perlu update host virtual, tidak perlu memulai ulang Router. Namun, permintaan API akan gagal hingga keystore dan alias baru ditetapkan.

Jika keystore digunakan untuk TLS dua arah antara Edge dan layanan backend, mulai ulang {i>Message Processors<i}.

Tidak perlu pembaruan host virtual. Namun, permintaan API akan gagal sampai keystore baru dan alias ditetapkan.

Jika keystore digunakan untuk TLS dua arah antara Edge dan layanan backend, hubungi Dukungan Apigee Edge untuk memulai ulang Pemroses Pesan.

Langsung Khusus untuk truststore, upload sertifikat baru ke truststore. Jika truststore digunakan oleh host virtual, mulai ulang Router.

Jika truststore digunakan oleh server target/endpoint target, mulai ulang Message Prosesor.

Untuk host virtual, hubungi Dukungan Apigee Edge untuk memulai ulang Router Edge.

Jika truststore digunakan oleh server target/endpoint target, hubungi Dukungan Apigee Edge untuk memulai ulang Pemroses Pesan.