Mengonfigurasi TLS dan mTLS di gateway masuk

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.

  1. Buat Secret di namespace apigee:
    kubectl create -n APIGEE_NAMESPACE secret generic $SECRET_NAME  \
      --from-file=key=$KEY_FILE \
      --from-file=cert=$CERT_FILE
  2. 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 data sertifikat TLS yang berisi sertifikat Certificate Authority:

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 menentukan data sertifikat TLS (file paket CA) yang berisi sertifikat Certificate Authority, 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.

  1. Buat dua secret Kubernetes di namespace apigee:
    kubectl create -n APIGEE_NAMESPACE secret generic $SECRET_NAME  \
      --from-file=key=$KEY_FILE \
      --from-file=cert=$CERT_FILE
  2. Buat secret untuk CA:
    kubectl create -n APIGEE_NAMESPACE secret generic $SECRET_NAME-cacert  \
      --from-file=cacert=$CA_FILE
  3. Konfigurasikan properti virtualhosts di file penggantian Anda:
    virtualhosts:
      - name: $ENVIRONMENT_GROUP_NAME
        tlsMode: MUTUAL  # Note: Be sure to specify MUTUAL
        sslSecret: $SECRET_NAME