Auf dieser Seite wird erläutert, wie Sie dem System-Trust-Bundle in Google Distributed Cloud (GDC) mit Air Gap benutzerdefinierte Zertifizierungsstellenzertifikate (CA) hinzufügen. Ein Trust-Bundle ist eine Sammlung vertrauenswürdiger Zertifizierungsstellen, die von den Diensten Ihrer Organisation verwendet werden, um die Identität anderer Dienste zu überprüfen. Wenn Sie eigene benutzerdefinierte Zertifizierungsstellen hinzufügen, können Sie steuern, welchen Zertifikaten Ihre Organisation vertraut. So lassen sich sichere Verbindungen zu Ihren internen Ressourcen und anderen vertrauenswürdigen Endpunkten herstellen.
Auf dieser Seite wird beschrieben, wie Sie dem System-Trust-Bundle trust-store-root-ext benutzerdefinierte Zertifizierungsstellen hinzufügen. Wenn Sie das Trust-Bundle trust-store-root-ext ändern, werden die Änderungen automatisch an das Bundle trust-store-global-root-ext weitergegeben. So sind Ihre benutzerdefinierten Zertifizierungsstellen in allen Zonen verfügbar.
Diese Seite richtet sich an Nutzer in der Gruppe der Plattformadministratoren (z. B. IT-Administratoren), die die Ressourcen ihrer Organisation in GDC verwalten und schützen müssen. Weitere Informationen finden Sie unter Dokumentation zu Zielgruppen für GDC mit Air Gap Dokumentation.
Hinweis
Wenn Sie dem System-Trust-Bundle benutzerdefinierte Zertifizierungsstellenzertifikate hinzufügen möchten, müssen Sie die erforderlichen Berechtigungen anfordern und Ihre Umgebung vorbereiten.
IAM-Rollen anfordern
Wenn Sie Secrets erstellen, lesen, aktualisieren und löschen möchten, bitten Sie Ihren IAM-Administrator der Organisation, Ihnen die Rolle Trust Store-Administrator (trust-store-admin) zuzuweisen.
Umgebung vorbereiten
Laden Sie die gdcloud CLI herunter und installieren Sie sie, falls noch nicht geschehen.
Melden Sie sich an in der gdcloud CLI.
kubeconfig-Datei generieren
Führen Sie die folgenden Schritte aus, um die kubeconfig-Datei für den Cluster der Organisationsinfrastruktur zu generieren und sie als Variable KUBECONFIG festzulegen, damit Sie sie später verwenden können.
Alle verfügbaren Zonen ansehen:
gdcloud zones listNotieren Sie sich den Namen der Zone, in der sich Ihre benutzerdefinierte Ressource befindet.
Legen Sie die Umgebungsvariable
ZONEauf die Zone fest, in der sich der Cluster der Organisationsinfrastruktur befindet:export ZONE="ZONE"Ersetzen Sie
ZONEdurch den Zonennamen.Legen Sie die Umgebungsvariable
ORG_INFRA_CLUSTERfest:export ORG_INFRA_CLUSTER="ORG_NAME-infra"Ersetzen Sie
ORG_NAMEdurch den Namen Ihrer Organisation, z. B.org-1.Generieren Sie die kubeconfig-Datei des Clusters der Organisationsinfrastruktur für die Zielzone und validieren Sie die Anmeldedaten:
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"Mit dem Befehl
rm ${KUBECONFIG:?}wird die vorhandene kubeconfig-Datei im Home-Verzeichnis entfernt. Wenn Sie eine neue kubeconfig-Datei generieren, wird die vorhandene Datei überschrieben. Wenn Sie die vorhandene Datei nicht überschreiben oder entfernen möchten, sichern Sie sie an einem anderen sicheren Ort.
Benutzerdefinierte Zertifizierungsstellen dem System-Trust-Bundle hinzufügen
Wenn Sie dem System-Trust-Bundle trust-store-root-ext benutzerdefinierte Zertifizierungsstellen hinzufügen möchten, müssen Sie die benutzerdefinierte Zertifizierungsstellenressource vorbereiten und sie dann auf den Cluster der Organisationsinfrastruktur anwenden.
Legen Sie die Umgebungsvariable für die PEM-Datei Ihrer benutzerdefinierten Zertifizierungsstelle fest:
export CUSTOM_CA_PEM_FILE=CUSTOM_CA_PEM_FILEErsetzen Sie
CUSTOM_CA_PEM_FILEdurch den Pfad zu der Datei, die Ihre benutzerdefinierten Zertifizierungsstellenzertifikate im PEM-Format enthält.Codieren Sie die Zertifizierungsstellenzertifikate mit Base64:
export ENCODED_CA=$(cat "${CUSTOM_CA_PEM_FILE:?}" | base64 -w 0)Erstellen Sie die YAML-Datei des Secrets (
custom-ca.yaml), die auf das System-Trust-Bundletrust-store-root-extausgerichtet ist: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:?} EOFHier ein Beispiel für eine
custom-ca.yaml-Datei: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==Wenden Sie das Secret mit dem Befehl
kubectlauf den Cluster der Organisationsinfrastruktur an:kubectl apply -f custom-ca.yaml --kubeconfig ${KUBECONFIG:?}Durch diesen Schritt werden Ihre benutzerdefinierten Zertifizierungsstellen für GDC-Dienste verfügbar, indem die Trust-Bundles
trust-store-root-extundtrust-store-global-root-extautomatisch aktualisiert werden.
Verfügbarkeit der Zertifizierungsstellen prüfen
Prüfen Sie, ob Ihre benutzerdefinierten Zertifizierungsstellen dem Trust-Bundle hinzugefügt wurden:
Laden Sie die neueste Version des
trust-store-root-extTrust-Bundles herunter. Folgen Sie dazu der Anleitung unter GDC-Trust-Bundles abrufen.Wenn Sie die benutzerdefinierten Zertifizierungsstellen aus einer anderen Zone abrufen möchten, verwenden Sie das Trust-Bundle
trust-store-global-root-ext.Öffnen Sie die heruntergeladene Trust-Bundle-Datei und prüfen Sie, ob alle benutzerdefinierten Zertifizierungsstellenzertifikate vorhanden sind, die in
CUSTOM_CA_PEM_FILEangegeben sind.Suchen Sie einzeln nach jedem benutzerdefinierten CA-Zertifikat. Die Reihenfolge, in der sie angezeigt werden, kann variieren. Sie werden nicht unbedingt am Ende der Liste angezeigt.
Hier ein Beispiel für
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-----