במסמך הזה מוסבר איך להשתמש באיחוד שירותי אימות הזהות של עומסי עבודה עם ספריות אימות, שנקראות ספריות auth, כדי לאמת עומסי עבודה מספקי זהויות של צד שלישי כמו AWS, Microsoft Azure וספקים שתומכים ב-OpenID Connect (OIDC) או ב-SAML 2.0. Google Cloud
איחוד שירותי אימות הזהות של עומסי עבודה מאפשר לאפליקציות שפועלות מחוץ ל- Google CloudGoogle Cloud Google Cloud לגשת למשאבים בלי להשתמש במפתחות של חשבונות שירות. ספריות האימות של Google מאפשרות זאת על ידי המרה של פרטי כניסה חיצוניים באסימוני גישה לטווח קצר Google Cloud .
כדי לבצע אימות, אפשר להשיג פרטי כניסה חיצוניים באמצעות השיטות הבאות:
- מנגנון סטנדרטי להגדרות נפוצות.
- ספקי אישורים בהתאמה אישית לתהליכי עבודה מורכבים שדורשים כתיבת קוד משלכם.
לפני שמתחילים
מפעילים את ממשקי ה-API הנדרשים.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק 'שימוש בשירות'' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידיםמגדירים את איחוד שירותי אימות הזהות של עומסי עבודה בספק הזהויות.
אימות באמצעות מנגנון האישורים הרגיל
בספקי זהויות נפוצים מצד שלישי, אפשר להשתמש ביכולות המובנות של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. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.