שלב 4: הגדרת שרת proxy לאימות זהויות (IAP)

בשלב הזה מגדירים את שרת ה-Proxy לאימות זהויות (IAP) כדי להקצות שכבת הרשאה מרכזית לאפליקציה שנפרסה ב-Cloud Run, על ידי ביצוע הפעולות הבאות:

  1. הגדרת מסך ההסכמה ל-OAuth: מסך ההסכמה ל-OAuth הוא בקשה שכוללת סיכום של הפרויקט, המדיניות והיקף ההרשאות המבוקש לגישה. הגדרת מסך ההסכמה ל-OAuth עבור האפליקציה מאפשרת לכם להגדיר מה יהיה זמין למשתמשים ולבודקי האפליקציה, וגם לרשום את האפליקציה כדי שתוכלו לפרסם אותה בהמשך. מידע נוסף על מסך ההסכמה ל-OAuth זמין במאמר הגדרת מסך ההסכמה ל-OAuth ובחירת היקפי הרשאות.

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

  3. הפעלת IAP במאזן העומסים: משתמשים במזהה הלקוח ובסוד של לקוח OAuth כדי להפעיל IAP במאזן העומסים שיצרתם עבור האפליקציה.

  4. הפעלת IAP: כדי לאבטח את האפליקציה, צריך ליצור ישויות (principals) שיכולות לגשת לאפליקציה ואז להפעיל את IAP.

  1. במסוף Google Cloud , עוברים אל מסך ההסכמה ל-OAuth.

    מעבר למסך ההסכמה ל-OAuth

  2. בוחרים אחד מסוגי המשתמשים הבאים עבור האפליקציה:

    • חיצוני: כל משתמש עם חשבון Google יכול לשלוח בקשות הרשאה. לצורך השלמת המדריך הזה, מומלץ לבחור באפשרות חיצוני.

    • פנימי: רק חברים בארגון Google Cloud יכולים לשלוח בקשות הרשאה לאפליקציה.

  3. לוחצים על יצירה.

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

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

  6. לוחצים על שמירה והמשך.

  7. בדף היקפים, לוחצים על שמירה והמשך.

  8. אופציונלי: אם בחרתם באפשרות חיצוני כסוג המשתמש, מוסיפים משתמשי בדיקה בדף משתמשי בדיקה באופן הבא:

    1. לוחצים על הוספת משתמשים.

    2. מזינים את כתובת האימייל שלכם ושל משתמשים מורשים אחרים לבדיקה, ואז לוחצים על שמירה והמשך.

  9. בודקים את סיכום רישום האפליקציה. כדי לבצע שינויים, לוחצים על עריכה. אם רישום האפליקציה נראה תקין, לוחצים על Back to dashboard (חזרה ללוח הבקרה).

יצירת פרטי גישה מסוג OAuth

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

    כניסה לדף Credentials

  2. לוחצים על Create credentials ואז על OAuth client ID.

  3. ברשימה Application type, לוחצים על אפליקציית אינטרנט.

  4. בשדה Name, מזינים gemini-streamlit-app.

  5. בקטע Authorized JavaScript origins (מקורות מורשים של JavaScript), לוחצים על Add URI (הוספת URI) ומזינים את ה-URI הבא:

    https://DOMAIN_NAME
    

    מחליפים את DOMAIN_NAME בשם הדומיין שבו השתמשתם כשיצרתם את האישור.

  6. לוחצים על יצירה.

    מופיע המסך Oauth client created (נוצר לקוח OAuth), שבו מוצגים מזהה הלקוח וסוד הלקוח.

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

הפעלת IAP במאזן העומסים

  1. במסוף Google Cloud , מפעילים את Cloud Shell.

    הפעלת Cloud Shell

    בחלק התחתון של Google Cloud המסוף יתחיל סשן של Cloud Shell ותופיע הודעה של שורת הפקודה. Cloud Shell היא סביבת מעטפת שבה ה-CLI של Google Cloud מותקן ומוגדרים ערכים לפרויקט הקיים. הסשן יופעל תוך כמה שניות.

  2. במסוף 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

  1. עוברים לדף שרת Proxy לאימות זהויות (IAP).

    כניסה לדף 'שרת proxy לאימות זהויות (IAP)'

  2. בוחרים את הפרויקט הרצוי.

  3. מסמנים את תיבת הסימון ליד gemini-streamlit-app-backend.

  4. לוחצים על Add principal.

  5. מזינים את הפרטים בשדות הבאים:

    • New principals (ישויות חדשות): מזינים את כתובות האימייל של קבוצות או של אנשים כדי להעניק להם גישה לאפליקציה. כל אחד מהבאים יכול להיות ישות:

      • חשבון Google

      • קבוצה ב-Google

      • חשבון שירות

      • דומיין של Google Workspace

      חשוב לוודא שציינתם חשבון Google שיש לכם גישה אליו.

  6. ברשימה Role, בוחרים באפשרות Cloud IAP > IAP-secured Web App User.

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

  8. בדף Identity-Aware Proxy, בקטע Applications, לוחצים על המתג IAP למצב מופעל בשורה שמתאימה למשאב gemini-streamlit-app-backend.

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

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