Menambahkan CA kustom ke paket kepercayaan sistem

Halaman ini menjelaskan cara menambahkan sertifikat certificate authority (CA) kustom ke paket kepercayaan sistem dalam Google Distributed Cloud (GDC) dengan air gap. 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 mana 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 paket kepercayaan trust-store-root-ext, perubahan akan otomatis diterapkan ke paket trust-store-global-root-ext, sehingga CA kustom Anda tersedia di semua zona.

Halaman ini ditujukan untuk 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 dengan air gap.

Sebelum memulai

Untuk menambahkan sertifikat CA kustom ke paket kepercayaan sistem, Anda harus meminta izin yang diperlukan dan menyiapkan lingkungan Anda.

Meminta peran IAM

Untuk membuat, membaca, memperbarui, dan menghapus secret, hubungi Admin Organisasi IAM Anda untuk meminta peran Trust Store Admin (trust-store-admin).

Menyiapkan lingkungan Anda

Membuat file kubeconfig

Selesaikan langkah-langkah berikut untuk membuat file kubeconfig untuk cluster infrastruktur organisasi dan tetapkan sebagai variabel KUBECONFIG untuk digunakan nanti.

  1. Lihat semua zona yang tersedia:

    gdcloud zones list
    

    Catat nama zona yang menghosting resource kustom Anda.

  2. Tetapkan variabel lingkungan ZONE ke zona yang menghosting cluster infrastruktur organisasi:

    export ZONE="ZONE"
    

    Ganti ZONE dengan nama zona.

  3. Tetapkan variabel lingkungan ORG_INFRA_CLUSTER:

    export ORG_INFRA_CLUSTER="ORG_NAME-infra"
    

    Ganti ORG_NAME dengan nama organisasi Anda, seperti org-1.

  4. Buat file kubeconfig cluster infrastruktur organisasi untuk zona yang ditargetkan, dan validasi kredensialnya:

    export KUBECONFIG=${HOME}/${ORG_INFRA_CLUSTER:?}-kubeconfig.yaml
    rm ${KUBECONFIG:?}
    gdcloud clusters get-credentials ${ORG_INFRA_CLUSTER:?} --zone ${ZONE:?}
    [[ $(kubectl config current-context) == *${ORG_INFRA_CLUSTER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
    

    Perintah rm ${KUBECONFIG:?} menghapus file kubeconfig yang ada di direktori utama. Saat Anda membuat file kubeconfig baru, file tersebut akan menimpa file yang sudah ada. Jika Anda tidak ingin menimpa atau menghapus file yang ada, cadangkan file tersebut di lokasi aman lainnya.

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

  1. Tetapkan variabel lingkungan untuk file PEM CA kustom Anda:

    export CUSTOM_CA_PEM_FILE=CUSTOM_CA_PEM_FILE
    

    Ganti CUSTOM_CA_PEM_FILE dengan jalur ke file yang berisi sertifikat CA kustom Anda, yang dienkode dalam format PEM.

  2. Enkode sertifikat CA menggunakan base64:

    export ENCODED_CA=$(cat "${CUSTOM_CA_PEM_FILE:?}" | base64 -w 0)
    
  3. Buat file YAML secret (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 infrastruktur organisasi 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.

Memastikan 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 di Mengambil paket kepercayaan GDC.

    Jika Anda ingin mengambil CA kustom dari zona yang berbeda, gunakan trust bundle 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 ada jaminan bahwa keduanya akan muncul di akhir daftar.

    Berikut adalah 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-----