בשלב הזה מגדירים את שרת ה-Proxy לאימות זהויות (IAP) כדי להקצות שכבת הרשאה מרכזית לאפליקציה שנפרסה ב-Cloud Run, על ידי ביצוע הפעולות הבאות:
הגדרת מסך ההסכמה ל-OAuth: מסך ההסכמה ל-OAuth הוא בקשה שכוללת סיכום של הפרויקט, המדיניות והיקף ההרשאות המבוקש לגישה. הגדרת מסך ההסכמה ל-OAuth עבור האפליקציה מאפשרת לכם להגדיר מה יהיה זמין למשתמשים ולבודקי האפליקציה, וגם לרשום את האפליקציה כדי שתוכלו לפרסם אותה בהמשך. מידע נוסף על מסך ההסכמה ל-OAuth זמין במאמר הגדרת מסך ההסכמה ל-OAuth ובחירת היקפי הרשאות.
יצירת פרטי גישה ל-OAuth: צריך ליצור מזהה לקוח OAuth לאפליקציה ולדומיין, כדי שהאפליקציה תוכל לקרוא לממשקי ה-API הנדרשים. מידע נוסף על פרטי כניסה ל-OAuth זמין במאמר יצירת פרטי גישה.
הפעלת IAP במאזן העומסים: משתמשים במזהה הלקוח ובסוד של לקוח OAuth כדי להפעיל IAP במאזן העומסים שיצרתם עבור האפליקציה.
הפעלת IAP: כדי לאבטח את האפליקציה, צריך ליצור ישויות (principals) שיכולות לגשת לאפליקציה ואז להפעיל את IAP.
מגדירים את מסך ההסכמה של OAuth
במסוף Google Cloud , עוברים אל מסך ההסכמה ל-OAuth.
בוחרים אחד מסוגי המשתמשים הבאים עבור האפליקציה:
חיצוני: כל משתמש עם חשבון Google יכול לשלוח בקשות הרשאה. לצורך השלמת המדריך הזה, מומלץ לבחור באפשרות חיצוני.
פנימי: רק חברים בארגון Google Cloud יכולים לשלוח בקשות הרשאה לאפליקציה.
לוחצים על יצירה.
בקטע דומיינים מורשים, לוחצים על הוספת דומיין ומציינים את שם הדומיין שבו השתמשתם במהלך יצירת האישור.
בקטע פרטים ליצירת קשר עם המפתח, מזינים את כתובת האימייל.
לוחצים על שמירה והמשך.
בדף היקפים, לוחצים על שמירה והמשך.
אופציונלי: אם בחרתם באפשרות חיצוני כסוג המשתמש, מוסיפים משתמשי בדיקה בדף משתמשי בדיקה באופן הבא:
לוחצים על הוספת משתמשים.
מזינים את כתובת האימייל שלכם ושל משתמשים מורשים אחרים לבדיקה, ואז לוחצים על שמירה והמשך.
בודקים את סיכום רישום האפליקציה. כדי לבצע שינויים, לוחצים על עריכה. אם רישום האפליקציה נראה תקין, לוחצים על Back to dashboard (חזרה ללוח הבקרה).
יצירת פרטי גישה מסוג OAuth
נכנסים לדף Credentials במסוף Google Cloud .
לוחצים על Create credentials ואז על OAuth client ID.
ברשימה Application type, לוחצים על אפליקציית אינטרנט.
בשדה Name, מזינים
gemini-streamlit-app.בקטע Authorized JavaScript origins (מקורות מורשים של JavaScript), לוחצים על Add URI (הוספת URI) ומזינים את ה-URI הבא:
https://DOMAIN_NAMEמחליפים את DOMAIN_NAME בשם הדומיין שבו השתמשתם כשיצרתם את האישור.
לוחצים על יצירה.
מופיע המסך Oauth client created (נוצר לקוח OAuth), שבו מוצגים מזהה הלקוח וסוד הלקוח.
מעתיקים את מזהה הלקוח ואת הסוד של הלקוח. תצטרכו להזין פרטים בשלב הבא של המדריך.
הפעלת IAP במאזן העומסים
-
במסוף Google Cloud , מפעילים את Cloud Shell.
בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.
- במסוף Cloud Shell, מריצים את הפקודה הבאה:
gcloud compute backend-services update gemini-streamlit-app-backend \ --iap=enabled,oauth2-client-id=CLIENT_ID,oauth2-client-secret=CLIENT_SECRET \ --globalמחליפים את הערכים בשדות הבאים
- CLIENT_ID: מזהה הלקוח ב-OAuth מפרטי הכניסה של OAuth שיצרתם זה עתה.
- CLIENT_SECRET: סוד הלקוח של OAuth מפרטי הכניסה של OAuth שיצרתם.
הגדרה ושימוש ב-IAP
עוברים לדף שרת Proxy לאימות זהויות (IAP).
בוחרים את הפרויקט הרצוי.
מסמנים את תיבת הסימון ליד
gemini-streamlit-app-backend.לוחצים על Add principal.
מזינים את הפרטים בשדות הבאים:
New principals (ישויות חדשות): מזינים את כתובות האימייל של קבוצות או של אנשים כדי להעניק להם גישה לאפליקציה. כל אחד מהבאים יכול להיות ישות:
חשבון Google
קבוצה ב-Google
חשבון שירות
דומיין של Google Workspace
חשוב לוודא שציינתם חשבון Google שיש לכם גישה אליו.
ברשימה Role, בוחרים באפשרות Cloud IAP > IAP-secured Web App User.
לוחצים על Save.
בדף Identity-Aware Proxy, בקטע Applications, לוחצים על המתג IAP למצב מופעל בשורה שמתאימה למשאב
gemini-streamlit-app-backend.בחלון הפעלת IAP שמופיע, מסמנים את תיבת הסימון כדי לאשר שקראתם את דרישות ההגדרה והגדרתם את ה-Backend בהתאם.
לוחצים על הפעלה. אחרי שמפעילים את IAP, נדרשים פרטי כניסה לכל החיבורים למאזן העומסים. רק לחשבונות עם התפקיד משתמש באפליקציית אינטרנט מאובטחת ב-IAP בפרויקט ניתנת גישה.