Halaman ini menjelaskan cara mengganti otoritas sertifikat root yang digunakan untuk validasi paket di perlengkapan air-gapped Google Distributed Cloud (GDC)
Validasi paket GDC menggunakan otoritas sertifikat root (CA) untuk memvalidasi sertifikat kunci rilis. Oleh karena itu, sertifikat CA root harus dirotasi secara berkala. Anda harus merotasi CA root jika Anda diinstruksikan untuk melakukannya melalui catatan rilis atau pesan peringatan yang mungkin ditampilkan saat Anda melakukan upgrade.
Sebelum memulai
Untuk mengganti sertifikat validasi paket, Anda harus memiliki peran identitas dan akses yang diperlukan:
- Pastikan Anda memiliki akses tulis ke
package-validation-root-certs ConfigMap. - Minta Admin Keamanan Anda untuk memberi Anda peran Upgrade Debugger (
upgrade-debugger-cp).
Verifikasi rotasi sertifikat diperlukan
Verifikasi apakah rotasi sertifikat validasi paket diperlukan sebelum melakukan operasi:
Tetapkan variabel lingkungan
KUBECONFIG:$ KUBECONFIG=PATH_TO_KUBECONFIG_FILEGanti
PATH_TO_KUBECONFIG_FILEdengan jalur ke filekubeconfigyang Anda dapatkan dengan menjalankangdcloud auth logindi cluster admin root.Tentukan apakah upgrade diperlukan dengan membandingkan trust anchor saat ini dengan trust anchor terbaru. Data
ConfigMapdiharbor-system/package-validation-root-certsdibandingkan dengan trust anchor lokal:$ CURRENT_TRUST_ANCHOR=$(kubectl --kubeconfig=$KUBECONFIG get cm package-validation-root-certs -n harbor-system -o jsonpath='{.data.ca\.crt}') $ LATEST_TRUST_ANCHOR=$(cat /root/release/staging_root_ca_certificate.crt) $ diff <( echo "$CURRENT_TRUST_ANCHOR" ) <( echo "$LATEST_TRUST_ANCHOR" ) && echo trust anchors are same || echo trust anchors are different, upgrade required!
Melakukan rotasi dan upgrade sertifikat di appliance
Lakukan langkah-langkah berikut untuk memutar objek ConfigMap yang berada di
harbor-system/package-validation-root-certs di cluster admin root. Operator Infrastruktur memerlukan akses tulis ke ConfigMap.
Buat dan tetapkan nilai ke variabel berikut:
USERNAME=USER_NAME #IO TARGET_FOLDER=/tmp/${USERNAME} OUTPUT="${TARGET_FOLDER}/package-validation-root-certs.yaml" LATEST_TRUST_ANCHOR_CA_FILE=/root/release/staging_root_ca_certificate.crt CONFIGMAP_NAME=package-validation-root-certs NAMESPACE=harbor-systemGanti
USER_NAMEdengan nama pengguna IO.Buat folder target yang akan berisi file output dari proses rotasi sertifikat:
mkdir -p "${TARGET_FOLDER}"Perbarui dan ganti nilai
LATEST_TRUST_ANCHOR:cat <<EOF > "${OUTPUT}" apiVersion: v1 kind: ConfigMap metadata: name: ${CONFIGMAP_NAME} namespace: ${NAMESPACE} data: ca.crt: | $(sed 's/^/ /' "${LATEST_TRUST_ANCHOR_CA_FILE}") EOFTerapkan konfigurasi baru dengan
kubectl:kubectl apply -f ${OUTPUT}Pastikan ca.crt yang baru diterapkan ada dalam
ConfigMap:kubectl describe configmap package-validation-root-certs -n harbor-system
Tindakan ini akan menangani penggantian sertifikat baru di package-validation-root-cert.