Topik ini menjelaskan cara mengaktifkan TLS satu arah dan mTLS di ingressgateway .
Mengonfigurasi TLS satu arah
Gunakan TLS satu arah untuk mengamankan endpoint proxy API di gateway masuk. Untuk mengaktifkan TLS satu arah, Anda mengonfigurasi traffic masuk dengan pasangan kunci/sertifikat TLS atau dengan Secret Kubernetes, 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 dan $KEY_FILE adalah file kunci dan sertifikat TLS. Lihat Membuat sertifikat TLS.
Opsi 2: Secret Kubernetes
Buat Kubernetes Secret dan tambahkan ke file penggantian Anda.
- Buat Secret di salah satu dari dua namespace berikut:
- Namespace
apigee
jika Anda menggunakan gateway ingress Apigee. - Namespace
istio-system
jika Anda menggunakan Anthos Service Mesh yang diinstal pelanggan.
Gateway traffic masuk Apigee
kubectl create -n apigee secret generic $SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE
Anthos Service Mesh
kubectl create -n istio-system secret generic $SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE
- Namespace
- Konfigurasikan properti
virtualhosts
di file penggantian Anda: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 gateway masuk. 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 resmi, dan $CERT_FILE dan $KEY_FILE adalah file kunci dan sertifikat TLS. Lihat Membuat sertifikat TLS.
Opsi 2: Secret Kubernetes
Buat dua Secret Kubernetes. Secret pertama adalah untuk pasangan kunci/sertifikat SSL dan yang kedua adalah untuk CA. Kemudian, tambahkan ke file penggantian Anda.
- Buat dua secret Kubernetes di salah satu dari dua namespace berikut:
- Namespace
apigee
jika Anda menggunakan gateway ingress Apigee. - Namespace
istio-system
jika Anda menggunakan Anthos Service Mesh yang diinstal pelanggan.
Gateway traffic masuk Apigee
kubectl create -n apigee secret generic $SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE
Anthos Service Mesh
kubectl create -n istio-system secret generic $SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE
- Namespace
- Buat secret untuk CA:
Gateway traffic masuk Apigee
kubectl create -n apigee secret generic $SECRET_NAME-cacert \ --from-file=cacert=$CA_FILE
Anthos Service Mesh
kubectl create -n istio-system secret generic $SECRET_NAME-cacert \ --from-file=cacert=$CA_FILE
- Konfigurasikan properti
virtualhosts
di file penggantian Anda:virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: MUTUAL # Note: Be sure to specify MUTUAL sslSecret: $SECRET_NAME