Topik ini menjelaskan cara mengaktifkan TLS satu arah dan mTLS di ingress Istio.
Mengonfigurasi TLS satu arah
Gunakan TLS satu arah untuk mengamankan endpoint proxy API di ingress Istio. Untuk mengaktifkan TLS satu arah, Anda mengonfigurasi ingress dengan pasangan kunci/sertifikat TLS atau dengan Secret Kubernetes, seperti yang dijelaskan dalam opsi berikut.
Opsi 1: pasangan kunci/sertifikat
Berikan file sertifikat SSL dan kunci 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 file kunci dan sertifikat TLS. Lihat Membuat sertifikat TLS.
Opsi 2: Secret Kubernetes
Buat Secret Kubernetes di namespace istio-system
dan tambahkan nama Secret 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
- Konfigurasi properti
virtualhostsdi file penggantian Anda:virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: SIMPLE # Note: SIMPLE is the default, so it is optional. sslSecret: $SECRET_NAME
Mengonfigurasi mTLS
Daripada TLS satu arah, Anda dapat mengonfigurasi mTLS di 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 file kunci dan sertifikat SSL 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 sah, dan $CERT_FILE serta $KEY_FILE adalah file kunci dan sertifikat TLS. Lihat Membuat sertifikat TLS.
Opsi 2: Secret Kubernetes
Buat dua secret Kubernetes di namespaceistio-system. Secret pertama adalah untuk CA dan yang kedua adalah untuk pasangan kunci/sertifikat SSL.
Kemudian, tambahkan ke file penggantian Anda.
- Buat dua secret Kubernetes di namespace
istio-system. Secret pertama adalah untuk CA dan yang kedua adalah untuk pasangan kunci/sertifikat SSL:kubectl create -n istio-system secret generic $SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE
- Buat secret untuk CA:
kubectl create -n istio-system secret generic $SECRET_NAME-cacert \ --from-file=cacert=$CA_FILE
- Konfigurasi properti
virtualhostsdi file penggantian Anda:virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: MUTUAL # Note: Be sure to specify MUTUAL sslSecret: $SECRET_NAME