Halaman ini menunjukkan contoh cara mengonfigurasi TLS bersama (mTLS) untuk Load Balancer Aplikasi eksternal global.
Sebelum memulai
- Baca Ringkasan Load Balancer Aplikasi Eksternal.
- Baca Ringkasan TLS bersama.
- Siapkan TLS bersama dengan sertifikat yang diberikan pengguna atau TLS bersama dengan CA pribadi.
- Load Balancer Aplikasi eksternal global mendukung berbagai layanan backend dan bucket. Pastikan Anda telah menyiapkan Load Balancer Aplikasi eksternal global dengan salah satu backend yang didukung berikut:
Menyiapkan mTLS untuk load balancer
Agar autentikasi TLS bersama berfungsi, setelah menyiapkan load balancer, Anda perlu mengupdate proxy HTTPS target menggunakan resource ServerTLSPolicy
.
Pastikan Anda sudah membuat resource
ServerTLSPolicy
. Untuk mengetahui petunjuknya, lihat Membuat resource keamanan jaringan.Untuk menampilkan daftar semua proxy HTTPS target di project Anda, gunakan perintah
gcloud compute target-https-proxies list
:gcloud compute target-https-proxies list
Perhatikan nama proxy HTTPS target untuk melampirkan resource
ServerTLSPolicy
. Nama ini disebut sebagaiTARGET_HTTPS_PROXY_NAME
dalam langkah-langkah berikut.Untuk mengekspor konfigurasi proxy HTTPS target ke file, gunakan perintah
gcloud beta compute target-https-proxies export
.global
gcloud beta compute target-https-proxies export TARGET_HTTPS_PROXY_NAME \ --destination=TARGET_PROXY_FILENAME \ --global
Ganti kode berikut:
TARGET_HTTPS_PROXY_NAME
: nama proxy target.TARGET_PROXY_FILENAME
: nama file yaml. Contoh,mtls_target_proxy.yaml
.
Menampilkan daftar semua resource
ServerTlsPolicies
di lokasi yang ditentukan untuk project saat ini.Konsol
Di konsol Google Cloud, buka halaman Autentikasi klien.
Semua resource
ServerTlsPolicies
ditampilkan.
gcloud
Untuk menampilkan daftar semua resource Autentikasi klien (
ServerTlsPolicies
), gunakan perintahgcloud network-security server-tls-policies list
:gcloud network-security server-tls-policies list \ --location=REGION
Ganti kode berikut:
REGION
: gunakanglobal
.Catat nama resource
ServerTlsPolicies
untuk mengonfigurasi mTLS. Nama ini akan disebut sebagaiSERVER_TLS_POLICY_NAME
di langkah berikutnya.Untuk menambahkan file resource
ServerTlsPolicy
TARGET_PROXY_FILENAME
, gunakan perintah berikut. GantiPROJECT_ID
dengan ID project Google Cloud Anda.echo "serverTlsPolicy: //networksecurity.googleapis.com/projects/PROJECT_ID/locations/REGION/serverTlsPolicies/SERVER_TLS_POLICY_NAME" >> TARGET_PROXY_FILENAME
Untuk mengimpor konfigurasi proxy HTTPS target dari file, gunakan perintah
gcloud beta compute target-https-proxies import
.global
gcloud beta compute target-https-proxies import TARGET_HTTPS_PROXY_NAME \ --source=TARGET_PROXY_FILENAME \ --global
Ganti kode berikut:
TARGET_HTTPS_PROXY_NAME
: nama proxy target.TARGET_PROXY_FILENAME
: nama file yaml. Contoh,mtls_target_proxy.yaml
.
Tambahkan header kustom mTLS
Dengan mengaktifkan mTLS, Anda dapat menggunakan header kustom untuk meneruskan informasi tentang koneksi mTLS ke layanan backend. Anda juga dapat mengaktifkan logging sehingga kegagalan koneksi mTLS direkam dalam log.Untuk menampilkan daftar semua layanan backend dalam project, gunakan perintah
gcloud compute backend-services list
:gcloud compute backend-services list
Catat nama layanan backend untuk mengaktifkan header dan logging kustom. Nama ini disebut sebagai
BACKEND_SERVICE
pada langkah berikutnya.Untuk mengupdate layanan backend, gunakan perintah
gcloud compute backend-services update
:gcloud compute backend-services update BACKEND_SERVICE \ --global \ --enable-logging \ --logging-sample-rate=1 \ --custom-request-header='X-Client-Cert-Present:{client_cert_present}' \ --custom-request-header='X-Client-Cert-Chain-Verified:{client_cert_chain_verified}' \ --custom-request-header='X-Client-Cert-Error:{client_cert_error}' \ --custom-request-header='X-Client-Cert-Hash:{client_cert_sha256_fingerprint}' \ --custom-request-header='X-Client-Cert-Serial-Number:{client_cert_serial_number}' \ --custom-request-header='X-Client-Cert-SPIFFE:{client_cert_spiffe_id}' \ --custom-request-header='X-Client-Cert-URI-SANs:{client_cert_uri_sans}' \ --custom-request-header='X-Client-Cert-DNSName-SANs:{client_cert_dnsname_sans}' \ --custom-request-header='X-Client-Cert-Valid-Not-Before:{client_cert_valid_not_before}' \ --custom-request-header='X-Client-Cert-Valid-Not-After:{client_cert_valid_not_after}'
Langkah selanjutnya
- Menyiapkan TLS bersama untuk Load Balancer Aplikasi klasik
- Menyiapkan TLS bersama dengan CA pribadi
- Menyiapkan TLS bersama menggunakan sertifikat yang diberikan pengguna
- Melihat log untuk validasi sertifikat klien mTLS
- Membersihkan penyiapan load balancing