ניהול הגישה למשאבים שמוגנים על ידי IAP

בדף הזה מוסבר איך לנהל גישה של משתמשים או קבוצות למשאבים שמאובטחים באמצעות שרת proxy לאימות זהויות (IAP) ברמת המשאב.

סקירה כללית

אפשר להשתמש ב-IAP כדי להגדיר מדיניות IAP למשאבים בודדים ולמשאבי Cloud Run בפרויקט Google Cloud . לכל אפליקציה בפרויקט יכולה להיות מדיניות גישה שונה. זה כולל פרויקטים עם אפליקציות של Compute Engine,‏ Google Kubernetes Engine ו-App Engine. באפליקציות של App Engine, אפשר להחיל מדיניות גישה שונה על גרסאות ושירותים נפרדים.

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

לפני שמתחילים

לפני שמתחילים, צריך:

  • משאב שמאובטח באמצעות IAP שאליו רוצים להוסיף גישה למשתמשים או לקבוצות.
  • שמות של משתמשים או קבוצות שרוצים להוסיף להם גישה.

הפעלה והשבתה של רכישות מתוך האפליקציה

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

סוג אפליקציה נדרשת הרשאה
App Engine appengine.applications.update
‫Compute Engine,‏ Google Kubernetes Engine או Cloud Run compute.backendServices.update

ההרשאות האלה ניתנות על ידי תפקידים כמו 'עריכת פרויקט', 'אדמין של App Engine' ו'אדמין רשת של Compute'. התפקידים האלה מאפשרים להפעיל ולהשבית את הרכישות מתוך האפליקציה, אבל אין להם את ההרשאות שנדרשות לשינוי מדיניות הגישה.

בנוסף, יכול להיות שיהיה צורך בהרשאות clientauthconfig.clients.create,‏ clientauthconfig.clients.update ו-clientauthconfig.clients.getWithSecret כדי להפעיל רכישות מתוך האפליקציה באמצעות Google Cloud המסוף. ההרשאות האלה ניתנות על ידי התפקיד Project Editor (עריכת פרויקט).

מידע נוסף על מתן תפקידים זמין במאמר הענקה, שינוי וביטול של הרשאות גישה.

ניהול הגישה במסוף Google Cloud

כדי לשלוט בגישה למשאב שמוגן על ידי IAP באמצעות מסוףGoogle Cloud , צריך לפעול לפי התהליך להוספה או להסרה של גישה.

הוספת גישה

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

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

    • כל שירותי האינטרנט: כל המשאבים בפרויקט יהיו מאובטחים. חשוב לשים לב שההרשאה הזו שונה מהרשאת גישה ברמת הפרויקט שניתנת באמצעות דף האדמין של IAM. למשתמש שהוקצה לו התפקיד אדמין של מדיניות IAP ברמת המשאב All Web Services (כל שירותי האינטרנט) יהיו הרשאות רק למדיניות IAP.

    • שירותים לקצה העורפי: כל השירותים לקצה העורפי יהיו מאובטחים.

  3. בחלונית המידע בצד שמאל, מוסיפים את כתובות האימייל של קבוצות או של אנשים שרוצים להעניק להם תפקיד ב-Identity and Access Management‏ (IAM) עבור המשאב.

  4. כדי להחיל תפקידים של מדיניות גישה על החשבון הראשי, בוחרים תפקיד מהתפריט הנפתח Select a role:

    • בעלים: מקבל את אותה גישה כמו אדמין מדיניות IAP. במקומה, צריך להשתמש בתפקיד IAP Policy Admin. התפקיד הזה מאפשר רק לשנות מדיניות, ולא מעניק גישה לאפליקציה.

    • אדמין של מדיניות IAP: מקבל הרשאות אדמין על מדיניות IAP.

    • משתמש של אפליקציית אינטרנט באבטחת IAP: מעניקה גישה לאפליקציה ולמשאבי HTTPS אחרים שמשתמשים ב-IAP.

    • בודק אבטחה: הרשאה לצפייה במדיניות IAP ולביצוע ביקורת עליה.

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

הסרת הגישה

  1. עוברים אל הדף של שרת Proxy לאימות זהויות (IAP).
    כניסה לדף 'שרת proxy לאימות זהויות (IAP)'
  2. בוחרים את המשאב שמאובטח באמצעות IAP.
  3. בחלונית המידע בצד שמאל, בוחרים את הקטע שמתאים לתפקיד שרוצים להסיר מהמשתמש.
  4. בקטע המורחב, לצד השם של כל משתמש או קבוצה שרוצים להסיר מהם את התפקיד, לוחצים על הסרה.
  5. בתיבת הדו-שיח Remove principal שמופיעה, לוחצים על Remove.

ניהול הגישה באמצעות ה-API

ב-IAM יש קבוצה סטנדרטית של methods ליצירה ולניהול של כללי מדיניות לבקרת גישה ב משאבים Google Cloud .

משאבים והרשאות

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

משתמשים צריכים הרשאות מסוימות כדי לגשת לאפליקציה שמוגנת על ידי רכישות מתוך האפליקציה. כדי להעניק את ההרשאות האלה, אדמינים יכולים להשתמש ב-API כדי לעדכן את כללי המדיניות ב-IAM. ההרשאה iap.webServiceVersions.accessViaIAP מעניקה למשתמש גישה לאפליקציה. אם אתם משתמשים ב-IAP כדי לשלוט בגישה לשירותי אדמין כמו SSH ו-RDP, המשתמשים יצטרכו את ההרשאה iap.tunnelInstances.accessViaIAP.

לכל משאב IAP יש הרשאה משלו getIamPolicy ו-setIamPolicy שמאפשרת לנהל את מדיניות הגישה למשאב הזה ולצאצאים שלו.

כדי להפעיל את IAM API, צריך ליצור קריאה עם נתיב כתובת ה-URL למשאב. הדוגמה הבאה היא של קריאה שמקבלת את מדיניות IAM של גרסת שירות של אפליקציית App Engine.

https://iap.googleapis.com/v1/projects/PROJECT_NUMBER/iap_web/
appengine-APP_ID/services/SERVICE_ID/versions/VERSION_ID:getIamPolicy

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

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

Path
https://iap.googleapis.com/v1/projects/PROJECT_NUMBER/iap_web
iap.web.getIamPolicy

iap.web.setIamPolicy
כל שירות לקצה העורפי בפרויקט
זהה לתיבת הסימון שירות לקצה העורפי בדף האדמין של IAP. ‫

נתיבים
היקף גלובלי:
https://iap.googleapis.com/v1/projects/
PROJECT_NUMBER/iap_web/compute

היקף אזורי:
https://iap.googleapis.com/v1/projects/
PROJECT_NUMBER/iap_web/compute-REGION_NAME
iap.webTypes.getIamPolicy

iap.webTypes.setIamPolicy
כל כלל העברה בפרויקט
הרשאות לכל כללי ההעברה בפרויקט. ‫

נתיבים
היקף גלובלי:
https://iap.googleapis.com/v1/projects/
PROJECT_NUMBER/iap_web/forwarding_rule

היקף אזורי:
https://iap.googleapis.com/v1/projects/
PROJECT_NUMBER/iap_web/forwarding_rule-REGION_NAME
iap.webTypes.getIamPolicy

iap.webTypes.setIamPolicy
אזור לכל שירות Cloud Run בפרויקט
הרשאות לכל שירותי Cloud Run באזור בפרויקט.

Path
https://iap.googleapis.com/v1/projects/
PROJECT_NUMBER/iap_web/cloud_run-REGION_NAME
iap.webTypes.getIamPolicy

iap.webTypes.setIamPolicy
שירות Cloud Run
הרשאות לשירות Cloud Run. כל השירותים של Cloud Run הם אזוריים.

Path
https://iap.googleapis.com/v1/projects/
PROJECT_NUMBER/iap_web/cloud_run-REGION_NAME/services/SERVICE_NAME
iap.webServices.getIamPolicy

iap.webServices.setIamPolicy
אפליקציית App Engine
זהה לתיבת הסימון אפליקציית App Engine בדף האדמין של IAP.

Path
https://iap.googleapis.com/v1/projects/
PROJECT_NUMBER/iap_web/appengine-APP_ID
iap.webTypes.getIamPolicy

iap.webTypes.setIamPolicy
שירות לקצה העורפי של Compute Engine
בנתיב של השירות לקצה העורפי אפשר לציין את המזהה של השירות לקצה העורפי או את השם של השירות לקצה העורפי.

נתיבים
היקף גלובלי:
https://iap.googleapis.com/v1/projects/
PROJECT_NUMBER/iap_web/compute/services/
BACKEND_SERVICE_ID or BACKEND_SERVICE_NAME

היקף אזורי:
https://iap.googleapis.com/v1/projects/
PROJECT_NUMBER/iap_web/compute-REGION_NAME/
services/BACKEND_SERVICE_ID or BACKEND_SERVICE_NAME
iap.webServices.getIamPolicy

iap.webServices.setIamPolicy
כלל העברה ב-Compute Engine
הרשאות לכלל העברה. בנתיב של כלל ההעברה אפשר לציין את המזהה או את השם של כלל ההעברה.

נתיבים
היקף גלובלי:
https://iap.googleapis.com/v1/projects/
PROJECT_NUMBER/iap_web/forwarding_rule/services/