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.
kubectl create -n apigee secret generic
$SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE 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.
kubectl create -n apigee secret generic
$SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE kubectl create -n istio-system secret generic
$SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE - Namespace
- Buat secret untuk CA:
kubectl create -n apigee secret generic
$SECRET_NAME -cacert \ --from-file=cacert=$CA_FILE 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