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) yang terisolasi. 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 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 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 IAM Organisasi Anda untuk meminta peran Trust Store Admin (trust-store-admin).

Menyiapkan lingkungan Anda

Buat file kubeconfig

Selesaikan langkah-langkah berikut untuk membuat file kubeconfig bagi cluster infrastruktur org dan menetapkannya sebagai variabel KUBECONFIG untuk digunakan nanti.

  1. Melihat 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 org:

    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 org untuk zona target, dan validasi kredensial:

    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 beranda. Saat Anda membuat file kubeconfig baru, file tersebut akan menggantikan file yang ada. Jika Anda tidak ingin menimpa atau menghapus file yang ada, buat cadangannya di lokasi aman lain.

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

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

  2. Buka file trust bundle 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 menunjukkan 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-----