Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi
Apigee X. info
Edge memungkinkan Anda membuat host virtual yang mendukung TLS satu arah dan dua arah. Dengan TLS satu arah, klien mengeluarkan permintaan sesi ke host virtual yang di-deploy di Edge Router dan Router merespons dengan sertifikat yang berisi kunci publik host virtual. Untuk sertifikat yang ditandatangani, klien kemudian dapat membuat permintaan ke Certificate Authority (CA) untuk mengautentikasi sertifikat.
Dalam TLS dua arah, klien dan Edge meneruskan sertifikat yang divalidasi sebagai bagian dari permintaan:
- Edge Router menampilkan sertifikatnya ke klien TLS untuk mengautentikasi dirinya sendiri. Klien kemudian memverifikasi identitas server sebelum mengirimkan sertifikatnya ke server.
- Klien TLS memberikan sertifikatnya ke Edge untuk mengautentikasi dirinya sendiri.
Lihat Tentang host virtual untuk mengetahui informasi selengkapnya.
Merekam informasi koneksi TLS
Selama permintaan ke proxy API melalui host virtual yang mendukung TLS, Edge dapat merekam informasi tentang koneksi TLS. Kemudian, proxy API Anda dapat mengakses informasi tersebut melalui variabel alur untuk melakukan analisis dan validasi tambahan.
Jenis informasi TLS yang diambil oleh Edge bergantung pada apakah host virtual mendukung TLS satu arah atau dua arah. Misalnya, untuk TLS satu arah, Edge dapat merekam informasi tentang cipher TLS atau protokol TLS yang digunakan dalam koneksi TLS.
Untuk TLS dua arah, Edge dapat mengambil semua informasi yang sama seperti yang diambil untuk TLS satu arah, dan juga mengambil informasi tentang sertifikat klien. Misalnya, Edge dapat merekam sidik jari SHA1 sertifikat klien dan sertifikat klien dalam format PEM.
Mencatat informasi untuk TLS satu arah dan dua arah
Tabel berikut mencantumkan variabel alur yang berisi informasi koneksi TLS yang diambil
oleh Edge dan tersedia untuk diakses di proxy API. Informasi ini diambil untuk TLS satu arah
dan dua arah dengan menyetel <ConnectionProperties> ke benar (true) dalam
definisi host virtual:
| Variabel alur | Deskripsi |
|---|---|
tls.cipher
|
Cipher yang digunakan oleh koneksi TLS. |
tls.protocol
|
Protokol yang digunakan oleh koneksi TLS. |
tls.server.name
|
Nama server SNI yang diminta. |
tls.session.id
|
ID sesi. Variabel alur ini tersedia jika Anda menetapkan |
Mencatat informasi TLS tambahan selama TLS dua arah
Tabel berikut mencantumkan variabel alur yang berisi detail sertifikat klien yang diambil oleh Edge
dalam TLS dua arah. Informasi ini diambil untuk TLS dua arah dengan menyetel
<ClientProperties> ke benar (true) dalam definisi host virtual:
| Variabel alur | Deskripsi |
|---|---|
tls.client.s.dn
|
Nama yang Dibedakan (DN) subjek sertifikat klien. |
tls.client.i.dn
|
Nama yang Dibedakan (DN) penerbit sertifikat klien. |
tls.client.raw.cert
|
Sertifikat klien dalam format PEM. |
tls.client.cert.serial
|
Nomor seri sertifikat klien. |
tls.client.cert.fingerprint
|
Sidik jari SHA1 sertifikat klien. |
tls.session.id
|
ID sesi. Variabel alur ini tersedia saat Anda menetapkan
|
Mengonfigurasi host virtual untuk merekam informasi TLS
Untuk mengonfigurasi host virtual guna merekam informasi TLS, tetapkan properti berikut
di bagian <PropagateTLSInformation> ke true.
<ConnectionProperties>: Aktifkan pengambilan informasi koneksi TLS untuk TLS satu arah dan dua arah. Nilai defaultnya adalahfalse.<ClientProperties>: Mengaktifkan pengambilan informasi tambahan untuk TLS dua arah. Nilai defaultnya adalahfalse.
Misalnya, definisi host virtual berikut menggunakan TLS dua arah dan memungkinkan pengambilan kedua jenis informasi TLS:
<VirtualHost name="secure">
....
<SSLInfo>
<Enabled>true</Enabled>
# Enable two-way TLS.
<ClientAuthEnabled>true</ClientAuthEnabled>
<IgnoreValidationErrors>false</IgnoreValidationErrors>
<KeyAlias>ks-alias</KeyAlias>
<KeyStore>ref://ks-ref</KeyStore>
<TrustStore>ref://ts-ref</TrustStore>
</SSLInfo>
<PropagateTLSInformation>
<ConnectionProperties>true</ConnectionProperties>
<ClientProperties>true</ClientProperties>
</PropagateTLSInformation>
</VirtualHost>Jika Anda meneruskan isi JSON, tetapkan properti sebagai:
"propagateTLSInformation" : {
"connectionProperties" : true,
"clientProperties" : true
}Menetapkan batas ukuran header
Saat Anda mengaktifkan pengambilan informasi TLS di host virtual, Edge akan meneruskan informasi tersebut menggunakan header HTTP. Oleh karena itu, Anda harus memastikan bahwa batas ukuran header ditetapkan dengan tepat berdasarkan apakah Anda menggunakan Edge untuk Cloud atau Edge untuk Private Cloud:
- Edge for the Cloud: Apigee menetapkan ukuran header dengan tepat.
- Edge untuk Private Cloud: Fitur tidak tersedia.
Mengakses variabel alur di proxy API
Dari dalam proxy API, Anda dapat mengakses dan memeriksa variabel alur TLS. Misalnya, Anda dapat menggunakan kebijakan AssignMessage untuk mengaksesnya, mengaksesnya di JavaScript dengan kebijakan JavaScript.
Anda juga dapat mereferensikan variabel alur dalam elemen <Condition> dari alur proxy atau target,
atau dalam <Step> atau <RouteRule>. Misalnya, Anda dapat merutekan
permintaan ke target yang berbeda berdasarkan SN klien.
Untuk mengetahui informasi selengkapnya, lihat: