Konfigurationsdatei erstellen

Auf dieser Seite wird beschrieben, wie Sie die Eingabekonfigurationsdatei erstellen, mit der Sie die GDC-Appliance (Google Distributed Cloud) konfigurieren.

Eingabekonfigurationsdatei erstellen

  1. Für die Konfiguration der Appliance wird eine YAML-Eingabedatei verwendet. Erstellen Sie diese Datei im selben Format wie die bereitgestellte Vorlage. Felder oder Abschnitte, die als „Optional“ gekennzeichnet sind, müssen weggelassen und dürfen nicht leer gelassen werden.

  2. Das folgende Beispiel zeigt eine Eingabekonfigurationsdatei.

    bgp:
      dataASN: DATAPLANE_ASN
    interconnects:
      customerData:
        asn: CUSTOMER_ASN
        customerPeerSubnets:
        - ipFamily: UPLINK_IP_FAMILY_1
          ipv4:
            ip: UPLINK_IPV4_PEER_1
            subnet:
              gateway: UPLINK_IPV4_GW_1
              subnet: UPLINK_IPV4_NET_1
          # Optional: Only specify ipv6 for DualStack ipFamily
          ipv6:
            ip: UPLINK_IPV6_PEER_1
            subnet:
              gateway: UPLINK_IPV6_GW_1
              subnet: UPLINK_IPV6_NET_1
        - ipFamily: UPLINK_IP_FAMILY_2
          ipv4:
            ip: UPLINK_IPV4_PEER_2
            subnet:
              gateway: UPLINK_IPV4_GW_2
              subnet: UPLINK_IPV4_NET_2
          # Optional: Only specify ipv6 for DualStack ipFamily
          ipv6:
            ip: UPLINK_IPV6_PEER_2
            subnet:
              gateway: UPLINK_IPV6_GW_2
              subnet: UPLINK_IPV6_NET_2
    dns:
      delegatedSubdomain: DELEGATED_SUBDOMAIN
    externalCIDR:
      ipFamily: IP_FAMILY
      ipv4: EXTERNAL_NETWORK_IPV4
      ipv6: EXTERNAL_NETWORK_IPV6
    
    # Optional: External hardware security module (HSM) information
    externalHSM:
      primaryAddress:  EXTERNAL_HSM_PR_ADDR
      secondaryAddresses:
        - EXTERNAL_HSM_SE_ADDR
      caCert: EXTERNAL_HSM_CA_CERT
      clientCert: EXTERNAL_HSM_CLIENT_CERT
      clientKey: EXTERNAL_HSM_CLIENT_KEY
    
    # Optional: External IdP information
    externalIDP:
      name: EXTERNAL_IDP_NAME
      oidc:
        clientID: EXTERNAL_IDP_CLIENT_ID
        clientSecret: EXTERNAL_IDP_CLIENT_SECRET
        issuerURI: EXTERNAL_IDP_ISSUER_URI
        scopes: EXTERNAL_IDP_SCOPES
        userClaim: EXTERNAL_IDP_USER_CLAIM
        caCert: EXTERNAL_IDP_CA_DATA
      saml:
        idpEntityID: EXTERNAL_IDP_ENTITY_ID
        idpSingleSignOnURI: EXTERNAL_IDP_SSO_URI
        idpCertDataList: EXTERNAL_IDP_CERT_DATA
        userAttribute: EXTERNAL_IDP_USER_ATTRIBUTE
      initialAdmin: EXTERNAL_IDP_INITIAL_ADMIN
    

Informationen zum Border Gateway Protocol (BGP)

Das Border Gateway Protocol (BGP) tauscht Routinginformationen mit externen Netzwerken aus. Diese Netzwerke werden anhand von Nummern autonomer Systeme (Autonomous System Numbers, ASNs) identifiziert. Damit die Verbindung zwischen der GDC-Appliance mit Air Gap und den externen Netzwerken ordnungsgemäß funktioniert, müssen alle ASN-Werte weltweit eindeutig sein.

  1. DATAPLANE_ASN: Die ASN, die der Datenebene für die GDC-Appliance-Instanz mit Air Gap zugewiesen ist. Beispiel: 65204.

  2. CUSTOMER_ASN: Die ASN, die der Datenebene für das Kundennetzwerk zugewiesen ist. Beispiel: 4200002002

Uplink-Konfigurationen sind Peering-Verbindungen, die verwendet werden, um GDC-Air-Gap-Appliance-Instanzen extern mit anderen Diensten wie Kundennetzwerken und anderen GDC-Air-Gap-Appliance-Instanzen zu verbinden. Diese Uplink-Konfigurationen und die Verkabelung einer GDC-Air-Gap-Appliance-Instanz sind wichtig, um eine ordnungsgemäße Verbindung mit dem externen Netzwerk zu gewährleisten.

  1. Füllen Sie für jeden Uplink, der für das Kunden-Peering zur air-gapped Appliance-Instanz von GDC erforderlich ist, einen Uplink-Elementabschnitt im Feld Customer Peer Subnets (Kunden-Peering-Subnetze) aus. Wenn die von Ihnen angegebene Anzahl nicht der erwarteten Anzahl von Uplinks (2) entspricht, werden die verbleibenden Uplinks aus dem externen Datenebenen-Subnetz zugewiesen.
  2. Geben Sie für die Uplinks Folgendes an:
    1. UPLINK_IP_FAMILY_1, UPLINK_IP_FAMILY_2: Geben Sie das IP-Familien-Subnetz an. Muss entweder IPv4 oder DualStack sein.
      1. Wenn Sie IPv4 auswählen,
        1. UPLINK_IPV4_PEER_1 IP, UPLINK_IPV4_PEER_2 IP: Beschreibt die IP-Adresse, die dem gerouteten Port zugewiesen ist. Wenn Sie dieses Feld leer lassen, wird der Wert aus dem Peer-Subnetzblock übernommen.
        2. UPLINK_IPV4_NET_1, UPLINK_IPV4_NET_2: Geben Sie den Peer-Subnetzblock ein, der im Kundennetzwerk für die angegebene Switch- und Portverbindung konfiguriert ist. Dies ist ein /31-Subnetz. Beispiel: 172.16.255.148/31.
        3. UPLINK_IPV4_GW_1, UPLINK_IPV4_GW_2: Geben Sie die IP-Adresse ein, die die kundenorientierte IP-Adresse im /31-Peer-Subnetz darstellt. Zum Beispiel: 172.16.255.148.
      2. Wenn Sie DualStack auswählen,
        1. UPLINK_IPV4_PEER_1 IP, UPLINK_IPV4_PEER_2 IP: Beschreibt die IPv4-Adresse, die dem gerouteten Port zugewiesen ist. Wenn Sie dieses Feld leer lassen, wird der Wert aus dem Peer-Subnetzblock übernommen.
        2. UPLINK_IPV4_NET_1, UPLINK_IPV4_NET_2: Geben Sie für IPv4 den Peer-Subnetzblock ein, der im Kundennetzwerk für die angegebene Switch- und Portverbindung konfiguriert ist. Dies ist ein /31-Subnetz. Beispiel: 172.16.255.148/31.
        3. UPLINK_IPV4_GW_1, UPLINK_IPV4_GW_2: Geben Sie für IPv4 die IPv4-Adresse ein, die die kundenorientierte IP-Adresse im /31-Peer-Subnetz darstellt. Zum Beispiel: 172.16.255.148.
        4. UPLINK_IPV6_PEER_1 IP, UPLINK_IPV6_PEER_2 IP: Beschreibt die IPv6-Adresse, die dem gerouteten Port zugewiesen ist. Wenn Sie dieses Feld leer lassen, wird der Wert aus dem Peer-Subnetzblock übernommen.
        5. UPLINK_IPV6_NET_1, UPLINK_IPV6_NET_2: Geben Sie für IPv6 den Peer-Subnetzblock ein, der im Kundennetzwerk für die angegebene Switch- und Portverbindung konfiguriert ist. Dies ist ein /127-Subnetz. Beispiel: FC00::/127.
        6. UPLINK_IPV6_GW_1, UPLINK_IPV6_GW_2: Geben Sie für IPv6 die IPv6-Adresse ein, die die kundenorientierte IP-Adresse im /127-Peer-Subnetz darstellt. Zum Beispiel: FC00::.

Informationen zum Domain Name System (DNS)

  1. DELEGATED_SUBDOMAIN: Geben Sie den DNS-delegierten Subdomainnamen für die GDC-Appliance-Instanz mit Air Gap vom übergeordneten DNS-Server ein. Dieser vollständig qualifizierte Domainname wird als Suffix für GDC-Air-Gap-Appliance-Dienste wie die Clusterverwaltung verwendet. Das erwartete Format ist LOCATION.SUFFIX.

    Ersetzen Sie Folgendes:

    • LOCATION: die Zonen-ID des GDC-Air-Gap-Appliance-Deployments, z. B. us-central1-a
    • SUFFIX: ein beliebiges gültiges DNS-Suffix, z. B. zone1.google.gdch.test oder us-central1-a.gdch.customer

Netzwerk der Datenebene (externes CIDR)

  1. Geben Sie für das Netzwerk der Datenebene an, ob das Subnetz IPv4 oder DualStack ist. Ersetzen Sie im Abschnitt externalCIDR IP_FAMILY durch IPv4 oder DualStack.
    1. Wenn Sie IPv4 auswählen,
      1. Geben Sie die IPv4-Netzwerkadresse mit einer Mindestgröße von 23 für das externe Datenebenennetzwerk ein. Verwenden Sie dieses Netzwerk für extern zugängliche Dienste wie den Management API-Server und Speicherschnittstellen. Die Netzwerkadresse muss ein zusammenhängender IP-Block sein, der in Ihrem Netzwerk vorab zugewiesen ist. Ersetzen Sie beispielsweise EXTERNAL_NETWORK_IPV4 durch 10.100.101.0/23.
    2. Wenn Sie „DualStack“ auswählen,
      1. Geben Sie die IPv4-Netzwerkadresse mit einer Mindestgröße von 23 für das externe Datenebenennetzwerk ein. Verwenden Sie dieses Netzwerk für extern zugängliche Dienste wie den Management API-Server und Speicherschnittstellen. Die Netzwerkadresse muss ein zusammenhängender IP-Block sein, der in Ihrem Netzwerk vorab zugewiesen ist. Ersetzen Sie beispielsweise EXTERNAL_NETWORK_IPV4 durch 10.100.101.0/23.
      2. Geben Sie die IPv6-Netzwerkadresse mit der Mindestgröße 64 ein. Dieser IP-Block wird in zwei Hälften unterteilt. Die erste Hälfte wird als externes Datenebenennetzwerk und die zweite Hälfte als internes Datenebenennetzwerk verwendet. Ersetzen Sie beispielsweise EXTERNAL_NETWORK_IPV6 durch FC00::/64.

Optional: Informationen zum externen Hardwaresicherheitsmodul (HSM)

Auf HSM-Geräten werden Verschlüsselungsschlüssel gehostet und kryptografische Vorgänge mit KMIP (Key Management Interoperability Protocol) ausgeführt. Sie können HSM mit NetApp ONTAP Select (OTS) für die Speicherung verwenden. Wenn Sie einen externen NTP-Server verwenden möchten, füllen Sie den Bereich externalHSM aus.

Konfigurieren Sie das HSM-Netzwerk, bevor Sie beginnen.

  1. EXTERNAL_HSM_PR_ADDR: Die Adresse des primären KMIP-Dienstes. Verwenden Sie das Format (IP|DNS):Port. Wenn der Port weggelassen wird, wird der Standardport 5696 verwendet.

    • Geben Sie für IP die IP-Netzwerkadresse des KMIP-Dienstes ein. Beispiel: 8.8.8.8:5696.
    • Geben Sie für DNS-Name den vollständig qualifizierten Domainnamen des KMIP-Dienstes ein. Beispiel: te.us-central1-a:5696
  2. EXTERNAL_HSM_SE_ADDR: Die Adressen der sekundären KMIP-Dienste. Verwenden Sie das Format (IP|DNS):Port. Wenn der Port weggelassen wird, wird der Standardport 5696 verwendet. Sie können bis zu drei sekundäre Adressen angeben, die durch Kommas getrennt sind.

  3. EXTERNAL_HSM_CA_CERT: Geben Sie das CACert ein. Das CA-Zertifikat ist das signierte Zertifikat für den KMIP-Dienst.

  4. EXTERNAL_HSM_CLIENT_CERT: Geben Sie das Clientzertifikat für die Verbindung zum externen HSM ein.

  5. EXTERNAL_HSM_CLIENT_KEY: Geben Sie den Clientschlüssel ein, der mit dem Clientzertifikat für die Verbindung zum externen HSM verknüpft ist.

Optional: Identitätsanbieter verbinden

Sie können eine Verbindung zu Ihrem eigenen vorhandenen Identitätsanbieter (IdP) für die Identitäts- und Zugriffsverwaltung herstellen oder alternativ einen integrierten Keycloak-IdP einrichten. Wenn Sie Ihren eigenen Identitätsanbieter verwenden möchten, füllen Sie den Abschnitt externalIDP aus.

  1. Wählen Sie den Typ des Identitätsanbieters aus, mit dem Sie eine Verbindung herstellen: OIDC (OpenID Connect) oder SAML (Security Assertion Markup Language).
  2. Wenn Sie einen OIDC-Anbieter auswählen, geben Sie die folgenden Parameter an:
    1. EXTERNAL_IDP_NAME: Geben Sie den Namen des IdP ein. Der Name, den Sie hier angeben, ist der Alias der Identität im System.
    2. EXTERNAL_IDP_ISSUER_URI: Geben Sie den Aussteller-URI ein. Der Aussteller-URI muss auf die Ebene innerhalb von .well-known/openid-configuration verweisen. Clientanwendungen senden Autorisierungsanfragen an diese URL. Der Kubernetes API-Server nutzt diese URL, um öffentliche Schlüssel zum Verifizieren von Tokens zu ermitteln.
    3. EXTERNAL_IDP_CA_DATA: Geben Sie ein base64-codiertes PEM-codiertes Zertifikat für die Zertifizierungsstellendaten für den IdP ein. Weitere Informationen finden Sie unter https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail.
      1. Codieren Sie das Zertifikat samt Header in base64, um den String zu erstellen.
      2. Fügen Sie den resultierenden String als eine Zeile ein. Beispiel: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tC...k1JSUN2RENDQWFT==
    4. EXTERNAL_IDP_CLIENT_ID: Geben Sie die Client-ID für die Clientanwendung ein, die Authentifizierungsanfragen an den Identitätsanbieter sendet.
    5. EXTERNAL_IDP_CLIENT_SECRET: Geben Sie den Clientschlüssel ein. Das ist ein gemeinsames Secret zwischen Ihrem IdP und der GDC-Air-Gap-Appliance.
    6. EXTERNAL_IDP_USER_CLAIM: Geben Sie das Feld Nutzeranspruch ein, um jeden Nutzer zu identifizieren. Dies ist der Name des Anspruchs im OIDC-ID-Token, der den Nutzernamen enthält. Wenn diese Anforderung im ID-Token fehlt, können sich Nutzer nicht authentifizieren. Der Standardanspruch für viele Anbieter ist sub. Je nach Identitätsanbieter können Sie andere Anforderungen auswählen, wie beispielsweise email oder name. Anderen Ansprüchen als email wird die Aussteller-URL vorangestellt, um Namenskonflikte zu vermeiden.
    7. EXTERNAL_IDP_SCOPES: Wenn Ihr Identitätsanbieter zusätzliche Bereiche erfordert, geben Sie eine durch Kommas getrennte Liste mit Bereichen ein, die an den Identitätsanbieter gesendet werden sollen. Microsoft Azure und Okta benötigen beispielsweise den Bereich offline_access.
  3. Wenn Sie einen SAML-Anbieter auswählen, geben Sie die folgenden Parameter an:
    1. EXTERNAL_IDP_NAME: Geben Sie den Namen des IdP ein. Der Name, den Sie hier angeben, ist der Alias der Identität im System.
    2. EXTERNAL_IDP_ENTITY_ID: Geben Sie die Entitäts-ID für den SAML-Anbieter im URI-Format ein, z. B. https://www.idp.com/saml.
    3. EXTERNAL_IDP_SSO_URI: Geben Sie den SSO-URI ein, also den URI zum SSO-Endpunkt des SAML-Anbieters, z. B. https://www.idp.com/saml/sso.
    4. EXTERNAL_IDP_CERT_DATA: Geben Sie eine Liste der IdP-Zertifikate ein, die zur Überprüfung der SAML-Antwort verwendet werden. Diese Zertifikate müssen standardmäßig Base64-codiert und im PEM-Format vorliegen. Es werden maximal zwei Zertifikate unterstützt, um die Zertifikatsrotation des Identitätsanbieters zu ermöglichen.
    5. EXTERNAL_IDP_USER_ATTRIBUTE: Geben Sie das Nutzerattribut ein. Das ist der Name des Attributs in der SAML-Antwort, das den Nutzernamen enthält. Wenn dieses Attribut in der SAML-Antwort fehlt, schlägt die Authentifizierung fehl.
  4. EXTERNAL_IDP_INITIAL_ADMIN: Geben Sie für SAML- und OIDC-Anbieter das Konto für den ersten Administrator ein. Der erste Administrator ist das erste Konto, dem nach Abschluss der Installation Zugriff auf das System gewährt wird. Der eingegebene Wert muss mit dem Anspruchstyp übereinstimmen, z. B. eine E-Mail-Adresse, wenn der Nutzeranspruch für einen OIDC-Anbieter auf email festgelegt ist.

    Notieren Sie sich den Namen des ersten Administrators, da Sie diese Informationen benötigen, um sich nach Abschluss der Installation zum ersten Mal im System anzumelden.