Buat file konfigurasi

Halaman ini menjelaskan cara membuat file konfigurasi input yang digunakan untuk mengonfigurasi appliance air-gapped Google Distributed Cloud (GDC).

Buat file konfigurasi input

  1. Proses konfigurasi appliance menggunakan file YAML input. Buat file ini dalam format yang sama persis dengan template yang disediakan. Kolom atau bagian yang ditandai sebagai "Opsional" harus dihilangkan, bukan dibiarkan kosong.

  2. Berikut adalah contoh file konfigurasi input.

    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
    

Informasi Border Gateway Protocol (BGP)

Border Gateway Protocol (BGP) bertukar informasi perutean dengan jaringan eksternal. Jaringan ini diidentifikasi menggunakan nomor sistem otonom (ASN). Untuk memastikan konektivitas yang tepat antara perangkat GDC yang terisolasi dari jaringan dan jaringan eksternal, semua nilai ASN harus unik secara global.

  1. DATAPLANE_ASN: ASN yang ditetapkan ke data plane untuk instance perlengkapan GDC dengan air gap. Contohnya, 65204.

  2. CUSTOMER_ASN: ASN yang ditetapkan ke bidang data untuk jaringan pelanggan. Misalnya, 4200002002.

Konfigurasi uplink adalah koneksi peering yang digunakan untuk menghubungkan instance appliance air-gapped GDC secara eksternal ke layanan lain seperti jaringan pelanggan dan instance appliance air-gapped GDC lainnya. Konfigurasi uplink dan kabel ini dari instance appliance GDC yang terisolasi dari jaringan eksternal penting untuk memastikan konektivitas yang tepat dengan jaringan eksternal.

  1. Untuk setiap uplink yang diperlukan untuk peering pelanggan ke instance peralatan air-gapped GDC, isi bagian item uplink di kolom Customer Peer Subnets. Jika jumlah uplink yang Anda berikan tidak cocok dengan jumlah uplink yang diharapkan (2), uplink yang tersisa dialokasikan dari subnet bidang data eksternal.
  2. Untuk uplink, tentukan hal berikut:
    1. UPLINK_IP_FAMILY_1, UPLINK_IP_FAMILY_2: Tentukan keluarga IP subnet. Harus berupa IPv4 atau DualStack.
      1. Jika Anda memilih IPv4,
        1. UPLINK_IPV4_PEER_1 IP, UPLINK_IPV4_PEER_2 IP: menjelaskan alamat IP yang ditetapkan di port yang dirutekan. Jika dibiarkan kosong, nilai ini akan diambil dari blok subnet peer.
        2. UPLINK_IPV4_NET_1, UPLINK_IPV4_NET_2: Masukkan blok subnet peer yang dikonfigurasi di jaringan pelanggan untuk link port dan switch yang diberikan. Ini adalah subnet /31. Misalnya, 172.16.255.148/31.
        3. UPLINK_IPV4_GW_1, UPLINK_IPV4_GW_2: Masukkan alamat IP yang merepresentasikan alamat IP yang menghadap pelanggan di subnet peer /31. Sebagai contoh, 172.16.255.148
      2. Jika Anda memilih DualStack,
        1. UPLINK_IPV4_PEER_1 IP, UPLINK_IPV4_PEER_2 IP: menjelaskan alamat IPv4 yang ditetapkan di port yang dirutekan. Jika dibiarkan kosong, nilai ini akan diambil dari blok subnet peer.
        2. UPLINK_IPV4_NET_1, UPLINK_IPV4_NET_2: Untuk IPv4, masukkan blok subnet peer yang dikonfigurasi di jaringan pelanggan untuk link port dan switch yang diberikan. Ini adalah subnet /31. Misalnya, 172.16.255.148/31.
        3. UPLINK_IPV4_GW_1, UPLINK_IPV4_GW_2: Untuk IPv4, masukkan alamat IPv4 yang merepresentasikan alamat IP yang menghadap pelanggan di subnet peer /31. Sebagai contoh, 172.16.255.148
        4. UPLINK_IPV6_PEER_1 IP, UPLINK_IPV6_PEER_2 IP: menjelaskan alamat IPv6 yang ditetapkan di port yang dirutekan. Jika dibiarkan kosong, nilai ini akan diambil dari blok subnet peer.
        5. UPLINK_IPV6_NET_1, UPLINK_IPV6_NET_2: Untuk IPv6, masukkan blok subnet peer yang dikonfigurasi di jaringan pelanggan untuk link port dan switch yang diberikan. Ini adalah subnet /127. Misalnya, FC00::/127.
        6. UPLINK_IPV6_GW_1, UPLINK_IPV6_GW_2: Untuk IPv6, masukkan alamat IPv6 yang merepresentasikan alamat IP yang menghadap pelanggan di subnet peer /127. Sebagai contoh, FC00::

Informasi Domain Name System (DNS)

  1. DELEGATED_SUBDOMAIN: Masukkan nama subdomain yang didelegasikan DNS untuk instance appliance air-gapped GDC dari server DNS induk. Nama domain yang sepenuhnya memenuhi syarat ini digunakan sebagai akhiran untuk layanan appliance GDC yang terisolasi dari internet seperti pengelolaan cluster. Format yang diharapkan adalah LOCATION.SUFFIX.

    Ganti kode berikut:

    • LOCATION: ID zona deployment perlengkapan GDC yang terisolasi dari internet, seperti us-central1-a
    • SUFFIX: suffix DNS yang valid, seperti zone1.google.gdch.test atau us-central1-a.gdch.customer

Jaringan bidang data (CIDR eksternal)

  1. Untuk jaringan kelompok IP bidang data, tentukan apakah subnetnya adalah IPv4 atau DualStack. Di bagian externalCIDR, ganti IP_FAMILY dengan IPv4 atau DualStack.
    1. Jika Anda memilih IPv4,
      1. Masukkan alamat jaringan IPv4 dengan ukuran minimum 23 untuk jaringan dataplane eksternal. Gunakan jaringan ini untuk layanan yang dapat diakses secara eksternal seperti server Management API dan antarmuka penyimpanan. Alamat jaringan harus berupa blok IP berkelanjutan yang telah dialokasikan sebelumnya di jaringan Anda. Misalnya, ganti EXTERNAL_NETWORK_IPV4 dengan 10.100.101.0/23.
    2. Jika Anda memilih DualStack,
      1. Masukkan alamat jaringan IPv4 dengan ukuran minimum 23 untuk jaringan dataplane eksternal. Gunakan jaringan ini untuk layanan yang dapat diakses secara eksternal seperti server Management API dan antarmuka penyimpanan. Alamat jaringan harus berupa blok IP berkelanjutan yang telah dialokasikan sebelumnya di jaringan Anda. Misalnya, ganti EXTERNAL_NETWORK_IPV4 dengan 10.100.101.0/23.
      2. Masukkan alamat jaringan IPv6 dengan ukuran minimum 64. Blok IP ini dibagi menjadi dua, bagian pertama digunakan sebagai jaringan dataplane eksternal dan bagian kedua digunakan sebagai jaringan dataplane internal. Misalnya, ganti EXTERNAL_NETWORK_IPV6 dengan FC00::/64.

Opsional: Informasi modul keamanan hardware (HSM) eksternal

Perangkat HSM menghosting kunci enkripsi dan melakukan operasi kriptografi menggunakan KMIP (Key Management Interoperability Protocol). Anda dapat menggunakan HSM dengan NetApp ONTAP Select (OTS) untuk penyimpanan. Jika Anda ingin menggunakan server NTP eksternal, isi bagian externalHSM.

Sebelum memulai, konfigurasi jaringan HSM terlebih dahulu.

  1. EXTERNAL_HSM_PR_ADDR: Alamat layanan KMIP utama. Ikuti format (IP|DNS):Port. Jika port tidak ada, port default 5696 akan digunakan.

    • Untuk IP, masukkan alamat jaringan IP layanan KMIP. Contohnya, 8.8.8.8:5696.
    • Untuk DNS name, masukkan nama domain yang memenuhi syarat sepenuhnya dari layanan KMIP. Misalnya, te.us-central1-a:5696.
  2. EXTERNAL_HSM_SE_ADDR: Alamat layanan KMIP sekunder. Ikuti format (IP|DNS):Port. Jika port tidak ada, port default 5696 akan digunakan. Anda dapat menentukan hingga 3 alamat sekunder, yang dipisahkan dengan koma.

  3. EXTERNAL_HSM_CA_CERT: Masukkan CACert. Sertifikat CA adalah sertifikat yang ditandatangani untuk layanan KMIP.

  4. EXTERNAL_HSM_CLIENT_CERT: Masukkan sertifikat klien untuk terhubung ke HSM eksternal.

  5. EXTERNAL_HSM_CLIENT_KEY: Masukkan kunci klien yang terkait dengan sertifikat klien untuk terhubung ke HSM eksternal.

Opsional: Menghubungkan penyedia identitas

Anda dapat terhubung ke penyedia identitas (IdP) yang sudah ada untuk pengelolaan identitas dan akses atau menyiapkan IdP Keycloak bawaan. Jika Anda ingin menggunakan penyedia identitas Anda sendiri, isi bagian externalIDP.

  1. Pilih jenis penyedia identitas yang Anda hubungkan: OIDC (OpenID Connect) atau SAML (Security Assertion Markup Language).
  2. Jika Anda memilih penyedia OIDC, tentukan parameter berikut:
    1. EXTERNAL_IDP_NAME: Masukkan nama IdP. Nama yang Anda berikan di sini adalah alias identitas dalam sistem.
    2. EXTERNAL_IDP_ISSUER_URI: Masukkan URI penerbit. URI penerbit harus mengarah ke level di dalam .well-known/openid-configuration. Aplikasi klien mengirim permintaan otorisasi ke URL ini. Server Kubernetes API menggunakan URL ini untuk menemukan kunci publik agar dapat memverifikasi token.
    3. EXTERNAL_IDP_CA_DATA: Masukkan sertifikat berenkode PEM yang dienkode base64 untuk data otoritas sertifikat untuk IdP. Untuk mengetahui informasi selengkapnya, lihat https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail.
      1. Untuk membuat string, enkode sertifikat, termasuk header, ke dalam base64.
      2. Sertakan string yang dihasilkan sebagai satu baris. Contoh: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tC...k1JSUN2RENDQWFT==
    4. EXTERNAL_IDP_CLIENT_ID: Masukkan client ID untuk aplikasi klien yang membuat permintaan autentikasi ke IdP.
    5. EXTERNAL_IDP_CLIENT_SECRET: Masukkan rahasia klien, yang merupakan rahasia bersama antara IdP Anda dan perlengkapan air-gapped GDC.
    6. EXTERNAL_IDP_USER_CLAIM: Masukkan kolom klaim pengguna untuk mengidentifikasi setiap pengguna. Ini adalah nama klaim di Token ID OIDC yang menyimpan nama pengguna. Jika klaim ini tidak ada di Token ID, pengguna tidak dapat diautentikasi. Klaim default untuk banyak penyedia adalah sub. Anda dapat memilih klaim lain, seperti email atau name, bergantung pada penyedia identitas. Klaim selain email diawali dengan URL penerbit untuk mencegah konflik penamaan.
    7. EXTERNAL_IDP_SCOPES: Jika penyedia identitas Anda memerlukan cakupan tambahan, masukkan daftar cakupan yang dipisahkan koma untuk dikirim ke IDP. Misalnya, Microsoft Azure dan Okta memerlukan cakupan offline_access.
  3. Jika Anda memilih penyedia SAML, tentukan parameter berikut:
    1. EXTERNAL_IDP_NAME: Masukkan nama IdP. Nama yang Anda berikan di sini adalah alias identitas dalam sistem.
    2. EXTERNAL_IDP_ENTITY_ID: Masukkan ID entitas untuk penyedia SAML, yang ditentukan dalam format URI, seperti: https://www.idp.com/saml.
    3. EXTERNAL_IDP_SSO_URI: Masukkan SSO URI, yaitu URI ke endpoint SSO penyedia SAML, seperti https://www.idp.com/saml/sso.
    4. EXTERNAL_IDP_CERT_DATA: Masukkan daftar sertifikat IdP yang digunakan untuk memverifikasi respons SAML. Sertifikat ini harus dienkode dengan Base64 standar dan diformat PEM. Maksimum dua sertifikat didukung untuk memfasilitasi rotasi sertifikat IDP.
    5. EXTERNAL_IDP_USER_ATTRIBUTE: Masukkan atribut pengguna, yang merupakan nama atribut dalam respons SAML yang menyimpan nama pengguna. Jika atribut ini tidak ada dalam respons SAML, autentikasi akan gagal.
  4. EXTERNAL_IDP_INITIAL_ADMIN: Untuk penyedia SAML dan OIDC, masukkan akun untuk admin awal. Administrator awal adalah akun pertama yang diberi akses ke sistem setelah penginstalan selesai. Nilai yang Anda masukkan harus cocok dengan jenis klaim, seperti alamat email jika klaim pengguna untuk penyedia OIDC ditetapkan ke email.

    Catat nama administrator awal, karena Anda memerlukan informasi ini untuk login ke sistem untuk pertama kalinya setelah penginstalan selesai.