GDC-Trust-Bundles abrufen

Ein Vertrauens-Bundle, auch als Vertrauensliste bezeichnet, ist eine Gruppe von Vertrauensankern wie Entitäten, die von Natur aus vertrauenswürdig sind und deren Vertrauenswürdigkeit nicht von einer anderen Entität (vertrauenswürdige Dritte) übertragen wird. Diese Vertrauensanker werden als Zertifikate der Zertifizierungsstelle (Certificate Authority, CA) bereitgestellt. Der Algorithmus zum Erstellen des Zertifizierungspfads verwendet diese CA-Zertifikate, um eine Kette zwischen einem Zertifikat, das eine Validierung erhält, und den Vertrauensankern herzustellen.

Dieses Dokument richtet sich an Zielgruppen in der Gruppe der Plattformadministratoren, z. B. IT-Administratoren oder Sicherheitsingenieure, die GDC-Vertrauens-Bundles abrufen möchten. Weitere Informationen finden Sie unter Dokumentation zu Zielgruppen für GDC mit Air Gap.

Hinweis

Bevor Sie GDC-Vertrauens-Bundles abrufen, müssen Sie die anfängliche Vertrauensstellung für neue Organisationen einrichten. Dieser Schritt ist sowohl für die bekannte Server- als auch für die kubectl-Methode erforderlich, aber nur, wenn Sie zum ersten Mal eine Verbindung zu einer neuen Organisation herstellen.

Für die bekannte Server-Methode sind keine weiteren Voraussetzungen erforderlich. Für die kubectl-Methode müssen Sie auch die Voraussetzungen für Berechtigungen und Tools erfüllen.

Anfängliche Vertrauensstellung für neue Organisationen einrichten

Wenn Sie zum ersten Mal eine Verbindung zu einer neuen GDC-Organisation herstellen, müssen Sie die anfängliche Vertrauensstellung einrichten. Dieser einmalige Vorgang sorgt für eine sichere Verbindung, indem die Zertifizierungsstelle (Certificate Authority, CA) der Organisation auf Ihrem Clientcomputer als vertrauenswürdig eingestuft wird.

  1. Wenden Sie sich an ein Mitglied Ihrer Infrastrukturbetreibergruppe (Infrastructure Operator, IO) und fordern Sie das anfängliche Vertrauens-Bundle für die neue Organisation an. Der IO hat den erforderlichen Zugriff, um dieses Bundle abzurufen. Es stammt in der Regel aus dem Secret trust-store-root-ext im Cluster der Organisationsinfrastruktur.

  2. Rufen Sie die Datei des anfänglichen Vertrauens-Bundles von Ihrem IO über einen sicheren Kanal außerhalb von GDC ab, wie in den Sicherheitsrichtlinien Ihrer Organisation definiert.

  3. Installieren Sie das Vertrauens-Bundle im Trust Store Ihres Clientcomputers. Folgen Sie dazu der Standardprozedur Ihres Systems zum Einstufen von Stammzertifikaten als vertrauenswürdig.

Wenn Sie Zugriff auf ServiceNow benötigen, rufen Sie auch das Vertrauens-Bundle der Organisation gdchservices ab und installieren Sie es mit demselben Verfahren.

IAM-Rollen anfordern

Um das Vertrauens-Bundle mit kubectl abzurufen, benötigen Sie die Berechtigung zum Aufrufen von Secrets. Wenden Sie sich an Ihren IAM-Administrator der Organisation und fordern Sie die Rolle Trust Store-Betrachter (trust-store-viewer) an.

Umgebung vorbereiten

Bereiten Sie Ihre lokale Umgebung vor, um die kubectl-Methode zu verwenden:

Typen von Vertrauens-Bundles

Distributed Cloud bietet zwei Arten von verwalteten Vertrauens-Bundles für Plattformadministratoren:

  • trust-store-root-ext: Enthält die interne Stammzertifizierungsstelle und die Web-TLS-Zertifizierungsstelle. Der Inhalt variiert je nach Speicherort, z. B. der Stammorganisation oder der Mandantenorganisation. Verwenden Sie dieses Vertrauens-Bundle, um über Organisationsgrenzen hinweg zu kommunizieren oder auf Dienste wie den Objektspeicher innerhalb der Organisation zuzugreifen.

  • trust-store-global-root-ext: Verfügbar im globalen API-Server und im zonenbasierten API-Server-Namespace platform. Wenn der globale API-Server bereit ist, werden mit dem Bundle alle anderen zonenbasierten trust-store-root-ext-Daten, einschließlich lokaler Daten, aufgefüllt.

Vertrauens-Bundle abrufen

Sie können Vertrauens-Bundles vom bekannten Serverendpunkt oder vom Cluster mit kubectl abrufen.

Vom bekannten Server abrufen

GDC bietet eine sichere Möglichkeit, über einen bekannten Serverendpunkt auf Vertrauens-Bundles zuzugreifen. Verwenden Sie diese Methode, wenn Sie das trust-store-global-root-ext-Bundle abrufen möchten, ohne direkt mit dem Cluster über kubectl zu interagieren.

Achten Sie darauf, dass Sie die anfängliche Vertrauensstellung mit den spezifischen Zertifizierungsstellen Ihrer Organisation eingerichtet haben, bevor Sie die Schritte in diesem Abschnitt ausführen.

Linux

  1. Exportieren Sie die folgenden Umgebungsvariablen:

    export STORAGE=STORAGE
    export ORG_NAME=ORG_NAME
    export DNS_SUFFIX=DNS_SUFFIX
    

    Ersetzen Sie Folgendes:

    • STORAGE: Der Verzeichnispfad, in dem Sie die Vertrauens-Bundle-Datei speichern möchten.
    • ORG_NAME: Der Name Ihrer Organisation in GDC.
    • DNS_SUFFIX: Ihr DNS-Suffix. Wenn beispielsweise eine Ihrer Domains org-1.zone1.google.gdch.test ist, lautet Ihr DNS-Suffix zone1.google.gdch.test.
  2. Legen Sie die Umgebungsvariable WELL_KNOWN_URL fest:

    export WELL_KNOWN_URL="https://console.${ORG_NAME:?}.${DNS_SUFFIX:?}/.well-known/certificate-authority"
    
  3. Legen Sie die Umgebungsvariable GLOBAL_TRUST_BUNDLE_FILE fest. In dieser Datei wird das GDC-Vertrauens-Bundle lokal am angegebenen Speicherort $STORAGE gespeichert.

    export GLOBAL_TRUST_BUNDLE_FILE="${STORAGE:?}/global/ca-bundles/global-trust-bundle"
    
  4. Erstellen Sie das Verzeichnis für die Vertrauens-Bundle-Datei:

    mkdir -p "$(dirname "${GLOBAL_TRUST_BUNDLE_FILE:?}")"
    
  5. Rufen Sie das Vertrauens-Bundle trust-store-global-root-ext vom bekannten Server ab und speichern Sie es in der Datei, die durch die Umgebungsvariable GLOBAL_TRUST_BUNDLE_FILE angegeben wird:

    curl "${WELL_KNOWN_URL:?}" | sed '$a\' > "${GLOBAL_TRUST_BUNDLE_FILE:?}"
    

Windows

  1. Legen Sie die folgenden PowerShell-Variablen fest:

    $STORAGE = "STORAGE"
    $ORG_NAME = "ORG_NAME"
    $DNS_SUFFIX = "DNS_SUFFIX"
    

    Ersetzen Sie Folgendes:

    • STORAGE: Der Verzeichnispfad, in dem Sie die Vertrauens-Bundle-Datei speichern möchten, z. B. C:\Users\username\bundles.
    • ORG_NAME: Der Name Ihrer Organisation in GDC.
    • DNS_SUFFIX: Ihr DNS-Suffix. Wenn beispielsweise eine Ihrer Domains org-1.zone1.google.gdch.test ist, lautet Ihr DNS-Suffix zone1.google.gdch.test.
  2. Erstellen Sie das Verzeichnis für die Vertrauens-Bundle-Datei:

    New-Item -ItemType Directory -Force -Path (Split-Path -Path "STORAGE\global\ca-bundles\global-trust-bundle")
    
  3. Rufen Sie das Vertrauens-Bundle trust-store-global-root-ext vom bekannten Server ab und speichern Sie es in der Vertrauens-Bundle-Datei:

    Invoke-WebRequest -Uri "https://console.ORG_NAME.DNS_SUFFIX/.well-known/certificate-authority" -OutFile "STORAGE\global\ca-bundles\global-trust-bundle"
    

Die abgerufene Vertrauens-Bundle-Datei enthält ein oder mehrere CA-Zertifikate. Die Ausgabe sieht etwa so aus:

   -----BEGIN CERTIFICATE-----
   MIIC8TCCAdmgAwIBAgIRAODQ/dOB39RBs8ZpN0RujIswDQYJKoZIhvcNAQELBQAw
   EjEQMA4GA1UEAxMHcm9vdC1jYTAeFw0yNTAxMDYwNzM3MzVaFw00ODEyMzEwNzM3
   MzVaMBIxEDAOBgNVBAMTB3Jvb3QtY2EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
   ggEKAoIBAQC41U4+3M1EAHggUBw5ki97533zTvwHukmZyORwbQ3tlQ4GQDscoCEh
   nn+KCaG767VCaGDcQhq99hl6qa/nBoc1X6WQ3a/uhv5E2ztRD40PB5NFNdSulxTH
   gsitukSmv+DAx15UJnVkJtPP/FzxEWPu0piIiFZakTxT83VUSs54QRmTahxP80FI
   R0xZ0ohsu9jzA2CAyxTccJU0/xE2kDwN8c8kiYYuG+czMdNVdnT4Jm2ToSkzIDux
   Yi9MzNmarVGG/rtW5SlqnUMYzSsxtUYSmMRlCsFDVxkSzfmICmTRw2zmNkFA/3nz
   XneVSIsUHOA2NzvMN4eoLTVRgSFcHlZRAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB
   hjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTEeB0EQwhc5p++GhwNymsBfN93
   WjANBgkqhkiG9w0BAQsFAAOCAQEAKBqn4AXjUWmhIUOrWQ5cetsmI76Wl+RBeSzU
   HxbqMBH8Dk1oJbGHtmQbu7EmWz1pKYge650s9N83hMgjFZD24t9GiQZ7YY+i+317
   D6HzJ8VIKPnxVtnUIQzCpkRTQoglDlb1f/7+fi2SYJoHdhnRI/3OaVQTnObjbW5T
   mBhsMxFKc0zGa3HIEm9SUH608V60xUPanl23YZ6X7W8nWAJfnzKvH+3q3Fz58u/S
   VR5t/FkbOktVtnU8AfcMKLof6KG2KhE2L7FAC+fp0ZsjV9vE2uqlZ+8mIQHyc3tM
   cbWxOx+SO/XUCenY9C1yrublln9aOEn4/s3aSURPguiSZOfDyQ==
   -----END CERTIFICATE-----

Mit kubectl vom Cluster abrufen

Sie können Vertrauens-Bundles direkt vom GDC-Cluster mit dem kubectl-Befehlszeilentool abrufen. Verwenden Sie diese Methode, wenn Sie direkten Zugriff auf den Cluster und seine Konfiguration haben und entweder das Vertrauens-Bundle trust-store-root-ext oder trust-store-global-root-ext abrufen müssen.

Achten Sie darauf, dass Sie die anfängliche Vertrauensstellung mit den spezifischen Zertifizierungsstellen Ihrer Organisation eingerichtet haben, bevor Sie die Schritte in diesem Abschnitt ausführen.

Rufen Sie das Vertrauens-Bundle mit kubectl vom Cluster ab:

  1. Exportieren Sie die folgenden Umgebungsvariablen:

    export KUBECONFIG=MANAGEMENT_API_SERVER_KUBECONFIG
    export STORAGE=STORAGE
    export ZONE=ZONE
    

    Ersetzen Sie Folgendes:

    • MANAGEMENT_API_SERVER_KUBECONFIG: Der Pfad zur kubeconfig des Management API-Servers.
    • STORAGE: Der Verzeichnispfad, in dem Sie die Vertrauens-Bundle-Datei speichern möchten.
    • ZONE: Der Name Ihrer GDC-Zone.
  2. Legen Sie die Umgebungsvariable TRUST_BUNDLE_FILE fest. In dieser Datei wird das GDC-Vertrauens-Bundle lokal am angegebenen Speicherort $STORAGE für Ihre GDC-Zone $ZONE gespeichert:

    export TRUST_BUNDLE_FILE="${STORAGE:?}/${ZONE:?}/ca-bundles/trust-bundle"
    export GLOBAL_TRUST_BUNDLE_FILE="${STORAGE:?}/global/ca-bundles/global-trust-bundle"
    
  3. Legen Sie die Umgebungsvariable NS für den Namespace fest:

    export NS=platform
    
  4. Erstellen Sie die Verzeichnisse für die Vertrauens-Bundle-Dateien:

    mkdir -p "$(dirname "${TRUST_BUNDLE_FILE:?}")"
    mkdir -p "$(dirname "${GLOBAL_TRUST_BUNDLE_FILE:?}")"
    
  5. Rufen Sie die Zertifizierungsstellen (Certificate Authorities, CAs) ab und speichern Sie sie in den Dateien, die durch die TRUST_BUNDLE_FILE und GLOBAL_TRUST_BUNDLE_FILE Umgebungsvariablen angegeben werden:

    Für trust-store-root-ext:

    kubectl --kubeconfig ${KUBECONFIG:?} get secret trust-store-root-ext -n ${NS:?} -o go-template='{{ index .data "ca.crt" }}' | base64 -d | sed '$a\' > ${TRUST_BUNDLE_FILE:?}
    

    Für trust-store-global-root-ext:

    kubectl --kubeconfig ${KUBECONFIG:?} get secret trust-store-global-root-ext -n ${NS:?} -o go-template='{{ index .data "ca.crt" }}' | base64 -d | sed '$a\' > ${GLOBAL_TRUST_BUNDLE_FILE:?}
    

    Die abgerufene Vertrauens-Bundle-Datei enthält ein oder mehrere CA-Zertifikate. Die Ausgabe sieht etwa so aus:

    -----BEGIN CERTIFICATE-----
    MIIC8TCCAdmgAwIBAgIRAODQ/dOB39RBs8ZpN0RujIswDQYJKoZIhvcNAQELBQAw
    EjEQMA4GA1UEAxMHcm9vdC1jYTAeFw0yNTAxMDYwNzM3MzVaFw00ODEyMzEwNzM3
    MzVaMBIxEDAOBgNVBAMTB3Jvb3QtY2EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
    ggEKAoIBAQC41U4+3M1EAHggUBw5ki97533zTvwHukmZyORwbQ3tlQ4GQDscoCEh
    nn+KCaG767VCaGDcQhq99hl6qa/nBoc1X6WQ3a/uhv5E2ztRD40PB5NFNdSulxTH
    gsitukSmv+DAx15UJnVkJtPP/FzxEWPu0piIiFZakTxT83VUSs54QRmTahxP80FI
    R0xZ0ohsu9jzA2CAyxTccJU0/xE2kDwN8c8kiYYuG+czMdNVdnT4Jm2ToSkzIDux
    Yi9MzNmarVGG/rtW5SlqnUMYzSsxtUYSmMRlCsFDVxkSzfmICmTRw2zmNkFA/3nz
    XneVSIsUHOA2NzvMN4eoLTVRgSFcHlZRAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB
    hjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTEeB0EQwhc5p++GhwNymsBfN93
    WjANBgkqhkiG9w0BAQsFAAOCAQEAKBqn4AXjUWmhIUOrWQ5cetsmI76Wl+RBeSzU
    HxbqMBH8Dk1oJbGHtmQbu7EmWz1pKYge650s9N83hMgjFZD24t9GiQZ7YY+i+317
    D6HzJ8VIKPnxVtnUIQzCpkRTQoglDlb1f/7+fi2SYJoHdhnRI/3OaVQTnObjbW5T
    mBhsMxFKc0zGa3HIEm9SUH608V60xUPanl23YZ6X7W8nWAJfnzKvH+3q3Fz58u/S
    VR5t/FkbOktVtnU8AfcMKLof6KG2KhE2L7FAC+fp0ZsjV9vE2uqlZ+8mIQHyc3tM
    cbWxOx+SO/XUCenY9C1yrublln9aOEn4/s3aSURPguiSZOfDyQ==
    -----END CERTIFICATE-----