Auf dieser Seite wird beschrieben, wie Sie die Stammzertifizierungsstelle rotieren, die für die Paketvalidierung in der Air-Gap-Appliance von Google Distributed Cloud (GDC) verwendet wird.
Bei der Validierung von GDC-Paketen wird eine Stammzertifizierungsstelle (CA) verwendet, um Release-Schlüsselzertifikate zu validieren. Daher ist es wichtig, das Root-CA-Zertifikat regelmäßig zu rotieren. Sie müssen die Stammzertifizierungsstelle rotieren, wenn Sie durch eine Release-Mitteilung oder die Warnmeldung, die möglicherweise während eines Upgrades angezeigt wird, dazu aufgefordert werden.
Hinweise
Zum Rotieren des Zertifikats für die Paketvalidierung benötigen Sie die erforderlichen Identitäts- und Zugriffsrollen:
- Prüfen Sie, ob Sie Schreibzugriff auf
package-validation-root-certs ConfigMaphaben. - Bitten Sie Ihren Sicherheitsadministrator, Ihnen die Rolle „Debugger aktualisieren“ (
upgrade-debugger-cp) zuzuweisen.
Prüfen, ob eine Zertifikatrotation erforderlich ist
Prüfen Sie, ob eine Rotation des Zertifikats zur Paketvalidierung erforderlich ist, bevor Sie den Vorgang ausführen:
Legen Sie die Umgebungsvariable
KUBECONFIGfest:$ KUBECONFIG=PATH_TO_KUBECONFIG_FILEErsetzen Sie
PATH_TO_KUBECONFIG_FILEdurch den Pfad zur Dateikubeconfig, die Sie durch Ausführen vongdcloud auth loginim Administratorcluster des Stammclusters erhalten haben.Prüfen Sie, ob ein Upgrade erforderlich ist, indem Sie den aktuellen Vertrauensanker mit dem neuesten Vertrauensanker vergleichen. Die
ConfigMap-Daten unterharbor-system/package-validation-root-certswerden mit dem lokalen Trust-Anchor verglichen:$ 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!
Zertifikatrotation und Upgrade auf der Appliance durchführen
Führen Sie die folgenden Schritte aus, um das ConfigMap-Objekt unter harbor-system/package-validation-root-certs im Administratorcluster zu rotieren. Der Infrastrukturbetreiber benötigt Schreibzugriff auf ConfigMap.
Erstellen Sie die folgenden Variablen und weisen Sie ihnen Werte zu:
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-systemErsetzen Sie
USER_NAMEdurch den IO-Nutzernamen.Erstellen Sie den Zielordner, der die Ausgabedateien aus dem Zertifikatsrotationsprozess enthält:
mkdir -p "${TARGET_FOLDER}"Aktualisieren und ersetzen Sie den Wert von
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}") EOFWenden Sie die neue Konfiguration mit
kubectlan:kubectl apply -f ${OUTPUT}Prüfen Sie, ob die neu angewendete Datei „ca.crt“ in
ConfigMapvorhanden ist:kubectl describe configmap package-validation-root-certs -n harbor-system
Dadurch wird ein neues Zertifikat in package-validation-root-cert rotiert.