בדף הזה מוסבר איך לנהל גישה של משתמשים או קבוצות למשאבים שמאובטחים באמצעות שרת 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 , צריך לפעול לפי התהליך להוספה או להסרה של גישה.
הוספת גישה
עוברים אל הדף של שרת Proxy לאימות זהויות (IAP).
כניסה לדף 'שרת proxy לאימות זהויות (IAP)'בוחרים את המשאב שרוצים לאבטח באמצעות IAP. הבחירות הבאות של משאבים מאבטחות קבוצה מוגדרת של משאבים:
כל שירותי האינטרנט: כל המשאבים בפרויקט יהיו מאובטחים. חשוב לשים לב שההרשאה הזו שונה מהרשאת גישה ברמת הפרויקט שניתנת באמצעות דף האדמין של IAM. למשתמש שהוקצה לו התפקיד אדמין של מדיניות IAP ברמת המשאב All Web Services (כל שירותי האינטרנט) יהיו הרשאות רק למדיניות IAP.
שירותים לקצה העורפי: כל השירותים לקצה העורפי יהיו מאובטחים.
בחלונית המידע בצד שמאל, מוסיפים את כתובות האימייל של קבוצות או של אנשים שרוצים להעניק להם תפקיד ב-Identity and Access Management (IAM) עבור המשאב.
כדי להחיל תפקידים של מדיניות גישה על החשבון הראשי, בוחרים תפקיד מהתפריט הנפתח Select a role:
בעלים: מקבל את אותה גישה כמו אדמין מדיניות IAP. במקומה, צריך להשתמש בתפקיד IAP Policy Admin. התפקיד הזה מאפשר רק לשנות מדיניות, ולא מעניק גישה לאפליקציה.
אדמין של מדיניות IAP: מקבל הרשאות אדמין על מדיניות IAP.
משתמש של אפליקציית אינטרנט באבטחת IAP: מעניקה גישה לאפליקציה ולמשאבי HTTPS אחרים שמשתמשים ב-IAP.
בודק אבטחה: הרשאה לצפייה במדיניות IAP ולביצוע ביקורת עליה.
כשמסיימים להוסיף כתובות אימייל ולהגדיר תפקידים, לוחצים על הוספה.
הסרת הגישה
- עוברים אל הדף של שרת Proxy לאימות זהויות (IAP).
כניסה לדף 'שרת proxy לאימות זהויות (IAP)' - בוחרים את המשאב שמאובטח באמצעות IAP.
- בחלונית המידע בצד שמאל, בוחרים את הקטע שמתאים לתפקיד שרוצים להסיר מהמשתמש.
- בקטע המורחב, לצד השם של כל משתמש או קבוצה שרוצים להסיר מהם את התפקיד, לוחצים על הסרה.
- בתיבת הדו-שיח 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.getIamPolicyiap.web.setIamPolicy |
| כל שירות לקצה העורפי בפרויקט זהה לתיבת הסימון שירות לקצה העורפי בדף האדמין של IAP. נתיבים היקף גלובלי: https://iap.googleapis.com/v1/projects/ היקף אזורי: https://iap.googleapis.com/v1/projects/ |
iap.webTypes.getIamPolicyiap.webTypes.setIamPolicy |
| כל כלל העברה בפרויקט הרשאות לכל כללי ההעברה בפרויקט. נתיבים היקף גלובלי: https://iap.googleapis.com/v1/projects/ היקף אזורי: https://iap.googleapis.com/v1/projects/ |
iap.webTypes.getIamPolicyiap.webTypes.setIamPolicy |
| אזור לכל שירות Cloud Run בפרויקט הרשאות לכל שירותי Cloud Run באזור בפרויקט. Path https://iap.googleapis.com/v1/projects/ |
iap.webTypes.getIamPolicyiap.webTypes.setIamPolicy |
| שירות Cloud Run הרשאות לשירות Cloud Run. כל השירותים של Cloud Run הם אזוריים. Path https://iap.googleapis.com/v1/projects/ |
iap.webServices.getIamPolicyiap.webServices.setIamPolicy |
| אפליקציית App Engine זהה לתיבת הסימון אפליקציית App Engine בדף האדמין של IAP. Path https://iap.googleapis.com/v1/projects/ |
iap.webTypes.getIamPolicyiap.webTypes.setIamPolicy |
| שירות לקצה העורפי של Compute Engine בנתיב של השירות לקצה העורפי אפשר לציין את המזהה של השירות לקצה העורפי או את השם של השירות לקצה העורפי. נתיבים היקף גלובלי: https://iap.googleapis.com/v1/projects/ היקף אזורי: https://iap.googleapis.com/v1/projects/ |
iap.webServices.getIamPolicyiap.webServices.setIamPolicy |
| כלל העברה ב-Compute Engine הרשאות לכלל העברה. בנתיב של כלל ההעברה אפשר לציין את המזהה או את השם של כלל ההעברה. נתיבים היקף גלובלי: https://iap.googleapis.com/v1/projects/ |