Auf dieser Seite wird beschrieben, wie Sie dem System-Trust-Bundle in Google Distributed Cloud (GDC) mit Air Gap benutzerdefinierte Zertifikate von Zertifizierungsstellen (CAs) 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. Durch das Hinzufügen eigener benutzerdefinierter Zertifizierungsstellen können Sie steuern, welchen Zertifikaten Ihre Organisation vertraut, und so sichere Verbindungen zu Ihren internen Ressourcen und anderen vertrauenswürdigen Endpunkten ermöglichen.
Auf dieser Seite wird beschrieben, wie Sie dem Trust Bundle des trust-store-root-ext-Systems 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, sodass Ihre benutzerdefinierten Zertifizierungsstellen in allen Zonen verfügbar sind.
Diese Seite richtet sich an Zielgruppen innerhalb 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 Zielgruppen für die Dokumentation zu GDC mit Air Gap.
Hinweis
Wenn Sie dem System-Trust-Bundle benutzerdefinierte CA-Zertifikate 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, wenden Sie sich an Ihren IAM-Admin der Organisation, um die Rolle Trust Store-Administrator (trust-store-admin) anzufordern.
Umgebung vorbereiten
Laden Sie die gdcloud CLI herunter und installieren Sie sie, falls noch nicht geschehen.
kubeconfig-Datei generieren
Führen Sie die folgenden Schritte aus, um die kubeconfig-Datei für den Infrastrukturcluster der Organisation zu generieren und sie als Variable KUBECONFIG zur späteren Verwendung festzulegen.
Alle verfügbaren Zonen ansehen:
gdcloud zones listNotieren Sie sich den Namen der Zone, in der Ihre benutzerdefinierte Ressource gehostet wird.
Legen Sie die Umgebungsvariable
ZONEauf die Zone fest, in der der Cluster der Organisationsinfrastruktur gehostet wird: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 Infrastrukturclusters der Organisation 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 Basisverzeichnis entfernt. Wenn Sie eine neue kubeconfig-Datei generieren, wird die vorhandene überschrieben. Wenn Sie die vorhandene Datei nicht überschreiben oder entfernen möchten, sichern Sie sie an einem anderen sicheren Ort.
Benutzerdefinierte Zertifizierungsstellen zum System-Trust-Bundle hinzufügen
Wenn Sie dem System-Trust-Bundle trust-store-root-ext benutzerdefinierte Zertifizierungsstellen hinzufügen möchten, müssen Sie Ihre benutzerdefinierte CA-Ressource vorbereiten und dann auf den Cluster der Organisationsinfrastruktur anwenden.
Legen Sie die Umgebungsvariable für Ihre benutzerdefinierte CA-PEM-Datei fest:
export CUSTOM_CA_PEM_FILE=CUSTOM_CA_PEM_FILEErsetzen Sie
CUSTOM_CA_PEM_FILEdurch den Pfad zur Datei, die Ihre benutzerdefinierten CA-Zertifikate im PEM-Format enthält.Codieren Sie die CA-Zertifikate mit Base64:
export ENCODED_CA=$(cat "${CUSTOM_CA_PEM_FILE:?}" | base64 -w 0)Erstellen Sie die Secret-YAML-Datei (
custom-ca.yaml), die auf das System-Trust-Bundletrust-store-root-extabzielt: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:?}In diesem Schritt werden Ihre benutzerdefinierten Zertifizierungsstellen für GDC-Dienste verfügbar gemacht, indem die Trust Bundles
trust-store-root-extundtrust-store-global-root-extautomatisch aktualisiert werden.
Prüfen, ob die Zertifizierungsstellen verfügbar sind
Prüfen Sie, ob Ihre benutzerdefinierten Zertifizierungsstellen dem Trust Bundle hinzugefügt wurden:
Laden Sie die neueste Version des
trust-store-root-ext-Vertrauenspakets herunter. Folgen Sie dazu der Anleitung unter GDC-Vertrauenspakete 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 jedes benutzerdefinierte CA-Zertifikat, das von
CUSTOM_CA_PEM_FILEangegeben wurde, vorhanden ist.Suchen Sie nach jedem benutzerdefinierten CA-Zertifikat einzeln. Die Reihenfolge, in der sie angezeigt werden, kann variieren. Es ist nicht garantiert, dass sie am Ende der Liste angezeigt werden.
Im Folgenden finden Sie 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-----