Mengonfigurasi TLS dan mTLS di gateway masuk

Topik ini menjelaskan cara mengaktifkan TLS dan mTLS satu arah pada jalur masuk .

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 sertifikat/kunci TLS atau Rahasia, 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 serta $KEY_FILE adalah sertifikat dan kunci TLS . Lihat Membuat sertifikat TLS.

Opsi 2: Secret Kubernetes

Membuat Kubernetes Secret dan tambahkan ke file pengganti.

  1. Buat Secret di salah satu dari dua namespace berikut:
    • Namespace apigee jika Anda menggunakan gateway masuk Apigee.
    • istio-system jika Anda menggunakan Anthos Service Mesh yang diinstal pelanggan.

    Gateway 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. Konfigurasi properti virtualhosts dalam file penggantian:
    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 traffic 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 sertifikat SSL dan file kunci di Properti virtualhosts dalam file penggantian:

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 diotorisasi, dan $CERT_FILE, serta $KEY_FILE adalah sertifikat dan kunci TLS . Lihat Membuat sertifikat TLS.

Opsi 2: Secret Kubernetes

Membuat dua Secret Kubernetes. Rahasia pertama adalah untuk pasangan sertifikat/kunci SSL dan yang kedua adalah bagi CA. Kemudian, tambahkan ke file penggantian.

  1. Buat dua secret Kubernetes di salah satu dari dua namespace berikut:
    • Namespace apigee jika Anda menggunakan gateway masuk Apigee.
    • istio-system jika Anda menggunakan Anthos Service Mesh yang diinstal pelanggan.

    Gateway 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 rahasia untuk CA:

    Gateway 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. Konfigurasi properti virtualhosts dalam file penggantian:
    virtualhosts:
      - name: $ENVIRONMENT_GROUP_NAME
        tlsMode: MUTUAL  # Note: Be sure to specify MUTUAL
        sslSecret: $SECRET_NAME