במדריך הזה מוסבר איך לאחזר טענות סטנדרטיות של OpenID Connect (OIDC), טענות מותאמות אישית של ספרייה וחברות בקבוצות של משתמשי כוח עבודה מאומתים באמצעות נקודת הקצה /userinfo ב-Cloud OAuth API (cloudoauth.googleapis.com).
לפני שמתחילים
- הגדרת ספק ומאגר זהויות של כוח עבודה. מידע נוסף זמין במאמר הגדרת איחוד שירותי אימות הזהות של כוח עבודה.
- רושמים לקוח OAuth ומחליפים קוד הרשאה באסימון גישה. מידע נוסף זמין במאמר בנושא החלפת אסימונים באמצעות Cloud OAuth API.
- מוודאים שאסימון הגישה כולל את ההיקף
openid. -
מפעילים את Cloud OAuth API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים
נקודת קצה בהיקף הארגון
ממשק ה-API של Cloud OAuth מספק את נקודת הקצה (single-tenant) בהיקף הארגון, שבה אפשר להשתמש כשהגישה לאפליקציית הלקוח ולמשאבים מוגבלת לGoogle Cloud ארגון ספציפי:
השיטה organizations.userinfo של Cloud OAuth API מאחזרת טענות תקניות של OpenID Connect (OIDC), טענות בהתאמה אישית וחברות בקבוצות של המשתמש המאומת בארגון ספציפי.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
TOKEN: אסימון הגישה מסוג OAuth 2.0 לזמן קצר שהתקבל מנקודת הקצה להחלפת טוקנים. -
ORGANIZATION_ID: מזהה הארגון (מספרי) ב- Google Cloud .
ה-method של ה-HTTP וכתובת ה-URL:
GET https://cloudoauth.googleapis.com/v1/organizations/ORGANIZATION_ID/userinfo
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
במאגרי זהויות כוח עבודה שבהם לא מופעלת הקצאת הרשאות SCIM, נקודת הקצה מחזירה מאפייני פרופיל, הצהרות מותאמות אישית וחברות בקבוצות בשורה:
{
"sub": "principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/user@example.com",
"email": "user@example.com",
"custom_claim1": "engineering",
"custom_claim2": "us-west",
"groups": [
"looker-developers",
"analytics-viewers"
]
}
טענות משתמשים וקבוצות מבוזרות של SCIM
אם הבקשה מצליחה, נקודת הקצה /userinfo מחזירה סטטוס HTTP 200 OK ואובייקט JSON שמכיל טענות לגבי המשתמש המאומת.
הפורמט של ההצהרות תלוי בשאלה אם הספק של מאגר הזהויות של כוח העבודה משתמש בהקצאת הרשאות SCIM:
טענות מוטבעות (מאגרי זהויות שאינם SCIM)
במאגרי זהויות של כוח עבודה שלא מופעל בהם הקצאת הרשאות SCIM, נקודת הקצה מחזירה את מאפייני הפרופיל, טענות מותאמות אישית וחברות בקבוצות בשורה:
{
"sub": "principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/user@example.com",
"email": "user@example.com",
"custom_claim1": "engineering",
"custom_claim2": "us-west",
"groups": [
"looker-developers",
"analytics-viewers"
]
}
תלונות שמופצות (מאגרי זהויות עם תמיכה ב-SCIM)
במאגרי זהויות של כוח עבודה שמופעל בהם הקצאת הרשאות SCIM, חברות בקבוצות מוחזרת כהצהרות מפוזרות. התשובה כוללת את הערכים _claim_names ו-_claim_sources שמפנים לנקודת הקצה /groups:
{
"sub": "principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/user@example.com",
"name": "Jane Doe",
"email": "user@example.com",
"_claim_names": {
"groups": "src1"
},
"_claim_sources": {
"src1": {
"endpoint": "https://cloudoauth.googleapis.com/v1/common/groups"
}
}
}
שדות של תלונה
התשובה מכילה את השדות הבאים של טענות רגילות ומבוזרות:
| שדה | סוג | תיאור |
|---|---|---|
sub |
string |
המזהה הייחודי של חשבון המשתמש של המשתמש שאומת במאגר הזהויות של כוח העבודה. |
name |
string |
השם המלא של המשתמש, אם הוא זמין מספק הזהויות. |
email |
string |
כתובת האימייל של המשתמש המאומת. |
groups |
array of strings |
(רק במקרים שבהם לא נעשה שימוש ב-SCIM) רשימת החברויות של המשתמש בקבוצות ארגוניות. |
_claim_names |
object |
(רק אם מופעל SCIM) אובייקט JSON שממפה שמות של טענות מבוזרות (כמו groups) למזהי מקור ב-_claim_sources. |
_claim_sources |
object |
(רק אם SCIM מופעל) אובייקט JSON שמגדיר את נקודת הקצה של המקור לכל מזהה תביעה מבוזר. |
מידע על תגובות שגיאה שמוחזרות מנקודת הקצה /userinfo מופיע במאמר שגיאות במידע על משתמשים ובקבוצות ב-Cloud OAuth.
המאמרים הבאים
- אחזור קבוצות ארגוניות באמצעות Cloud OAuth API
- החלפת אסימונים באמצעות Cloud OAuth API
- סקירה כללית על Cloud OAuth API
- ניהול אפליקציות OAuth לאיחוד שירותי אימות הזהות של כוח עבודה
- הפניית Cloud OAuth REST API