יצירת קובץ התצורה

בדף הזה מוסבר איך ליצור את קובץ ההגדרות של הקלט שמשמש להגדרת מכשיר Google Distributed Cloud ‏ (GDC) עם בידוד פיזי.

לפני שמתחילים

חיבור המחשב הנייד למתג

יצירת קובץ הגדרות קלט

  1. תהליך ההגדרה של ה-Appliance משתמש בקובץ YAML כקלט. צריך ליצור את הקובץ הזה בדיוק באותו פורמט כמו התבנית שסיפקת. שדות או קטעים שמסומנים כ'אופציונליים' צריכים להיות מושמטים, ולא להישאר ריקים.

  2. הדוגמה הבאה היא של קובץ תצורה של קלט.

    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
    

מידע על Border Gateway Protocol‏ (BGP)

פרוטוקול Border Gateway Protocol‏ (BGP) מחליף מידע על ניתוב עם רשתות חיצוניות. הרשתות האלה מזוהות באמצעות מספרי מערכות אוטונומיות (ASN). כדי להבטיח קישוריות תקינה בין מכשיר GDC עם air gap לבין רשתות חיצוניות, כל ערכי ה-ASN חייבים להיות ייחודיים באופן גלובלי.

  1. DATAPLANE_ASN: מספר ה-ASN שהוקצה למישור הנתונים עבור מופע של מכשיר GDC עם air gap. לדוגמה 65204.

  2. CUSTOMER_ASN: מספר ה-ASN שהוקצה למישור הנתונים עבור רשת הלקוח. לדוגמה, 4200002002.

הגדרות של קישורי העלאה הן חיבורי קישור בין רשתות שכנות (peering) שמשמשים לחיבור חיצוני של מכונות GDC עם air gap לשירותים אחרים, כמו רשתות של לקוחות ומכונות אחרות של GDC עם air gap. הגדרות העלייה האלה והחיווט ממופע של מכשיר GDC עם air gap חשובים כדי להבטיח קישוריות תקינה לרשת החיצונית.

  1. לכל קישור uplink שנדרש לקישור בין רשתות שכנות (peering) של לקוחות למופע של מכשיר GDC עם air gap, ממלאים קטע של פריט uplink בשדה customer Peer Subnets. אם המספר שציינתם לא תואם למספר הצפוי של העלאות (2), ההעלאות שנותרו מוקצות מרשת המשנה של מישור הנתונים החיצוני.
  2. בקישורי העלייה, מציינים את הפרטים הבאים:
    1. UPLINK_IP_FAMILY_1, UPLINK_IP_FAMILY_2: מציינים את משפחת כתובות ה-IP רשת המשנה. הערך חייב להיות IPv4 או DualStack.
      1. אם בוחרים באפשרות IPv4,
        1. UPLINK_IPV4_PEER_1 IP, UPLINK_IPV4_PEER_2 IP: מתאר את כתובת ה-IP שהוקצתה ליציאה המנותבת. אם השדה הזה יישאר ריק, הערך יילקח מבלוק רשת המשנה של ה-peer.
        2. UPLINK_IPV4_NET_1, UPLINK_IPV4_NET_2: מזינים את בלוק תת-הרשת של ה-peer שהוגדר ברשת של הלקוח עבור הקישור של המתג והיציאה שצוינו. זוהי תת-רשת /31. לדוגמה, 172.16.255.148/31.
        3. UPLINK_IPV4_GW_1, UPLINK_IPV4_GW_2: מזינים את כתובת ה-IP שמייצגת את כתובת ה-IP שפונה ללקוח ברשת המשנה של עמית /31. לדוגמה, 172.16.255.148.
      2. אם בוחרים באפשרות DualStack,
        1. UPLINK_IPV4_PEER_1 IP, UPLINK_IPV4_PEER_2 IP: מתאר את כתובת ה-IPv4 שהוקצתה ליציאה המנותבת. אם השדה הזה יישאר ריק, הערך יילקח מבלוק רשת המשנה של ה-peer.
        2. UPLINK_IPV4_NET_1, UPLINK_IPV4_NET_2: ל-IPv4, מזינים את בלוק רשת המשנה של ה-peer שהוגדר ברשת של הלקוח עבור הקישור של המתג והיציאה שסופקו. זוהי תת-רשת /31. לדוגמה, 172.16.255.148/31.
        3. UPLINK_IPV4_GW_1, UPLINK_IPV4_GW_2: ל-IPv4, מזינים את כתובת ה-IPv4 שמייצגת את כתובת ה-IP שפונה ללקוח ב/31 רשת המשנה של עמית. לדוגמה, 172.16.255.148.
        4. UPLINK_IPV6_PEER_1 IP, UPLINK_IPV6_PEER_2 IP: מתאר את כתובת ה-IPv6 שהוקצתה ליציאה עם הניתוב. אם השדה הזה יישאר ריק, הערך יילקח מבלוק רשת המשנה של ה-peer.
        5. UPLINK_IPV6_NET_1, UPLINK_IPV6_NET_2: ל-IPv6, מזינים את בלוק תת-הרשת של ה-peer שהוגדר ברשת הלקוח עבור הקישור של המתג והיציאה שצוינו. זוהי תת-רשת /127. לדוגמה, FC00::/127.
        6. UPLINK_IPV6_GW_1, UPLINK_IPV6_GW_2: ל-IPv6, מזינים את כתובת ה-IPv6 שמייצגת את כתובת ה-IP שפונה ללקוח ב/127 רשת המשנה של עמית. לדוגמה, FC00::.

פרטי DNS

  1. DELEGATED_SUBDOMAIN: מזינים את שם תת-הדומיין שהוקצה ל-DNS עבור מופע של מכשיר GDC עם air gap משרת ה-DNS הראשי. שם הדומיין שמוגדר במלואו משמש כסיומת לשירותי מכשיר GDC עם air gap, כמו ניהול אשכולות. הפורמט הנדרש הוא LOCATION.SUFFIX.

    מחליפים את מה שכתוב בשדות הבאים:

    • LOCATION: מזהה האזור של פריסת מכשיר GDC עם air gap, למשל us-central1-a
    • SUFFIX: כל סיומת DNS תקינה, כמו zone1.google.gdch.test או us-central1-a.gdch.customer

רשת מישור הנתונים (CIDR חיצוני)

  1. במקרה של רשת של משפחת כתובות IP במישור הנתונים, מציינים אם רשת המשנה היא IPv4 או DualStack. בקטע externalCIDR, מחליפים את IP_FAMILY ב-IPv4 או ב-DualStack.
    1. אם בוחרים IPv4,
      1. מזינים את כתובת רשת IPv4 עם גודל מינימלי של 23 עבור רשת מישור הנתונים החיצונית. משתמשים ברשת הזו לשירותים חיצוניים שאפשר לגשת אליהם, כמו שרת Management API וממשקי אחסון. כתובת הרשת צריכה להיות בלוק רציף של כתובות IP שהוקצה מראש ברשת שלכם. לדוגמה, מחליפים את EXTERNAL_NETWORK_IPV4 ב-10.100.101.0/23.
    2. אם בוחרים באפשרות DualStack,
      1. מזינים את כתובת רשת IPv4 עם גודל מינימלי של 23 עבור רשת מישור הנתונים החיצונית. משתמשים ברשת הזו לשירותים חיצוניים שאפשר לגשת אליהם, כמו שרת Management API וממשקי אחסון. כתובת הרשת צריכה להיות בלוק רציף של כתובות IP שהוקצה מראש ברשת שלכם. לדוגמה, מחליפים את EXTERNAL_NETWORK_IPV4 ב-10.100.101.0/23.
      2. מזינים את כתובת רשת ה-IPv6 עם הגודל המינימלי של 64. בלוק ה-IP הזה מחולק לשניים. החצי הראשון משמש כרשת חיצונית של מישור הנתונים והחצי השני משמש כרשת פנימית של מישור הנתונים. לדוגמה, מחליפים את EXTERNAL_NETWORK_IPV6 ב-FC00::/64.

אופציונלי: מידע על מודול אבטחה לחומרה (HSM) חיצוני

מכשירי HSM מארחים מפתחות הצפנה ומבצעים פעולות קריפטוגרפיות באמצעות KMIP (פרוטוקול יכולת פעולה הדדית לניהול מפתחות). אפשר להשתמש ב-HSM עם NetApp ONTAP Select ‏ (OTS) לאחסון. אם רוצים להשתמש בשרת NTP חיצוני, צריך למלא את הקטע externalHSM.

לפני שמתחילים, צריך להגדיר את רשת ה-HSM.

  1. EXTERNAL_HSM_PR_ADDR: הכתובת של שירות ה-KMIP הראשי. הפורמט הוא (IP|DNS):Port. אם לא מציינים יציאה, המערכת תשתמש ביציאה 5696 כברירת מחדל.

    • בשדה IP, מזינים את כתובת רשת ה-IP של שירות KMIP. לדוגמה, 8.8.8.8:5696.
    • בשדה DNS name (שם DNS), מזינים את שם הדומיין שמוגדר במלואו של שירות ה-KMIP. לדוגמה, te.us-central1-a:5696.
  2. EXTERNAL_HSM_SE_ADDR: הכתובות של שירותי ה-KMIP המשניים. הפורמט הוא (IP|DNS):Port. אם לא מציינים יציאה, המערכת תשתמש ביציאה 5696 כברירת מחדל. אפשר לציין עד 3 כתובות משניות, מופרדות בפסיקים.

  3. EXTERNAL_HSM_CA_CERT: מזינים את CACert. ‫CA cert הוא האישור החתום של שירות KMIP.

  4. EXTERNAL_HSM_CLIENT_CERT: מזינים את אישור הלקוח לחיבור ל-HSM חיצוני.

  5. EXTERNAL_HSM_CLIENT_KEY: מזינים את מפתח הלקוח שמשויך לאישור הלקוח לצורך התחברות ל-HSM חיצוני.

אופציונלי: קישור ספק זהויות

אתם יכולים להתחבר לספק זהויות (IdP) קיים משלכם לניהול זהויות והרשאות גישה, או לחלופין להגדיר ספק זהויות Keycloak מובנה. אם אתם רוצים להשתמש בספק זהויות משלכם, ממלאים את הקטע externalIDP.

  1. בוחרים את סוג ספק הזהויות שאליו מתחברים: OIDC (OpenID Connect) או SAML (Security Assertion Markup Language).
  2. אם בוחרים ספק OIDC, מציינים את הפרמטרים הבאים:
    1. EXTERNAL_IDP_NAME: מזינים את השם של ספק הזהויות. השם שאתם מספקים כאן הוא הכינוי של הזהות במערכת.
    2. EXTERNAL_IDP_ISSUER_URI: מזינים את מזהה ה-URI של הגורם המנפיק. מזהה ה-URI של המנפיק חייב להפנות לרמה בתוך .well-known/openid-configuration. אפליקציות לקוח שולחות בקשות הרשאה לכתובת ה-URL הזו. שרת ה-API של Kubernetes משתמש בכתובת ה-URL הזו כדי לגלות מפתחות ציבוריים לאימות אסימונים.
    3. EXTERNAL_IDP_CA_DATA: מזינים אישור בקידוד PEM בקידוד base64 עבור נתוני רשות האישורים של ספק הזהויות. מידע נוסף זמין בכתובת https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail.
      1. כדי ליצור את המחרוזת, מקודדים את האישור, כולל הכותרות, ל-base64.
      2. כוללים את המחרוזת שמתקבלת כשורה אחת. לדוגמה: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tC...k1JSUN2RENDQWFT==
    4. EXTERNAL_IDP_CLIENT_ID: מזינים את מזהה הלקוח של אפליקציית הלקוח ששולחת בקשות אימות אל ה-IdP.
    5. EXTERNAL_IDP_CLIENT_SECRET: מזינים את סוד הלקוח, שהוא סוד משותף בין ה-IdP לבין מכשיר GDC עם פער אבטחה.
    6. EXTERNAL_IDP_USER_CLAIM: מזינים את השדה user claim כדי לזהות כל משתמש. זהו השם של הטענה באסימון המזהה מסוג OIDC שמכיל את שם המשתמש. אם ההצהרה הזו חסרה באסימון המזהה, המשתמשים לא יכולים לעבור אימות. ערך ברירת המחדל של טענה אצל הרבה ספקים הוא sub. אתם יכולים לבחור הצהרות אחרות, כמו email או name, בהתאם לספק הזהויות. לכל התביעות חוץ מ-email יש קידומת של כתובת ה-URL של המנפיק כדי למנוע התנגשויות בשמות.
    7. EXTERNAL_IDP_SCOPES: אם ספק הזהויות דורש היקפי הרשאות נוספים, מזינים רשימה מופרדת בפסיקים של היקפי הרשאות לשליחה לספק הזהויות. לדוגמה, שירותי Microsoft Azure ו-Okta דורשים את ההרשאה offline_access.
  3. אם בוחרים ספק SAML, צריך לציין את הפרמטרים הבאים:
    1. EXTERNAL_IDP_NAME: מזינים את השם של ספק הזהויות. השם שאתם מספקים כאן הוא הכינוי של הזהות במערכת.
    2. EXTERNAL_IDP_ENTITY_ID: מזינים את מזהה הישות של ספק SAML, שצוין בפורמט URI, כמו: https://www.idp.com/saml.
    3. EXTERNAL_IDP_SSO_URI: מזינים את URI של SSO, שהוא ה-URI של נקודת הקצה של SSO של ספק SAML, כמו https://www.idp.com/saml/sso.
    4. EXTERNAL_IDP_CERT_DATA: מזינים רשימה של אישורי IdP שמשמשים לאימות תגובת SAML. האישורים האלה צריכים להיות בקידוד Base64 רגיל ובפורמט PEM. כדי לאפשר רוטציה של אישורי IDP, המערכת תומכת בעד שני אישורים.
    5. EXTERNAL_IDP_USER_ATTRIBUTE: מזינים את מאפיין המשתמש, שהוא שם המאפיין בתגובת SAML שמכיל את שם המשתמש. אם המאפיין הזה חסר בתגובת SAML, האימות נכשל.
  4. EXTERNAL_IDP_INITIAL_ADMIN: גם לספקי SAML וגם לספקי OIDC, צריך להזין את החשבון של האדמין הראשוני. האדמין הראשוני הוא החשבון הראשון שמקבל גישה למערכת אחרי שההתקנה מסתיימת. הערך שאתם מזינים צריך להתאים לסוג ההצהרה, למשל כתובת אימייל אם הצהרת המשתמש עבור ספק OIDC מוגדרת כ-email.

    חשוב לרשום את השם של האדמין הראשוני, כי תצטרכו את המידע הזה כדי להתחבר למערכת בפעם הראשונה אחרי שההתקנה תסתיים.

המאמרים הבאים

הגדרת המכשיר והתקנת תוכנה