אפשר להשתמש ב-Workflows כדי להפעיל נקודת קצה שהופעל עבורה שרת proxy לאימות זהויות (IAP). נקודת הקצה יכולה להיות נקודת קצה מקומית, Compute Engine, Google Kubernetes Engine (GKE) אוGoogle Cloud נקודת קצה אחרת.
IAP מאמת את הזהות ואוכף את ההרשאה ברמת האפליקציה, כך שאתם יכולים להשתמש במודל של בקרת גישה ברמת האפליקציה במקום להסתמך על חומות אש ברמת הרשת. כשמגנים על אפליקציה או משאב באמצעות IAP, רק חשבונות משתמשים עם התפקיד הנכון בניהול הזהויות והרשאות הגישה (IAM) יכולים לגשת אליהם דרך ה-proxy.
מידע נוסף זמין במאמר סקירה כללית על IAP ובמדריכים הבאים:
- הפעלת IAP ב-App Engine
- הפעלת IAP ב-Cloud Run
- הפעלת IAP ל-Compute Engine
- הפעלת IAP ל-GKE
- הפעלת רכישות מתוך האפליקציה באפליקציות מקומיות
שליחת בקשת HTTP
התקשרות לנקודת קצה או הפעלה שלה מתוך Workflows מתבצעת באמצעות בקשת HTTP. לשיטות הנפוצות ביותר של בקשות HTTP יש קיצור דרך לקריאה (למשל, http.get ו-http.post), אבל אפשר ליצור כל סוג של בקשת HTTP על ידי הגדרת השדה call ל-http.request וציון סוג הבקשה באמצעות השדה method. מידע נוסף זמין במאמר בנושא שליחת בקשת HTTP.
שימוש בחשבון שירות עם ההרשאות הנדרשות
כששולחים בקשות לשירותים אחרים של Google Cloud , צריך לשייך את תהליך העבודה לחשבון שירות שקיבל תפקיד אחד או יותר בניהול זהויות וגישה (IAM) שכוללים את ההרשאות הנדרשות לגישה למשאבים המבוקשים. כדי לדעת איזה חשבון שירות משויך לזרימת עבודה קיימת, אפשר לעיין במאמר אימות חשבון השירות שמשויך לזרימת עבודה.
כשמגדירים חשבון שירות, משייכים את הזהות ששולחת את הבקשה למשאב שרוצים לתת לה גישה אליו – הופכים את הזהות ששולחת את הבקשה לגורם ראשי, או למשתמש, של המשאב – ואז מקצים לה את התפקיד המתאים. התפקיד מגדיר אילו הרשאות יש לישות בהקשר של המשאב. כשמיישמים IAP להגנה על אפליקציה או משאב, רק לחשבונות משתמשים עם התפקיד הנכון יש גישה אליהם דרך ה-proxy.
לדוגמה, אחרי האימות, IAP מחיל את מדיניות ההרשאות הרלוונטית כדי לבדוק אם לחשבון המשתמש יש הרשאה לגשת למשאב המבוקש. אם לחשבון המשתמש יש את התפקיד IAP-secured Web App User (roles/iap.httpsResourceAccessor) בפרויקט של המסוף Google Cloud שבו נמצא המשאב, הוא מורשה לגשת לאפליקציה.
אתם יכולים להגדיר גישה למשאב שמאובטח באמצעות IAP דרך הדף IAP על ידי הוספת חשבון השירות של Workflows כחשבון משתמש. מידע נוסף זמין במאמר ניהול הגישה למשאבים שמוגנים באמצעות IAP.
הוספת פרטים לאימות לתהליך העבודה
כברירת מחדל, בקשות HTTP לא מכילות אסימוני זהות או אסימוני גישה מטעמי אבטחה. צריך להוסיף באופן מפורש פרטים לאימות להגדרת תהליך העבודה. כששולחים בקשות לנקודת קצה, משתמשים ב-OIDC כדי לבצע אימות דרך IAP.
כדי לשלוח בקשת HTTP באמצעות OIDC, מוסיפים קטע auth לקטע args בהגדרת תהליך העבודה, אחרי שמציינים את כתובת ה-URL.
YAML
- step_A: call: http.get args: url: https://www.example.com/endpoint body: someValue: "Hello World" anotherValue: 123 auth: type: OIDC audience: OIDC_AUDIENCE
JSON
[ { "step_A": { "call": "http.get", "args": { "url": "https://www.example.com/endpoint", "body": { "someValue": "Hello World", "anotherValue": 123 }, "auth": { "type": "OIDC", "audience": "OIDC_AUDIENCE" } } } } ]
אפשר להשתמש בפרמטר audience כדי לציין את קהל OIDC עבור האסימון.
כשמפעילים נקודת קצה עם IAP, צריך לציין את מזהה הלקוח ב-OAuth 2.0 שהגדרתם לאפליקציה. אפשר למצוא את המזהה בדף Credentials.
המאמרים הבאים
- מתן הרשאה לגישה למשאבים של Google Cloud בתהליך עבודה
- גישה לנתוני תגובת HTTP שנשמרו במשתנה
- הפעלת נקודת קצה פרטית באמצעות מרשם השירותים של Service Directory