Topik ini menjelaskan cara mengaktifkan TLS dan mTLS di jalur pada masuknya Istio.
Mengonfigurasi TLS satu arah
Gunakan TLS satu arah untuk mengamankan endpoint proxy API pada traffic masuk Istio. Untuk mengaktifkan TLS satu arah, konfigurasikan ingress dengan pasangan sertifikat/kunci TLS atau dengan Secret Kubernetes, seperti yang dijelaskan pada 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, sedangkan $CERT_FILE dan $KEY_FILE adalah file kunci dan sertifikat TLS. Lihat Membuat sertifikat TLS.
Opsi 2: Secret Kubernetes
Buat Kubernetes Secret di namespace istio-system
dan tambahkan nama Secret tersebut ke file penggantian Anda:
- Buat Secret:
kubectl create -n istio-system secret generic $SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE
- Konfigurasikan properti
virtualhosts
di 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 pada ingress Istio. Ada dua opsi untuk mengonfigurasi mTLS, seperti yang dijelaskan di bawah.
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 Anda:
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, sedangkan $CERT_FILE dan $KEY_FILE adalah file kunci dan sertifikat TLS. Lihat Membuat sertifikat TLS.
Opsi 2: Secret Kubernetes
Buat dua secret Kubernetes di namespaceistio-system
. Rahasia pertama adalah untuk CA dan yang kedua adalah untuk pasangan sertifikat/kunci SSL.
Kemudian, tambahkan ke file penggantian.
- Buat dua secret Kubernetes di namespace
istio-system
. Rahasia pertama adalah untuk CA dan yang kedua adalah untuk pasangan sertifikat/kunci SSL: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
- Konfigurasikan properti
virtualhosts
di file penggantian:virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: MUTUAL # Note: Be sure to specify MUTUAL sslSecret: $SECRET_NAME