בדף הזה מוסברים המושגים הבסיסיים של Identity-Aware Proxy (IAP), שהוא שירות גלובלי של Google Cloud .
באמצעות IAP אתם יוצרים שכבת הרשאה מרכזית לאפליקציות שאליהן ניגשים באמצעות HTTPS, כך שאתם יכולים להשתמש במודל של בקרת גישה ברמת האפליקציה במקום להסתמך על חומות אש ברמת הרשת.
מדיניות IAP ניתנת להרחבה בכל הארגון. אתם יכולים להגדיר מדיניות גישה באופן מרכזי ולהחיל אותה על כל האפליקציות והמשאבים שלכם. כשמקצים צוות ייעודי ליצירה ולאכיפה של מדיניות, אפשר להגן על הפרויקט מפני הגדרה או הטמעה שגויות של מדיניות בכל אפליקציה.
מתי כדאי להשתמש ב-IAP
משתמשים ב-IAP כשרוצים לאכוף מדיניות של בקרת גישה לאפליקציות ולמשאבים. IAP פועל עם כותרות חתומות או עם ממשק ה-API של משתמשים בסביבה הרגילה של App Engine כדי לאבטח את האפליקציה. באמצעות IAP אפשר להגדיר גישה לאפליקציה על בסיס קבוצות: יכול להיות שלעובדים תהיה גישה למשאב מסוים, אבל לקבלנים לא, או שהגישה תהיה רק למחלקה מסוימת.
איך פועלת רכישה מתוך האפליקציה
כשמגנים על אפליקציה או משאב באמצעות IAP, רק חשבונות משתמשים עם התפקיד הנכון בניהול הזהויות והרשאות הגישה (IAM) יכולים לגשת אליהם דרך ה-proxy. כשמעניקים למשתמש גישה לאפליקציה או למשאב באמצעות IAP, הוא כפוף לבקרות הגישה המפורטות שמוטמעות במוצר שבשימוש, בלי שנדרש VPN. כשמשתמש מנסה לקבל גישה למשאב שמאובטח באמצעות IAP, האימות ובדיקת ההרשאות מתבצעים על ידי IAP.
אימות
בקשות למשאבים שלכם ב- Google Cloud מגיעות דרך Cloud Run, App Engine ו-Cloud Load Balancing (איזון עומסים חיצוני ופנימי מסוג HTTP(S)). קוד התשתית של המוצרים האלה בודק אם IAP מופעל באפליקציה או בשירות הקצה העורפי. אם IAP מופעל, מידע על המשאב המוגן נשלח לשרת האימות של IAP. המידע הזה כולל, למשל, את Google Cloud מספר הפרויקט, כתובת ה-URL של הבקשה וכל פרטי הכניסה של IAP בכותרות או בקובצי ה-Cookie של הבקשה.
לאחר מכן, IAP בודק אם המשתמש מחובר. אם המשתמש לא מחובר לחשבון, הדפדפן שלו מופנה לאחת משיטות הכניסה הבאות שנתמכות על ידי IAP:
חשבון Google: המשתמשים שלכם עם חשבונות Google מופנים דרך תהליך הכניסה לחשבון Google כדי לגשת אל Google Cloud. Google Cloud
איחוד שירותי אימות הזהות של כוח עבודה: המשתמשים שלכם ב- Google Cloud ספק זהויות חיצוני מופנים דרך הכניסה ל-IdP שלהם כדי לגשת אל Google Cloud.
Identity Platform: הלקוחות שלכם שמשתמשים באימייל ובסיסמאות או בכניסה באמצעות חשבון ברשתות חברתיות, כמו פייסבוק, אפל ו-Google (Gmail), כדי לגשת לאפליקציה שלכם.
אחרי האימות, הדפדפן של המשתמש מאחסן טוקן בקובץ Cookie של הדפדפן לצורך כניסות עתידיות.
אם פרטי הכניסה של הבקשה תקפים, שרת האימות משתמש בפרטי הכניסה האלה כדי לקבל את הזהות של המשתמש (כתובת אימייל ומזהה משתמש). לאחר מכן, שרת האימות משתמש בזהות כדי לבדוק את תפקיד ה-IAM של המשתמש, ולבדוק אם המשתמש מורשה לגשת למשאב.
אם אתם משתמשים ב-Compute Engine או ב-Google Kubernetes Engine, משתמשים שיש להם גישה ליציאה של המכונה הווירטואלית (VM) שבה האפליקציה פועלת יכולים לעקוף את האימות של IAP. כללי חומת האש ב-Compute Engine וב-GKE לא יכולים להגן מפני גישה מקוד שפועל באותה מכונה וירטואלית כמו האפליקציה שמאובטחת באמצעות IAP. כללי חומת אש יכולים להגן מפני גישה ממכונה וירטואלית אחרת, אבל רק אם הם מוגדרים בצורה נכונה. מה האחריות שלכם בכל הנוגע לאבטחה?
אם אתם משתמשים ב-Cloud Run, אתם יכולים להפעיל את IAP באחת מהדרכים הבאות:
- ישירות בשירותי Cloud Run. כך IAP יכול להגן על כל נתיבי הכניסה ל-Cloud Run, כולל כתובת ה-URL שהוקצתה אוטומטית וכל כתובת URL של איזון עומסים שהוגדרה. ההגדרה הזו שימושית אם רוצים להפעיל IAP בשירות Cloud Run יחיד.
- באמצעות מאזן עומסים עם קצה עורפי של Cloud Run. ההגדרה הזו שימושית אם יש לכם כמה שירותי Cloud Run באזורים שונים מאחורי מאזן עומסים גלובלי יחיד. בהגדרה הזו, כתובת ה-URL שמוקצית באופן אוטומטי לא מוגנת על ידי IAP, ויכול להיות שאפשר לגשת אליה ישירות. מידע נוסף על האחריות שלכם בנוגע לאבטחה
אם שירות Cloud Run נמצא מאחורי מאזן עומסים, אל תפעילו את IAP גם במאזן העומסים וגם בשירות Cloud Run.
מידע נוסף על איחוד שירותי אימות הזהות של כוח עבודה איך מגדירים את IAP עם איחוד שירותי אימות הזהות של כוח העבודה לחלופין, אם רוצים לסנכרן את הזהויות החיצוניות עם חשבונות Google משלהן, אפשר להשתמש ב-Google Cloud Directory Sync כדי לסנכרן עם ספק הזהויות.
הרשאה
אחרי האימות, IAP מחיל את מדיניות ה-IAM הרלוונטית כדי לבדוק אם למשתמש יש הרשאה לגשת למשאב המבוקש. אם למשתמש יש את התפקיד IAP-secured Web App User בפרויקט של מסוףGoogle Cloud שבו המשאב קיים, הוא מורשה לגשת לאפליקציה. כדי לנהל את רשימת התפקידים IAP-secured Web App User, צריך להשתמש בחלונית IAP במסוף Google Cloud .
כשמפעילים IAP למשאב, נוצרים באופן אוטומטי מזהה לקוח וסוד לקוח של OAuth 2.0. אם תמחקו את פרטי הכניסה של OAuth 2.0 שנוצרו באופן אוטומטי, לא תוכלו להשתמש ב-IAP בצורה תקינה. אפשר לראות ולנהל את פרטי הכניסה של OAuth 2.0 בGoogle Cloud מסוף APIs & Services.
בקרת גישה מבוססת הקשר
במסגרת שלב ההרשאה, אפשר להשתמש בבקרת גישה מבוססת-הקשר כדי לספק גישה מאובטחת לסוגי המשאבים הבאים:
Google Cloud Console וממשקי API
- השכבה הראשונה של ההגנה על הגישה לתשתית של Google Cloud.
- גישה מתקדמת מבוססת-הקשר Google Cloud למשתמשים.
מכונות וירטואליות (VM)
- ההרשאה מאפשרת גישת אדמין ב-SSH/RDP למכונות וירטואליות ב- Google Cloud ובסביבות ענן אחרות.
- מאפשרת לכם להטמיע אמצעי בקרה חזקים מבוססי-הקשר כדי להגביל את הגישה רק לאדמינים ייעודיים.
אפליקציות אינטרנט
- מספק אימות והרשאה לאפליקציות אינטרנט שמתארחות ב-Google Cloud ובעננים אחרים.
- מספקת הרשאה רציפה כדי למנוע גישה לא מורשית ואובדן נתונים.
תחומי האחריות שלכם
IAP מאבטח את האימות וההרשאה של כל הבקשות ל-Cloud Run, ל-App Engine, ל-Cloud Load Balancing (HTTPS) ולאיזון עומסים פנימי של HTTP.
כדי לשמור על האבטחה, חשוב לנקוט באמצעי הזהירות הבאים:
- אם מפעילים IAP במאזן עומסים, צריך לוודא שאפשר לגשת ישירות למשאבי ה-Backend.
- אם משאב ה-Backend הוא מכונה וירטואלית, צריך להגדיר את כללי חומת האש כדי להגן מפני תעבורה שלא עוברת דרך איזון העומסים. השימוש ב-IAP לא מגן מפני פעילות בתוך פרויקטים, כמו מכונה וירטואלית אחרת בתוך הפרויקט.
- אם משאב הקצה העורפי הוא שירות Cloud Run, אפשר להשבית את כתובת ה-URL של run.app כדי לוודא שכל התנועה הנכנסת מגיעה דרך איזון העומסים. אם בוחרים להשאיר את כתובת ה-URL של run.app מופעלת, צריך להשתמש באמצעי בקרה על תעבורת נתונים נכנסת כדי לחסום תעבורת נתונים מחוץ לרשת.
- כדי לפתור את הבעיה, צריך לעדכן את האפליקציה לשימוש בכותרות חתומות או להשתמש ב-Users API בסביבת App Engine סטנדרטית.
המאמרים הבאים
- כדי להתחיל להשתמש ב-IAP, מבצעים אחת מהמשימות הבאות:
- מפעילים את IAP ישירות בשירותי Cloud Run או במאזן עומסים עם קצה עורפי של Cloud Run.
- כדי לנהל את הגישה באמצעות חשבונות Google, צריך להשלים את המדריך למתחילים בנושא App Engine.
- מפעילים את IAP for Compute Engine.
- מפעילים את IAP ל-GKE.
- מפעילים את האפשרות רכישות מתוך האפליקציה לאפליקציות מקומיות.
- מידע נוסף: