Menambahkan CA kustom ke paket kepercayaan sistem

Halaman ini menjelaskan cara menambahkan sertifikat otoritas sertifikat (CA) kustom ke paket kepercayaan sistem dalam Google Distributed Cloud (GDC) air-gapped. Paket kepercayaan adalah kumpulan CA tepercaya yang digunakan layanan organisasi Anda untuk memverifikasi identitas layanan lain. Dengan menambahkan CA kustom Anda sendiri, Anda dapat mengontrol sertifikat yang dipercayai organisasi Anda, sehingga memungkinkan koneksi yang aman ke resource internal dan endpoint tepercaya lainnya.

Halaman ini membahas cara menambahkan CA kustom ke paket kepercayaan sistem trust-store-root-ext. Saat Anda mengubah trust-store-root-ext trust bundle, perubahan akan otomatis diterapkan ke trust-store-global-root-ext bundle, sehingga CA kustom Anda tersedia di semua zona.

Halaman ini ditujukan bagi audiens dalam grup administrator platform (seperti admin IT) yang perlu mengelola dan mengamankan resource organisasi mereka dalam GDC. Untuk mengetahui informasi selengkapnya, lihat Audiens untuk dokumentasi GDC yang terisolasi dari jaringan.

Sebelum memulai

  • Izin yang diperlukan: Minta Admin IAM Organisasi Anda untuk memberi Anda peran Trust Store Admin (trust-store-admin).

  • File kubeconfig: Login dan buat file kubeconfig untuk server API cluster Infra jika Anda belum memilikinya. Anda memerlukan jalur ke file kubeconfig untuk mengganti INFRA_CLUSTER_KUBECONFIG dalam langkah-langkah berikut.

Menambahkan CA kustom ke paket kepercayaan sistem

Untuk menambahkan CA kustom ke paket kepercayaan sistem trust-store-root-ext, Anda harus menyiapkan resource CA kustom, lalu menerapkannya ke cluster.

  1. Ekspor variabel lingkungan berikut:

    export CUSTOM_CA_PEM_FILE=CUSTOM_CA_PEM_FILE
    export KUBECONFIG=INFRA_CLUSTER_KUBECONFIG
    

    Ganti kode berikut:

    • CUSTOM_CA_PEM_FILE: jalur ke file yang berisi sertifikat CA kustom Anda, yang dienkode dalam format PEM.
    • INFRA_CLUSTER_KUBECONFIG: jalur ke file kubeconfig Infra cluster.
  2. Enkode sertifikat CA menggunakan base64:

    export ENCODED_CA=$(cat "${CUSTOM_CA_PEM_FILE:?}" | base64 -w 0)
    
  3. Buat file YAML rahasia (custom-ca.yaml) yang menargetkan paket kepercayaan sistem trust-store-root-ext:

    cat > custom-ca.yaml <<EOF
    apiVersion: v1
    kind: Secret
    metadata:
      annotations:
        security.private.gdc.goog/bundles: trust-store-root-ext
      name: custom-ca
      namespace: cert-manager
    data:
      ca.crt: ${ENCODED_CA:?}
    EOF
    

    Berikut adalah contoh file custom-ca.yaml:

    apiVersion: v1
    kind: Secret
    metadata:
      annotations:
        security.private.gdc.goog/bundles: trust-store-root-ext
      name: custom-ca
      namespace: cert-manager
    data:
       ca.crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSU...LQWZRSUE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
    
  4. Terapkan secret ke cluster Infra menggunakan perintah kubectl:

     kubectl apply -f custom-ca.yaml --kubeconfig ${KUBECONFIG:?}
    

    Langkah ini membuat CA kustom Anda tersedia untuk layanan GDC dengan otomatis mengupdate paket kepercayaan trust-store-root-ext dan trust-store-global-root-ext.

Pastikan CA tersedia

Pastikan CA kustom Anda telah ditambahkan ke paket kepercayaan:

  1. Download versi terbaru paket kepercayaan trust-store-root-ext dengan mengikuti langkah-langkah dalam Mengambil paket kepercayaan GDC.

    Jika Anda ingin mengambil CA kustom dari zona lain, gunakan paket kepercayaan trust-store-global-root-ext.

  2. Buka file paket kepercayaan yang didownload dan pastikan setiap sertifikat CA kustom yang ditentukan oleh CUSTOM_CA_PEM_FILE ada.

    Telusuri setiap sertifikat CA kustom satu per satu. Urutan kemunculannya dapat bervariasi; tidak dijamin akan muncul di akhir daftar.

    Berikut contoh trust-store-root-ext:

    -----BEGIN CERTIFICATE-----
    MIIC8DCCAdigAwIBAgIQPLOPa...
    -----END CERTIFICATE-----
    ... other CAs ...
    -----BEGIN CERTIFICATE-----
       < Imported CA data>
    -----END CERTIFICATE-----
    ... other CAs ...
    -----BEGIN CERTIFICATE-----
    MIIDAzCCAeugAwIBAgIRAIV2...
    -----END CERTIFICATE-----