הגדרת גישה פרטית ל-Google

בדף הזה מוסבר איך להפעיל ולשנות את ההגדרות של גישה פרטית ל-Google. כברירת מחדל, כשמכונה וירטואלית ב-Compute Engine לא מקבלת כתובת IP חיצונית שמוקצית לממשק הרשת שלה, היא יכולה לשלוח חבילות רק לכתובות IP פנימיות אחרות. כדי לאפשר למכונות הווירטואליות האלה להתחבר לסט של כתובות IP חיצוניות שמשמשות את ממשקי ה-API והשירותים של Google, צריך להפעיל גישה פרטית ל-Google ברשת המשנה שבה נעשה שימוש בממשק הרשת של המכונה הווירטואלית.

גישה פרטית ל-Google מאפשרת גם גישה לכתובות IP חיצוניות שמשמשות את App Engine, כולל שירותים מבוססי App Engine של צד שלישי.

כדי לראות את ממשקי ה-API והשירותים שעומדים בדרישות לשימוש בגישה פרטית ל-Google, אפשר לעיין באפשרויות הדומיין.

למידע על אפשרויות אחרות לקישוריות פרטית שמוצעות על ידיGoogle Cloud, כולל Private Service Connect ו-Private Google Access, אפשר לעיין במאמר אפשרויות גישה פרטיות לשירותים.

מפרטים

ממשק של מכונה וירטואלית יכול לשלוח חבילות לכתובות IP חיצוניות של שירותים וממשקי Google API באמצעות גישה פרטית ל-Google, אם כל התנאים הבאים מתקיימים:

  • הממשק של המכונה הווירטואלית מחובר לתת-רשת שבה מופעלת גישה פרטית ל-Google.

  • רשת ה-VPC שמכילה את רשת המשנה עומדת בדרישות הרשת לממשקי Google APIs ולשירותים.

  • לממשק של המכונה הווירטואלית לא מוקצית כתובת IP חיצונית.

  • כתובת ה-IP של המקור של המנות שנשלחות מהמכונה הווירטואלית תואמת לאחת מכתובות ה-IP הבאות.

    • כתובת ה-IPv4 הפנימית הראשית של הממשק של המכונה הווירטואלית
    • כתובת ה-IPv6 הפנימית של הממשק של המכונה הווירטואלית
    • כתובת IPv4 פנימית מטווח כתובות IP של כינוי

מכונה וירטואלית עם כתובת IPv4 או IPv6 חיצונית שמוקצית לממשק הרשת שלה לא צריכה גישה פרטית ל-Google כדי להתחבר לשירותים ולממשקי ה-API של Google. עם זאת, רשת ה-VPC צריכה לעמוד בדרישות לגישה לממשקי API ולשירותים של Google.

דרישות רשת

כדי להשתמש בגישה פרטית ל-Google, צריך לעמוד בדרישות הבאות:

  • במידת הצורך, מפעילים את ממשק ה-API לשירותים שרוצים לגשת אליהם:

    • אם אתם ניגשים לנקודת קצה של שירות Google API, אתם צריכים להפעיל את ה-API בשביל השירות הזה.

      לדוגמה, כדי ליצור קטגוריה של Cloud Storage באמצעות נקודת הקצה של שירות storage.googleapis.com API או ספריית לקוח, צריך להפעיל את Cloud Storage API.

    • אם אתם ניגשים לסוגים אחרים של משאבים, יכול להיות שלא תצטרכו להפעיל אף ממשק API.

      לדוגמה, כדי לגשת לקטגוריה של Cloud Storage בפרויקט אחר דרך כתובת ה-URL של האחסון שלהgoogleapis.com , לא צריך להפעיל את Cloud Storage API.

  • כדי להתחבר ל-Google APIs ולשירותים של Google באמצעות IPv6, אתם צריכים לעמוד בשתי הדרישות הבאות:

    • המכונה הווירטואלית צריכה להיות מוגדרת עם טווח כתובות IPv6 של /96.

    • התוכנה שפועלת במכונה הווירטואלית צריכה לשלוח חבילות שהמקורות שלהן תואמים לאחת מכתובות ה-IPv6 בטווח הזה.

  • בהתאם להגדרה שבחרתם, יכול להיות שתצטרכו לעדכן את רשומות ה-DNS, המסלולים וכללי חומת האש. מידע נוסף מופיע במאמר בנושא סיכום אפשרויות ההגדרה.

  • הגישה הפרטית ל-Google מופעלת ברמת תת-הרשת, ולכן צריך להשתמש ברשת VPC. אין תמיכה ברשתות מדור קודם כי הן לא תומכות ברשתות משנה.

הרשאות

בעלי פרויקטים, עורכים וחשבונות ראשיים בניהול זהויות והרשאות גישה (IAM) עם התפקיד Network Admin יכולים ליצור או לעדכן רשתות משנה ולהקצות כתובות IP.

מידע נוסף על תפקידים זמין במאמר בנושא תפקידים ב-IAM.

רישום ביומן

שירות Cloud Logging מתעד את כל הבקשות ל-API שנשלחות ממכונות וירטואליות ברשתות משנה שמופעלת בהן גישה פרטית ל-Google. רשומות ביומן מזהות את המקור של בקשת ה-API ככתובת IP פנימית של המופע שמבצע את הקריאה.

אתם יכולים להגדיר שדוחות יומיים על השימוש ודוחות סיכום חודשיים יישלחו לקטגוריה ב-Cloud Storage. פרטים נוספים מופיעים במאמר בנושא הצגת דוחות שימוש.

סיכום אפשרויות ההגדרה

בטבלה הבאה מפורטות הדרכים השונות להגדרת גישה פרטית ל-Google. מידע מפורט יותר על הגדרות זמין במאמר הגדרת רשת.

אם רוצים לגשת ל-Firestore עם API לתאימות ל-MongoDB ‏(firestore.goog), אפשר לעיין במאמר הגדרת גישה פרטית ל-Google ב-Firestore עם תאימות ל-MongoDB.

VPC Service Controls.
אפשרות דומיין הגדרת DNS הגדרות הניתוב הגדרת חומת אש
דומיינים שמוגדרים כברירת מחדל אתם ניגשים ל-Google APIs ולשירותים של Google דרך כתובות ה-IP הציבוריות שלהם, ולכן לא נדרשת הגדרת DNS מיוחדת.

מוודאים שברשת ה-VPC אפשר לנתב תעבורת נתונים לטווחים של כתובות IP שמשמשים את Google APIs והשירותים של Google.

  • הגדרה בסיסית: מוודאים שיש מסלולי ברירת מחדל עם הצעד הבא default-internet-gateway וטווח יעד של 0.0.0.0/0 (לתעבורת IPv4) ו-::/0 (לתעבורת IPv6, אם צריך). אם המסלולים האלה לא קיימים, צריך ליצור אותם.
  • הגדרה בהתאמה אישית: יצירת מסלולים לטווחים של כתובות IP שמשמשים את ממשקי Google APIs והשירותים של Google.

מוודאים שכללי חומת האש מאפשרים יציאה לטווחים של כתובות ה-IP שמשמשים את שירותי Google ואת Google APIs.

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

private.googleapis.com

מגדירים רשומות DNS באזור DNS פרטי כדי לשלוח בקשות לכתובות ה-IP הבאות:

לתנועת IPv4:

  • 199.36.153.8/30

לתנועת IPv6:

  • 2600:2d00:0002:2000::/56

מוודאים שלרשת ה-VPC יש מסלולים לטווחים הבאים של כתובות IP:

לתנועת IPv4:

  • 199.36.153.8/30
  • 34.126.0.0/18

לתנועת IPv6:

  • 2600:2d00:0002:2000::/56
  • 2001:4860:8040::/42

מוודאים שכללי חומת האש מאפשרים יציאה לטווחי כתובות ה-IP הבאים:

לתנועת IPv4:

  • 199.36.153.8/30
  • 34.126.0.0/18

לתנועת IPv6:

  • 2600:2d00:0002:2000::/56
  • 2001:4860:8040::/42
restricted.googleapis.com

מגדירים רשומות DNS כדי לשלוח בקשות לכתובות ה-IP הבאות:

לתנועת IPv4:

  • 199.36.153.4/30

לתנועת IPv6:

  • 2600:2d00:0002:1000::/56

מוודאים שלרשת ה-VPC יש מסלולים לטווחים הבאים של כתובות IP:

לתנועת IPv4:

  • 199.36.153.4/30
  • 34.126.0.0/18

לתנועת IPv6:

  • 2600:2d00:0002:1000::/56
  • 2001:4860:8040::/42

מוודאים שכללי חומת האש מאפשרים יציאה לטווחי כתובות ה-IP הבאים:

לתנועת IPv4:

  • 199.36.153.4/30
  • 34.126.0.0/18

לתנועת IPv6:

  • 2600:2d00:0002:1000::/56
  • 2001:4860:8040::/42

הגדרת רשת

בקטע הזה מתוארות דרישות הרשת הבסיסיות שצריך לעמוד בהן כדי שמכונה וירטואלית ברשת ה-VPC תוכל לגשת לממשקי Google API ולשירותים של Google.

אפשרויות דומיין

בוחרים את הדומיין שרוצים להשתמש בו כדי לגשת לממשקי API ולשירותים של Google.

כתובות ה-IP הווירטואליות (VIP) ‏private.googleapis.com ו-restricted.googleapis.com תומכות רק בפרוטוקולים מבוססי-HTTP דרך TCP (HTTP,‏ HTTPS ו-HTTP/2). אין תמיכה בכל הפרוטוקולים האחרים, כולל MQTT ו-ICMP. אין תמיכה באתרים אינטראקטיביים ותכונות שמשתמשות באינטרנט – למשל, להפניות או לאחזור תוכן.

טווחי כתובות IP ודומיינים שירותים נתמכים דוגמה לשימוש

דומיינים שמוגדרים כברירת מחדל.

כל שמות הדומיינים של Google APIs והשירותים של Google חוץ מ private.googleapis.com וrestricted.googleapis.com.

טווחים שונים של כתובות IP – אפשר לקבוע קבוצה של טווחי כתובות IP שמכילה את הכתובות האפשריות שמשמשות את הדומיינים שמוגדרים כברירת מחדל. לשם כך, אפשר לעיין במאמר כתובות IP לדומיינים שמוגדרים כברירת מחדל.

מאפשר גישת API לרוב ממשקי ה-API והשירותים של Google, בלי קשר לשאלה אם הם נתמכים על ידי VPC Service Controls. כולל גישה ל-API של מפות Google,‏ Google Ads ו- Google Cloud. כולל אפליקציות אינטרנט של Google Workspace כמו Gmail ו-Google Docs, ואפליקציות אינטרנט אחרות.

הדומיינים שמוגדרים כברירת מחדל משמשים כשלא מגדירים רשומות DNS עבור private.googleapis.com ועבור restricted.googleapis.com.

private.googleapis.com

199.36.153.8/30

2600:2d00:0002:2000::/56

מאפשר גישת API לרוב ממשקי ה-API והשירותים של Google, בלי קשר לשאלה אם הם נתמכים על ידי VPC Service Controls. כולל גישה ל-API של מפות Google, Google Ads Google Cloudורוב ממשקי ה-API האחרים של Google, כולל הרשימה הבאה. אין תמיכה באפליקציות אינטרנט של Google Workspace כמו Gmail ו-Google Docs.

שמות דומיין שתואמים:

  • accounts.google.com (תומך רק בנתיבים שנדרשים לאימות OAuth של חשבונות שירות; אימות של חשבונות משתמשים הוא אינטראקטיבי ולא נתמך)
  • *.aiplatform-notebook.cloud.google.com
  • *.aiplatform-notebook.googleusercontent.com
  • appengine.google.com
  • *.appspot.com
  • *.backupdr.cloud.google.com
  • backupdr.cloud.google.com
  • *.backupdr.googleusercontent.com
  • backupdr.googleusercontent.com
  • *.cloudfunctions.net
  • *.cloudproxy.app
  • *.composer.cloud.google.com
  • *.composer.googleusercontent.com
  • *.datafusion.cloud.google.com
  • *.datafusion.googleusercontent.com
  • *.dataproc.cloud.google.com
  • dataproc.cloud.google.com
  • *.dataproc.googleusercontent.com
  • dataproc.googleusercontent.com
  • *.developerconnect.dev
  • dl.google.com
  • gcr.io או *.gcr.io
  • *.googleapis.com

    לא כולל *.rep.googleapis.com נקודות קצה אזוריות ונקודות קצה עם מספר אזורים.

  • *.gke.goog
  • gstatic.com או *.gstatic.com
  • *.kernels.googleusercontent.com
  • *.ltsapis.goog
  • *.notebooks.byoid.googleusercontent.com
  • *.notebooks.cloud.google.com
  • notebooks.cloud.google.com
  • *.notebooks.googleusercontent.com
  • packages.cloud.google.com
  • pkg.dev או *.pkg.dev
  • pki.goog או *.pki.goog
  • *.run.app
  • source.developers.google.com
  • storage.cloud.google.com

משתמשים ב-private.googleapis.com כדי לגשת לשירותים ולממשקי Google API באמצעות קבוצה של כתובות IP שאפשר לנתב רק מתוך Google Cloud.

בוחרים באפשרות private.googleapis.com במקרים הבאים:

  • אתם לא משתמשים ב-VPC Service Controls.
  • אתם משתמשים ב-VPC Service Controls, אבל אתם גם צריכים לגשת לממשקי API ולשירותים של Google שלא נתמכים על ידי VPC Service Controls.1

restricted.googleapis.com

199.36.153.4/30

2600:2d00:0002:1000::/56

מאפשר גישת API אל ממשקי API ושירותים של Google שנתמכים על ידי VPC Service Controls.

חוסמת גישה ל-Google APIs ולשירותים של Google שלא תומכים ב-VPC Service Controls. אין תמיכה בממשקי API של Google Workspace או באפליקציות אינטרנט של Google Workspace, כמו Gmail ו-Google Docs.

משתמשים ב-restricted.googleapis.com כדי לגשת לשירותים ולממשקי Google API באמצעות קבוצה של כתובות IP שאפשר לנתב רק מתוך Google Cloud.

בוחרים באפשרות restricted.googleapis.com כשרק צריך גישה לממשקי API ולשירותים של Google שנתמכים על ידי VPC Service Controls.

ב-restricted.googleapis.com אין אפשרות לגשת לממשקי API ולשירותים של Google שלא תומכים ב-VPC Service Controls.1

‫1 אם אתם צריכים להגביל את המשתמשים רק ל-Google APIs ולשירותים של Google שתומכים ב-VPC Service Controls, כדאי להשתמש ב-restricted.googleapis.com, כי הוא מספק אמצעים נוספים לצמצום הסיכון לזליגת נתונים. השימוש ב-restricted.googleapis.com חוסם את הגישה לממשקי API ולשירותים של Google שלא נתמכים על ידי VPC Service Controls. פרטים נוספים זמינים במאמר הגדרת קישוריות פרטית במסמכי התיעוד של VPC Service Controls.

תמיכה ב-IPv6 ב-private.googleapis.com וב-restricted.googleapis.com

אפשר להשתמש בטווחי כתובות IPv6 הבאים כדי לנתב תעבורה מלקוחות IPv6 אל ממשקי API ושירותים של Google:

  • private.googleapis.com: 2600:2d00:0002:2000::/56
  • restricted.googleapis.com: 2600:2d00:0002:1000::/56

כדאי להגדיר את כתובות ה-IPv6 אם רוצים להשתמש בדומיין private.googleapis.com או restricted.googleapis.com, ויש לכם לקוחות שמשתמשים בכתובות IPv6. לקוחות IPv6 שהוגדרו להם גם כתובות IPv4 יכולים לגשת ל-Google APIs ולשירותים של Google באמצעות כתובות ה-IPv4. לא כל השירותים מקבלים תנועה מלקוחות IPv6.

הגדרת DNS

כדי להתחבר לממשקי API ולשירותים של Google, אתם יכולים לבחור לשלוח חבילות לכתובות ה-IP שמשויכות ל-VIP‏ private.googleapis.com או restricted.googleapis.com. כדי להשתמש ב-VIP, צריך להגדיר DNS כך שמכונות וירטואליות ברשת ה-VPC יוכלו לגשת לשירותים באמצעות כתובות ה-VIP במקום כתובות ה-IP הציבוריות.

בקטעים הבאים מוסבר איך להשתמש באזורי DNS כדי לשלוח מנות לכתובות ה-IP שמשויכות ל-VIP שבחרתם. פועלים לפי ההוראות לכל התרחישים הרלוונטיים:

כשמגדירים רשומות DNS לכתובות ה-VIP, צריך להשתמש רק בכתובות ה-IP שמתוארות בשלבים הבאים. אל תערבבו כתובות מה-VIP של private.googleapis.com ושל restricted.googleapis.com. הדבר עלול לגרום לכשלים לסירוגין, כי השירותים שמוצעים שונים בהתאם ליעד של המנה.

הגדרת DNS עבור googleapis.com

יוצרים תחום DNS ורשומות עבור googleapis.com:

  1. יוצרים אזור DNS פרטי בשביל googleapis.com. כדאי לשקול יצירה של תחום פרטי ב-Cloud DNS למטרה הזו.
  2. בתחום googleapis.com, יוצרים את רשומות ה-DNS הפרטיות הבאות עבור אחת מהאפשרויות private.googleapis.com או restricted.googleapis.com, בהתאם לדומיין שבחרתם להשתמש בו.

    • עבור private.googleapis.com:

      1. יוצרים רשומת A עבור private.googleapis.com שמפנה לכתובות ה-IP הבאות: 199.36.153.8, ‏ 199.36.153.9, ‏ 199.36.153.10, ‏ 199.36.153.11.

      2. כדי להתחבר לממשקי API באמצעות כתובות IPv6, צריך גם להגדיר רשומת AAAA עבור private.googleapis.com שמפנה אל 2600:2d00:0002:2000::.

    • עבור restricted.googleapis.com:

      1. יוצרים רשומת A עבור restricted.googleapis.com שמפנה לכתובות ה-IP הבאות: 199.36.153.4, ‏ 199.36.153.5, ‏ 199.36.153.6, ‏ 199.36.153.7.

      2. כדי להתחבר ל-APIs באמצעות כתובות IPv6, צריך גם ליצור רשומת AAAA עבור restricted.googleapis.com שמפנה אל 2600:2d00:0002:1000::.

    כדי ליצור רשומות DNS פרטיות ב-Cloud DNS, אפשר לעיין במאמר בנושא הוספת רשומה.

  3. באזור googleapis.com, יוצרים רשומת CNAME עבור *.googleapis.com שמצביעה על הדומיין שהגדרתם: private.googleapis.com או restricted.googleapis.com.

הגדרת DNS לדומיינים אחרים

חלק משירותי Google ומממשקי Google API מסופקים באמצעות שמות דומיין נוספים, כולל *.gcr.io,‏ *.gstatic.com,‏ *.pkg.dev,‏ pki.goog,‏ *.run.app ו-*.gke.goog. כדי לדעת אם אפשר לגשת לשירותים של הדומיין הנוסף באמצעות private.googleapis.com או restricted.googleapis.com, כדאי לעיין בטבלה של טווחי כתובות ה-IP והדומיינים באפשרויות הדומיין. לאחר מכן, לכל אחד מהדומיינים הנוספים:

  1. יוצרים תחום DNS בשביל DOMAIN (לדוגמה, gcr.io). אם אתם משתמשים ב-Cloud DNS, ודאו שהתחום הזה נמצא באותו פרויקט כמו התחום הפרטי googleapis.com.

  2. בתחום ה-DNS הזה, יוצרים את רשומות ה-DNS הפרטיות הבאות עבור אחד מהדומיינים private.googleapis.com או restricted.googleapis.com, בהתאם לדומיין שבחרתם להשתמש בו.

    • עבור private.googleapis.com:

      1. יוצרים רשומת A עבור DOMAIN שמפנה לכתובות ה-IP הבאות: 199.36.153.8, ‏ 199.36.153.9, ‏ 199.36.153.10, ‏ 199.36.153.11.

      2. כדי להתחבר ל-APIs באמצעות כתובות IPv6, צריך גם ליצור רשומת AAAA עבור DOMAIN שמפנה אל 2600:2d00:0002:2000::.

    • עבור restricted.googleapis.com:

      1. יוצרים רשומת A עבור DOMAIN שמפנה לכתובות ה-IP הבאות: 199.36.153.4, ‏ 199.36.153.5, ‏ 199.36.153.6, ‏ 199.36.153.7.

      2. כדי להתחבר ל-APIs באמצעות כתובות IPv6, צריך גם ליצור רשומת AAAA עבור DOMAIN שמפנה אל 2600:2d00:0002:1000::.

  3. בתחום DOMAIN, יוצרים רשומת CNAME בשביל *.DOMAIN שמצביעה אל DOMAIN. לדוגמה, יוצרים רשומת CNAME בשביל *.gcr.io שמצביעה אל gcr.io.

הגדרת DNS לשמות דומיינים מותאמים אישית ב-Cloud Storage

אם אתם משתמשים בקטגוריות של Cloud Storage ושולחים בקשות לשם דומיין מותאם אישית של Cloud Storage, הגדרת רשומות DNS לשם הדומיין המותאם אישית של Cloud Storage כך שיפנו לכתובות ה-IP של private.googleapis.com או restricted.googleapis.com לא מספיקה כדי לאפשר גישה לקטגוריות של Cloud Storage.

אם רוצים לשלוח בקשות לשם דומיין מותאם אישית ב-Cloud Storage, צריך גם להגדיר באופן מפורש את כותרת המארח של בקשת ה-HTTP ואת ה-SNI של TLS ל-storage.googleapis.com כתובות ה-IP של private.googleapis.com ושל restricted.googleapis.com לא תומכות בשמות מארחים מותאמים אישית של Cloud Storage בכותרות המארח של בקשות HTTP וב-SNI של TLS.

אפשרויות ניתוב

ברשת ה-VPC צריכים להיות מסלולים מתאימים שהקפיצות הבאות שלהם הן שער האינטרנט שמוגדר כברירת מחדל. Google Cloud לא תומך בניווט תעבורת נתונים ל-Google APIs ולשירותים של Google דרך מופעים אחרים של מכונות וירטואליות או קפיצות מותאמות אישית. למרות שהשער נקרא שער אינטרנט שמוגדר כברירת מחדל, מנות שנשלחות ממכונות וירטואליות ברשת ה-VPC שלכם לממשקי API ולשירותים של Google נשארות בתוך הרשת של Google.

  • אם בוחרים את הדומיינים שמוגדרים כברירת מחדל, המכונות הווירטואליות מתחברות לממשקי API ולשירותים של Google באמצעות קבוצת משנה של כתובות ה-IP החיצוניות של Google. אפשר לנתב את כתובות ה-IP האלה באופן ציבורי, אבל הנתיב מ-VM ברשת VPC לכתובות האלה נשאר בתוך הרשת של Google.

  • ‫Google לא מפרסמת באינטרנט מסלולים לאף אחת מכתובות ה-IP שמשמשות את הדומיינים private.googleapis.com או restricted.googleapis.com. לכן, אפשר לגשת לדומיינים האלה רק ממכונות וירטואליות ברשת VPC או ממערכות מקומיות שמחוברות לרשת VPC.

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

אם החלפתם נתיב ברירת מחדל (יעד 0.0.0.0/0 או ::0/0) בנתיב מותאם אישית שהניתוב הבא שלו לא הוא שער האינטרנט שמוגדר כברירת מחדל, אתם יכולים לעמוד בדרישות הניתוב של Google APIs והשירותים של Google באמצעות ניתוב מותאם אישית.

אם ברשת ה-VPC אין נתיב ברירת מחדל של IPv6, לא תהיה לכם קישוריות IPv6 לממשקי API ולשירותים של Google. מוסיפים נתיב ברירת מחדל של IPv6 כדי לאפשר קישוריות IPv6.

ניתוב עם מסלול ברירת מחדל

כל רשת VPC מכילה נתיב ברירת מחדל של IPv4 ‏ (0.0.0.0/0) כשהיא נוצרת. אם מפעילים כתובות IPv6 חיצוניות ברשת משנה, מתווסף לרשת ה-VPC מסלול ברירת מחדל של IPv6 שנוצר על ידי המערכת (::/0).

מסלולי ברירת המחדל מספקים נתיב לכתובות ה-IP של היעדים הבאים:

  • הדומיינים שמוגדרים כברירת מחדל.

  • private.googleapis.com: 199.36.153.8/30 וגם 2600:2d00:0002:2000::/56.

  • restricted.googleapis.com: 199.36.153.4/30 וגם 2600:2d00:0002:1000::/56.

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

המסוף

  1. נכנסים לדף Routes במסוף Google Cloud .

    לדף Routes

  2. מסננים את רשימת המסלולים כדי להציג רק את המסלולים של הרשת שרוצים לבדוק.

  3. מחפשים מסלול שהיעד שלו הוא 0.0.0.0/0 לתעבורת IPv4 או ::/0 לתעבורת IPv6, והצעד הבא שלו הוא שער ברירת המחדל לאינטרנט.

gcloud

משתמשים בפקודה gcloud הבאה, ומחליפים את NETWORK_NAME בשם הרשת שרוצים לבדוק:

gcloud compute routes list \
    --filter="default-internet-gateway NETWORK_NAME"

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

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

ניתוב בהתאמה אישית

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

בנוסף, מומלץ להוסיף נתיבים ל-34.126.0.0/18 ול-2001:4860:8040::/42. מידע נוסף מופיע במאמר בנושא סיכום אפשרויות ההגדרה.

כדי לבדוק את ההגדרה של מסלולים מותאמים אישית לממשקי API ולשירותים של Google ברשת נתונה, פועלים לפי ההוראות הבאות.

המסוף

  1. נכנסים לדף Routes במסוף Google Cloud .

    לדף Routes

  2. משתמשים בשדה הטקסט Filter table כדי לסנן את רשימת המסלולים לפי הקריטריונים הבאים, ומחליפים את NETWORK_NAME בשם של רשת ה-VPC.

    • רשת: NETWORK_NAME
    • סוג הצעד הבא: default internet gateway
  3. בודקים את העמודה Destination IP range (טווח כתובות ה-IP של היעד) בכל מסלול. אם בחרתם בדומיינים שמוגדרים כברירת מחדל, צריך לבדוק אם יש כמה נתיבים סטטיים מותאמים אישית, אחד לכל טווח כתובות IP שמשמש את הדומיין שמוגדר כברירת מחדל. אם בחרתם באפשרות private.googleapis.com או restricted.googleapis.com, חפשו את טווח כתובות ה-IP של הדומיין הזה.

gcloud

משתמשים בפקודה gcloud הבאה, ומחליפים את NETWORK_NAME בשם הרשת שרוצים לבדוק:

gcloud compute routes list \
    --filter="default-internet-gateway NETWORK_NAME"

המסלולים מפורטים בפורמט טבלה, אלא אם משתמשים בדגל --format כדי להתאים אישית את הפקודה. בודקים את העמודה DEST_RANGE כדי לראות את היעד של כל מסלול. אם בחרתם בדומיינים שמוגדרים כברירת מחדל, בדקו אם יש כמה מסלולים סטטיים מותאמים אישית, אחד לכל טווח כתובות IP שמשמש את הדומיין שמוגדר כברירת מחדל. אם בחרתם באפשרות private.googleapis.com או restricted.googleapis.com, חפשו את טווח כתובות ה-IP של הדומיין הזה.

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

הגדרת חומת אש

ההגדרות של חומת האש ברשת ה-VPC צריכות לאפשר גישה ממכונות וירטואליות לכתובות ה-IP שמשמשות את שירותי Google ואת Google APIs. הכלל המשתמע allow egress עומד בדרישה הזו.

במקרים מסוימים, בהגדרות של חומת האש צריך ליצור כללים ספציפיים שמאפשרים תעבורת נתונים יוצאת (egress). לדוגמה, נניח שיצרתם כלל מניעת תעבורת נתונים יוצאת שחוסם תעבורת נתונים לכל היעדים (0.0.0.0 ל-IPv4 או ::/0 ל-IPv6). במקרה כזה, צריך ליצור כלל אחד של חומת אש ליציאה שמאפשר גישה, עם עדיפות גבוהה יותר מהכלל שחוסם יציאה, לכל טווח כתובות IP שמשמש את הדומיין שבחרתם עבור שירותים וממשקי API של Google.

בנוסף, מומלץ לכלול את 34.126.0.0/18 ואת 2001:4860:8040::/42 בכלל חומת האש ליציאה. מידע נוסף זמין במאמר סיכום אפשרויות ההגדרה.

הוראות ליצירת כללים של חומת אש מופיעות במאמר יצירת כללים של חומת אש. כשמגדירים יעד לכל כלל שמאפשר תעבורה יוצאת, אפשר להגביל את מכונות ה-VM שאליהן חלים כללי חומת האש.

כתובות IP לדומיינים שמוגדרים כברירת מחדל

בקטע הזה מוסבר איך ליצור רשימה של טווחי כתובות ה-IP של הדומיינים שמוגדרים כברירת מחדל, שמשמשים את השירותים ואת Google APIs. הטווחים האלה מוקצים באופן דינמי ומשתנים לעיתים קרובות, ולכן אי אפשר להגדיר טווחי כתובות IP ספציפיים לשירותים או לממשקי API ספציפיים. כדי שהרשימה תהיה מדויקת, צריך להגדיר אוטומציה להרצת הסקריפט מדי יום.

אם יש לכם דרישות מחמירות לגבי תעבורת נתונים יוצאת, אל תשתמשו בכתובות ה-IP של הדומיינים שמוגדרים כברירת מחדל. משתמשים בנקודת קצה של Private Service Connect או ב-VIP פרטי (private.googleapis.com ) או מוגבל (restricted.googleapis.com ). האפשרויות האלה דורשות הגדרת DNS נוספת, אבל לא דורשות תחזוקה של רשימת טווחי כתובות IP.

כדי לקבוע את טווחי כתובות ה-IP שבהם נעשה שימוש בדומיינים שמוגדרים כברירת מחדל, כמו *.googleapis.com, פועלים לפי השלבים הבאים.

  • ‫Google מפרסמת רשימה של כתובות IP בבעלות Google ב-goog.json.

  • Google גם מפרסמת רשימה של טווחי כתובות IP חיצוניות גלובליות ואזוריות שזמינות למשאבי הלקוחות ב- Google Cloud ב-cloud.json.

אם מחסירים את כל הטווחים ב-cloud.json מאלה שב-goog.json, מקבלים קבוצה גדולה של כתובות IP שמשמשות את Google APIs הגלובליים ושירותים אחרים של Google, כולל מוצרים שפונים ללקוחות מחוץ ל- Google Cloud. הרשימות האלה מתעדכנות לעיתים קרובות.

אפשר להשתמש בסקריפט Python הבא כדי ליצור רשימה של טווחי כתובות IP שכוללים את אלה שמשמשים את הדומיינים שמוגדרים כברירת מחדל עבור Google APIs והשירותים של Google.

מידע על הרצת הסקריפט הזה זמין במאמר איך מריצים.

from __future__ import print_function

import json

try:
    from urllib import urlopen
except ImportError:
    from urllib.request import urlopen
    from urllib.error import HTTPError

import netaddr

IPRANGE_URLS = {
    "goog": "https://www.gstatic.com/ipranges/goog.json",
    "cloud": "https://www.gstatic.com/ipranges/cloud.json",
}


def read_url(url):
    try:
        return json.loads(urlopen(url).read())
    except (IOError, HTTPError):
        print("ERROR: Invalid HTTP response from %s" % url)
    except json.decoder.JSONDecodeError:
        print("ERROR: Could not parse HTTP response from %s" % url)


def get_data(link):
    data = read_url(link)
    if data:
        print("{} published: {}".format(link, data.get("creationTime")))
        cidrs = netaddr.IPSet()
        for e in data["prefixes"]:
            if "ipv4Prefix" in e:
                cidrs.add(e.get("ipv4Prefix"))
            if "ipv6Prefix" in e:
                cidrs.add(e.get("ipv6Prefix"))
        return cidrs


def main():
    cidrs = {group: get_data(link) for group, link in IPRANGE_URLS.items()}
    if len(cidrs) != 2:
        raise ValueError("ERROR: Could process data from Google")
    print("IP ranges for Google APIs and services default domains:")
    for ip in (cidrs["goog"] - cidrs["cloud"]).iter_cidrs():
        print(ip)


if __name__ == "__main__":
    main()

הגדרת גישה פרטית ל-Google

אפשר להפעיל גישה פרטית ל-Google אחרי שעומדים בדרישות הרשת ברשת ה-VPC.

הפעלת גישה פרטית ל-Google

כדי להפעיל גישה פרטית ל-Google:

המסוף

  1. נכנסים לדף VPC networks במסוף Google Cloud .

    מעבר לרשתות VPC

  2. לוחצים על השם של הרשת שמכילה את רשת המשנה שרוצים להפעיל עבורה גישה פרטית ל-Google.

  3. ברשת משנה קיימת:

    1. לוחצים על השם של רשת המשנה. הדף Subnet details מוצג.
    2. לוחצים על Edit.
    3. בקטע Private Google Access (גישה פרטית ל-Google), בוחרים באפשרות On (מופעל).
    4. לוחצים על Save.
  4. ברשת משנה חדשה:

    1. לוחצים על הוספת רשת משנה.
    2. מזינים שם.
    3. בוחרים Region.
    4. בקטע סוג ערימת ה-IP, בוחרים באחת מהאפשרויות הבאות:
      • IPv4 (single-stack)
      • ‫IPv4 ו-IPv6 (dual-stack)
      • ‫IPv6 (single-stack)
    5. אם אתם יוצרים רשת משנה עם טווח כתובות IPv4, מזינים טווח IPv4. זהו טווח ה-IPv4 הראשי של רשת המשנה.

      אם בוחרים טווח שהוא לא כתובת RFC 1918, צריך לוודא שהטווח לא מתנגש עם הגדרה קיימת. מידע נוסף זמין במאמר בנושא טווחים של רשתות משנה של IPv4.

    6. אם אתם יוצרים רשת משנה עם טווח כתובות IPv6, בוחרים סוג גישה ל-IPv6: פנימית או חיצונית.

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

    7. בוחרים הגדרות אחרות לרשת המשנה החדשה בהתאם לצרכים שלכם. לדוגמה, יכול להיות שתצטרכו ליצור טווחי כתובות IP משניים של רשתות משנה או להפעיל יומני זרימה של VPC.

    8. בקטע Private Google Access (גישה פרטית ל-Google), בוחרים באפשרות On (מופעל).

    9. לוחצים על הוספה.

gcloud

ברשת משנה קיימת:

  1. קובעים את השם והאזור של רשת המשנה. כדי להציג את רשימת רשתות המשנה של רשת מסוימת, משתמשים בפקודה הבאה:

    gcloud compute networks subnets list --filter=NETWORK_NAME
    
  2. מריצים את הפקודה הבאה כדי להפעיל גישה פרטית ל-Google:

    gcloud compute networks subnets update SUBNET_NAME \
    --region=REGION \
    --enable-private-ip-google-access
    
  3. מריצים את הפקודה הבאה כדי לוודא שהגישה הפרטית ל-Google מופעלת:

    gcloud compute networks subnets describe SUBNET_NAME \
    --region=REGION \
    --format="get(privateIpGoogleAccess)"
    

בכל הפקודות שלמעלה, מחליפים את הערכים הבאים בערכים תקינים:

  • ‫SUBNET_NAME: השם של רשת המשנה
  • ‫REGION: האזור של תת-הרשת
  • ‫NETWORK_NAME: השם של רשת ה-VPC שמכילה את תת-הרשת

כשיוצרים רשת משנה חדשה, משתמשים בדגל --enable-private-ip-google-access כדי להפעיל גישה פרטית ל-Google:

gcloud compute networks subnets create SUBNET_NAME \
    --region=REGION \
    --network=NETWORK_NAME \
    --range=PRIMARY_IPV4_RANGE \
    [ --stack-type=STACK_TYPE ] \
    [ --ipv6-access-type=IPv6_ACCESS_TYPE ] \
    --enable-private-ip-google-access

מחליפים את הערכים הבאים בערכים תקינים:

  • ‫SUBNET_NAME: השם של רשת המשנה
  • ‫REGION: האזור של תת-הרשת
  • ‫NETWORK_NAME: השם של רשת ה-VPC שמכילה את תת-הרשת
  • ‫PRIMARY_IPV4_RANGE: טווח כתובות ה-IPv4 הראשי של רשת המשנה. אם יוצרים רשת משנה עם IPv6 בלבד, לא מציינים את הדגל הזה.
  • ‫STACK_TYPE הוא סוג הערימה של רשת המשנה: IPV4_ONLY,‏ IPV4_IPV6 או IPV6_ONLY.
  • ‫IPv6_ACCESS_TYPE הוא סוג הגישה ל-IPv6: EXTERNAL או INTERNAL. צריך לציין את סוג הגישה ל-IPv6 רק אם ציינתם גם את --stack-type=IPV4_IPV6 או את --stack-type=IPV6_ONLY.

השבתת גישה פרטית ל-Google

כדי להשבית את הגישה הפרטית ל-Google ברשת משנה קיימת:

המסוף

  1. נכנסים לדף VPC networks במסוף Google Cloud .

    מעבר לרשתות VPC

  2. לוחצים על השם של הרשת שמכילה את רשת המשנה שרוצים להשבית לגביה את הגישה הפרטית ל-Google.

  3. לוחצים על השם של רשת משנה קיימת. הדף Subnet details מוצג.

  4. לוחצים על Edit.

  5. בקטע Private Google Access (גישה פרטית ל-Google), בוחרים באפשרות Off (מושבת).

  6. לוחצים על Save.

gcloud

  1. קובעים את השם והאזור של רשת המשנה. כדי להציג את רשימת רשתות המשנה של רשת מסוימת, משתמשים בפקודה הבאה:

    gcloud compute networks subnets list \
        --filter=NETWORK_NAME
    
  2. מריצים את הפקודה הבאה כדי להשבית את הגישה הפרטית ל-Google:

    gcloud compute networks subnets update SUBNET_NAME \
        --region=REGION \
        --no-enable-private-ip-google-access
    
  3. מריצים את הפקודה הבאה כדי לוודא שגישה פרטית ל-Google מושבתת:

    gcloud compute networks subnets describe SUBNET_NAME \
        --region=REGION \
        --format="get(privateIpGoogleAccess)"
    

בכל הפקודות שלמעלה, מחליפים את הערכים הבאים בערכים תקינים:

  • ‫SUBNET_NAME: השם של רשת המשנה
  • ‫REGION: האזור של תת-הרשת
  • ‫NETWORK_NAME: השם של רשת ה-VPC שמכילה את תת-הרשת

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