כדי לשפר את האבטחה הכוללת, כברירת מחדל IAP דוחה בקשות גישה שלא תואמות ל-Server Name Indication (SNI). בנוסף, IAP בודק את ה-SNI של האישור של מאזן העומסים. כך IAP יכול להגביל את ההפניה האוטומטית של כתובות URL לדומיינים זדוניים. התכונה "דומיינים מותרים ב-IAP" מספקת שכבת אבטחה נוספת למשאבים שמוגנים באמצעות IAP. כבעלי משאבים או כאדמינים של IAP, אתם יכולים להגביל את הגישה למשאבים שמוגנים באמצעות IAP לדומיינים ספציפיים, על ידי הגדרת התכונה "דומיינים מותרים".
אתם יכולים גם להגדיר דומיינים מותרים ל-IAP בתרחישים הבאים:
הדפדפן או שרת proxy ביניים מאלצים איגוד חיבורים: בתרחיש הזה, אתם מקבלים תגובת HTTP 429 וקוד שגיאה
51. כדי לפתור את הבעיה, אדמין ב-IAP יכול לעדכן את רשימת הדומיינים המותרים כך שתכלול את שם המארח שלכם.שם המארח שצוין לא תואם לאישור ה-SSL בשרת: בתרחיש הזה, מתקבל קוד השגיאה
52. כדי לפתור את הבעיה, אדמין ב-IAP יכול לעדכן את רשימת הדומיינים המותרים כך שתכלול את שם המארח שלכם.
הגדרת הדומיינים המותרים
אפשר להשתמש ב-gcloud או ב-API כדי לקבוע את הגדרות הדומיינים המורשים. כדי להגדיר דומיינים מורשים, משתמשים בשדות הבאים:
enable: ערך בוליאני. הפעלה או השבתה של התכונה "דומיינים מורשים".
Domains: מחרוזת. רשימת הדומיינים המותרים. הדומיינים יכולים להכיל תחיליות של תווים כלליים לחיפוש, כמו*.example.com.. שמות הדומיינים לא יכולים להכיל תו כללי לחיפוש ישירות בסיומת ציבורית או בדומיין ברמה עליונה. לדוגמה:*.com,*.co.in.
מידע נוסף זמין במאמר IapSettings.
כדי להגדיר דומיינים מותרים ב-IAP:
המסוף
עוברים לדף IAP.
נכנסים לדף Identity-Aware Proxy.בוחרים פרויקט ואז בוחרים את המשאב שבו רוצים להפעיל את התכונה "דומיינים מורשים".
פותחים את ההגדרות של המשאב. בקטע דומיינים מורשים, בוחרים באפשרות הפעלת הדומיינים המורשים.
מציינים את רשימת הדומיינים המורשים ולוחצים על שמירה.
gcloud
בהמשך מופיעות כמה פקודות לדוגמה להגדרת דומיינים מותרים.
מידע נוסף זמין במאמר gcloud iap settings set.
מריצים את הפקודה הבאה:
gcloud iap settings set SETTING_FILE --folder=FOLDER --organization=ORGANIZATION --project=PROJECT --resource-type=RESOURCE_TYPE --service=SERVICE --version=VERSION
כאשר SETTING_FILE הוא:
accessSettings:
allowed_domains_settings:
enable: true
domains: ["*.example.com", "*.example.net"]
מחליפים את מה שכתוב בשדות הבאים:
FOLDER: מזהה התיקייה.
ORGANIZATION: מזהה הארגון.
PROJECT: מזהה הפרויקט.
RESOURCE_TYPE: סוג המשאב של IAP. הערכים האפשריים:
app-engine,iap_web,compute,organization,folder,backend-services,forwarding-ruleאוcloud-run.SERVICE: שם השירות. השדה הזה אופציונלי כשהערך של
resource-typeהואcomputeאוapp-engine.VERSION: שם הגרסה. השדה הזה לא רלוונטי ל-
compute, והוא אופציונלי כשהערך שלresource-typeהואapp-engine.
כדי להגדיר את היקף ההגדרות, צריך לציין לפחות אחד מהדגלים הבאים:
--organization=ORGANIZATION--folder=FOLDER--project=PROJECT
API
כדי להגדיר דומיינים מותרים, מבצעים את השלבים הבאים. למידע נוסף על השימוש ב-API כדי להגדיר דומיינים מותרים, ראו IapSettings.
מריצים את הפקודה הבאה כדי להכין קובץ
iap_settings.json. מעדכנים את הערכים לפי הצורך.{ "access_settings": { "allowed_domains_settings": { "enable": true, "domains": [ "*.example.com", "*.example.net" ] } } }מריצים את הפקודה
gcloud iap settings getכדי לקבל את שם המשאב. מעתיקים את השדה name מהפלט. תצטרכו את השם בשלב הבא.gcloud iap settings get --organization=ORGANIZATION --folder=FOLDER --project=PROJECT --resource-type=RESOURCE_TYPE --service=SERVICE --version=VERSION
מחליפים את
RESOURCE_NAMEבפקודה הבאה בשם מהשלב הקודם. ה-IapSettingsיעודכן.curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d @iap_settings.json \ "https://iap.googleapis.com/v1/RESOURCE_NAME:iapSettings?updateMask=iapSettings.accessSettings.allowedDomainsSettings.enable,iapSettings.accessSettings.allowedDomainsSettings.domains"
פתרון בעיות
בעיית גישה לדומיינים מורשים
אם מופיע קוד שגיאה 53, צריך לבקש מאדמין של IAP להוסיף את שם המארח לרשימת הדומיינים המורשים.