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 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
  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 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.

  1. 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
  2. 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
  3. Konfigurasikan properti virtualhosts di file penggantian Anda:
    virtualhosts:
      - name: $ENVIRONMENT_GROUP_NAME
        tlsMode: MUTUAL  # Note: Be sure to specify MUTUAL
        sslSecret: $SECRET_NAME