Topik ini menjelaskan cara mengaktifkan TLS dan mTLS satu arah pada traffic masuk Istio.
Mengonfigurasi TLS satu arah
Gunakan TLS satu arah untuk mengamankan endpoint proxy API pada traffic masuk Istio. Untuk mengaktifkan TLS satu arah, Anda mengonfigurasi traffic masuk dengan pasangan sertifikat/kunci TLS atau Rahasia, seperti yang dijelaskan dalam opsi berikut.
Opsi 1: pasangan kunci/sertifikat
Berikan file kunci dan sertifikat SSL di properti virtualhosts
dalam file penggantian Anda:
virtualhosts: - name: $ENVIRONMENT_GROUP_NAME sslCertPath: "$CERT_FILE" sslKeyPath: "$KEY_FILE"
Dengan $ENVIRONMENT_GROUP_NAME adalah nama grup lingkungan dengan alias host yang sesuai, dan $CERT_FILE serta $KEY_FILE adalah sertifikat dan kunci TLS . Lihat Membuat sertifikat TLS.
Opsi 2: Secret Kubernetes
Membuat Secret Kubernetes di istio-system
namespace dan tambahkan nama Secret ke file penggantian:
- Buat Secret:
kubectl create -n istio-system secret generic $SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE
- Konfigurasi properti
virtualhosts
dalam file penggantian:virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: SIMPLE # Note: SIMPLE is the default, so it is optional. sslSecret: $SECRET_NAME
Mengonfigurasi mTLS
Sebagai ganti TLS satu arah, Anda dapat mengonfigurasi mTLS di traffic masuk Istio. Ada dua pilihan untuk mengkonfigurasi mTLS, seperti yang dijelaskan di bawah ini.
Opsi 1: pasangan kunci/sertifikat dan file CA
Berikan sertifikat Certificate Authority (CA) dengan sertifikat SSL dan file kunci di
Properti virtualhosts
dalam file penggantian:
virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: MUTUAL caCertPath: "$CA_FILE" sslCertPath: "$CERT_FILE" sslKeyPath: "$KEY_FILE"
Dengan $ENVIRONMENT_GROUP_NAME adalah nama grup lingkungan dengan alias host yang sesuai, $CA_FILE adalah sertifikat yang diotorisasi, dan $CERT_FILE, serta $KEY_FILE adalah sertifikat dan kunci TLS . Lihat Membuat sertifikat TLS.
Opsi 2: Secret Kubernetes
Membuat dua secret Kubernetes diistio-system
namespace. Rahasia pertama adalah untuk pasangan sertifikat/kunci SSL dan yang kedua adalah untuk CA.
Kemudian, tambahkan ke file penggantian.
- Membuat dua secret Kubernetes di
istio-system
ruang nama:kubectl create -n istio-system secret generic $SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE
- Buat rahasia untuk CA:
kubectl create -n istio-system secret generic $SECRET_NAME-cacert \ --from-file=cacert=$CA_FILE
- Konfigurasi properti
virtualhosts
dalam file penggantian:virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: MUTUAL # Note: Be sure to specify MUTUAL sslSecret: $SECRET_NAME