בדף הזה מוסבר איך לבצע רוטציה של רשות אישורים (CA) בסיסית שמשמשת לאימות חבילות במכשיר עם פער אוויר של Google Distributed Cloud (GDC).
אימות חבילות GDC מתבצע באמצעות רשות אישורים (CA) בסיסית כדי לאמת אישורים של מפתחות הפצה. לכן חשוב מאוד להחליף את אישור ה-CA הבסיסי באופן תקופתי. צריך לבצע רוטציה של ה-CA הבסיסי אם קיבלתם הוראה לעשות זאת בהודעת פרסום או בהודעת האזהרה שעשויה להופיע במהלך השדרוג.
לפני שמתחילים
כדי להחליף את אישור האימות של החבילה, צריך לקבל את תפקידי הזהות והגישה הנדרשים:
- מוודאים שיש לכם הרשאת כתיבה בקובץ המטמון
package-validation-root-certs ConfigMap. - צריך לבקש מאדמין האבטחה להקצות לכם את התפקיד 'מאבחן שדרוג' (
upgrade-debugger-cp).
איך בודקים אם צריך להחליף את האישור
לפני שמבצעים את הפעולה, צריך לוודא שנדרש סבב אימות של חבילה:
מגדירים את משתנה הסביבה
KUBECONFIG:$ KUBECONFIG=PATH_TO_KUBECONFIG_FILEמחליפים את
PATH_TO_KUBECONFIG_FILEבנתיב לקובץkubeconfigשהתקבל אחרי הפעלת הפקודהgdcloud auth loginבאשכול האדמין הבסיסי.כדי לבדוק אם נדרש שדרוג, משווים את ישות העוגן הנוכחית לישות העוגן העדכנית. הנתונים
ConfigMapב-harbor-system/package-validation-root-certsמושוים לישות העוגן האמינה המקומית:$ 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!
ביצוע סבב אישורים ושדרוג במכשיר
כדי לסובב את האובייקט ConfigMap שנמצא במיקום harbor-system/package-validation-root-certs באשכול הניהול הבסיסי, מבצעים את השלבים הבאים. למפעיל התשתית צריכה להיות הרשאת כתיבה ל-ConfigMap.
יוצרים את המשתנים הבאים ומקצים להם ערכים:
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-systemמחליפים את
USER_NAMEבשם המשתמש ב-IO.יוצרים את תיקיית היעד שתכיל את קובצי הפלט מתהליך החלפת האישורים:
mkdir -p "${TARGET_FOLDER}"מעדכנים ומחליפים את הערך של
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}") EOFמחילים את ההגדרה החדשה באמצעות
kubectl:kubectl apply -f ${OUTPUT}מוודאים שהקובץ ca.crt החדש נמצא בתוך
ConfigMap:kubectl describe configmap package-validation-root-certs -n harbor-system
הפעולה הזו דואגת להחלפת אישור חדש ב-package-validation-root-cert.