במסמך הזה מוסבר איך להשתמש באיחוד שירותי אימות הזהות של עומסי עבודה עם ספריות אימות, שנקראות ספריות auth, כדי לאמת עומסי עבודה מספקי זהויות של צד שלישי כמו AWS, Microsoft Azure וספקים שתומכים ב-OpenID Connect (OIDC) או ב-SAML 2.0. Google Cloud
איחוד שירותי אימות הזהות של עומסי עבודה מאפשר לאפליקציות שפועלות מחוץ ל- Google CloudGoogle Cloud לגשת למשאבים בלי להשתמש במפתחות של חשבונות שירות. ספריות האימות של Google מאפשרות זאת על ידי המרה של פרטי כניסה חיצוניים באסימוני גישה Google Cloud לטווח קצר.
כדי לבצע אימות, אפשר להשיג פרטי כניסה חיצוניים באמצעות השיטות הבאות:
- מנגנון סטנדרטי להגדרות נפוצות.
- ספקי אישורים בהתאמה אישית לתהליכי עבודה מורכבים שדורשים כתיבת קוד משלכם.
לפני שמתחילים
Enable the required APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.מגדירים את איחוד שירותי אימות הזהות של עומסי עבודה באמצעות ספק הזהויות.
אימות באמצעות מנגנון האישורים הרגיל
בספקי זהויות נפוצים מצד שלישי שנתמכים בדרך כלל, אפשר להשתמש ביכולות המובנות שלGoogle Cloud ספריית האימות כדי לאמת את עומסי העבודה על ידי יצירת קובץ תצורה של פרטי כניסה. הקובץ הזה מספק את המידע הדרוש לספריות האימות כדי לאחד זהויות מספקים חיצוניים.
קובץ התצורה של פרטי הכניסה, שבדרך כלל נטען באמצעות משתנה הסביבה GOOGLE_APPLICATION_CREDENTIALS, יכול להנחות את ספריות האימות לקבל את טוקן הנושא של הצד השלישי באחת מהשיטות הבאות:
- מקור הקובץ: הספרייה קוראת את אסימון הנושא מקובץ מקומי. תהליך נפרד צריך לוודא שהקובץ הזה מכיל טוקן תקין שלא פג תוקפו.
- מכתובת URL: הספרייה מאחזרת את אסימון הנושא על ידי שליחת בקשה לנקודת קצה (endpoint) של כתובת URL מקומית שצוינה.
- מקור קובץ הפעלה: הספריות מריצות פקודת קובץ הפעלה מוגדרת. הפלט הרגיל של קובץ ההפעלה אמור להכיל את אסימון הנושא.
יוצרים את קובץ התצורה של פרטי הכניסה לספק הספציפי שלכם:
משתמשים בקובץ התצורה של פרטי הכניסה כדי לבצע אימות.
כדי לאפשר לספריות הלקוח Google Cloud לאתר ולהשתמש באופן אוטומטי בקובץ התצורה של פרטי הכניסה, צריך להגדיר את משתנה הסביבה
GOOGLE_APPLICATION_CREDENTIALSלנתיב של קובץ ה-JSON שנוצר.מייצאים את משתנה הסביבה במעטפת:
bash export GOOGLE_APPLICATION_CREDENTIALS=/path/to/your/config.jsonאחרי שמגדירים את משתנה הסביבה, ספריות הלקוח מטפלות בתהליך האימות.
בדוגמת הקוד הבאה אפשר לראות איך מבצעים קריאה מאומתת ל- Google Cloud API:
Node.js
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Node.js API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Python API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Java API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Go
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Go API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
אימות באמצעות ספקים מותאמים אישית של פרטי כניסה
אם הסביבה שלכם לא תומכת ביכולות המובנות של ספריית האימות של Google, או אם אתם רוצים להטמיע לוגיקה מותאמת אישית כדי לספק פרטי כניסה לספריית האימות של Google, אתם יכולים להשתמש בספקים מותאמים אישית של פרטי כניסה כדי לאמת את עומסי העבודה.
גישה למשאבים מ-AWS
כשמאתחלים את לקוח האימות, צריך לספק הטמעה מותאמת אישית של ספק פרטי כניסה. מופע הלקוח מסתמך על הספק כדי לאחזר פרטי כניסה לאבטחה ב-AWS, ולהמיר אותם לאסימון גישה של Google Cloud . הספק צריך להחזיר פרטי כניסה תקינים ותקפים כשהלקוח מתקשר אליו.
לקוח האימות לא שומר במטמון את פרטי הכניסה לאבטחה או את האזור ב-AWS שמוחזרים, ולכן צריך להטמיע שמירה במטמון אצל הספק כדי למנוע בקשות מיותרות לאותם משאבים.
בדוגמאות הקוד הבאות אפשר לראות איך מגדירים גישה למשאבים של AWS באמצעות ספק אישורים בהתאמה אישית. Google Cloud
Node.js
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Node.js API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Python API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Java API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
גישה למשאבים מ-OIDC ומ-SAML
כשמאתחלים את לקוח האימות, צריך לספק ספק אסימונים מותאם אישית כדי לספק אסימון נושא שמוחלף באסימון גישה מסוג Google Cloud . הספק צריך להחזיר אסימון נושא תקף שלא פג תוקפו כשהלקוח קורא לו.
לקוח האימות לא שומר במטמון את הטוקן שמוחזר, ולכן צריך להטמיע שמירה במטמון אצל הספק כדי למנוע בקשות מיותרות לאותו טוקן נושא.
בדוגמאות הקוד הבאות אפשר לראות איך מגדירים גישה למשאבים מתוך ספקים שתומכים ב-OpenID Connect (OIDC) או ב-SAML 2.0 באמצעות ספק אישורים בהתאמה אישית. Google Cloud
Node.js
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Node.js API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Python API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
במאמר ספריות הלקוח של IAM מוסבר איך להתקין את ספריית הלקוח ולהשתמש בה ב-IAM. למידע נוסף, קראו את מאמרי העזרה של IAM Java API.
כדי לבצע אימות ב-IAM, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.