אם ספק הזהויות (IdP) שלכם תומך במערכת לניהול זהויות חוצה-דומיינים (SCIM), אתם יכולים להגדיר את ספק הזהויות כך שיקצה וינהל קבוצות ב- Google Cloud.
יכולות
התמיכה ב-SCIM באיחוד שירותי אימות הזהות של כוח העבודה מספקת את היכולות הבאות:
סנכרון זהויות: סנכרון של עותקים לקריאה בלבד של נתוני משתמשים מספק הזהויות שלכם כדי לקבל תצוגה הוליסטית של מאפייני משתמשים וחברות ב- Google Cloud.
השטחת קבוצות: פרוטוקול SCIM מעבד קבוצות מספק הזהויות (IdP) כך שכל החברויות הישירות והעקיפות (מקוננות) של משתמש מושטחות ומסונכרנות עםGoogle Cloud שירות החברות בקבוצות (GMS). לאחר מכן, מערכת IAM משתמשת בקבוצות האלה שפושטו כדי לבדוק את המדיניות, וכך מתגברות על מגבלות הגודל שנפוצות בדרך כלל בטוקנים של ספקי IdP.
שילוב של Gemini Enterprise: דיירים של SCIM תומכים בשיתוף ב-Gemini Enterprise. דייר SCIM מאפשר שתי תכונות שקשורות לשיתוף נוטבוקים ב-Gemini Notebook Enterprise:
השלמה אוטומטית של כתובות אימייל וקבוצות
שימוש בשם הקבוצה במקום במזהה האובייקט שלה (UUID)
מידע נוסף זמין במאמר בנושא שיתוף מחברת עם קבוצה.
לתשומת ליבכם
כשמשתמשים בתמיכה של SCIM באיחוד שירותי אימות הזהות של כוח העבודה, צריך לקחת בחשבון את הנקודות הבאות:
- צריך להגדיר מאגר זהויות של כוח עבודה וספק לפני שמגדירים דייר SCIM.
- כל מאגר זהויות של כוח עבודה תומך רק בדייר SCIM אחד, שמקושר לספק אחד. אי אפשר להפעיל את השימוש ב-SCIM (--scim-usage=enabled-for-groups) אצל פלאגין שמתממשק עם שירותים חיצוניים אחר באותו מאגר.
כדי להגדיר דייר SCIM חדש באותו מאגר זהויות של כוח עבודה, צריך קודם למחוק את הדייר הקיים. כדי למחוק דייר SCIM, משתמשים באחת מהשיטות הבאות:
- מחיקה רכה (ברירת מחדל): מחיקת דייר SCIM מתחילה תקופה של 30 יום של מחיקה רכה. במהלך התקופה הזו, הדייר מוסתר ואי אפשר להשתמש בו, ואי אפשר ליצור דייר SCIM חדש באותו מאגר זהויות של כוח העבודה.
- מחיקה סופית: כדי למחוק דייר SCIM באופן מיידי ולתמיד, משתמשים בדגל
--hard-deleteעם פקודת המחיקה. הפעולה הזו היא בלתי הפיכה, והיא מאפשרת ליצור דייר SCIM חדש באותו מאגר זהויות של כוח העבודה באופן מיידי, בלי לחכות לתקופת השמירה של 30 יום. לחלופין, אפשר ליצור מאגר זהויות חדש של כוח עבודה ודייר SCIM חדש, או להשתמש במאגר זהויות של כוח עבודה שלא הוגדר בעבר עם דייר SCIM.
- כשמשתמשים ב-SCIM, ממפים מאפיינים גם בספק הזהויות של כוח העבודה וגם בדייר SCIM. המאפיין
google.subjectחייב להתייחס לאותם מזהים באופן ייחודי. מציינים אתgoogle.subjectבספק של מאגר הזהויות של כוח העבודה באמצעות הדגל--attribute-mapping, ובדייר SCIM באמצעות הדגל--claim-mapping. מיפוי של ערכי זהות לא ייחודיים עלול לגרום ל- Google Cloud להתייחס לזהויות שונות ב-IdP כאילו הן אותה זהות. כתוצאה מכך, גישה שניתנת למשתמש אחד או לקבוצה אחת יכולה להתרחב למשתמשים אחרים, אבל ביטול הגישה של משתמש אחד לא יסיר את הגישה מכולם. - כדי להשתמש ב-SCIM למיפוי קבוצות, צריך להגדיר את
--scim-usage=enabled-for-groupsבספק של מאגר הזהויות של כוח העבודה שמחובר לדייר SCIM. כשממפים קבוצות באמצעות SCIM, המערכת מתעלמת מכל מיפוי קבוצות שמוגדר אצל הספק ומעדיפה קבוצות שמנוהלות באמצעות SCIM. כשמתייחסים לקבוצות שמנוהלות על ידי SCIM, המאפיין הממופה הואgoogle.groupולאgoogle.groups. האפשרותgoogle.groupsמתייחסת רק לקבוצות שממופות לטוקנים. אם מפעילים את השימוש ב-SCIM אצל ספק שאין לו דייר SCIM מצורף, ניסיונות הכניסה דרך הספק הזה ייכשלו בזמן הריצה כיGoogle Cloud לא יכול למצוא דייר SCIM בנתיב של הספק הזה. - אכיפת ייחודיות: Google Cloud מאמתת ואוכפת ייחודיות במאפיינים שממופים ל-
google.subject(משתמשים) ול-google.group(קבוצות) בדייר SCIM. אם המאפיינים הממופים שסופקו על ידי ספק ה-IdP מובילים לערכים כפולים שלgoogle.subjectאוgoogle.groupבמהלך הסנכרון, הקצאת ההרשאות תיכשל עם שגיאת HTTP409 Conflict. אם מאפיין ממופה מקבל את הערך null או ערך ריק, הקצאת ההרשאות נכשלת עם שגיאת HTTP400 Bad Request. - כשמשתמשים ב-SCIM, עדיין אפשר להשתמש במאפיינים מבוססי-אסימון שממופים באמצעות
--attribute-mappingלאימות ולמזהי ישויות. - כדי להגדיר את Microsoft Entra ID כך ששמות הקבוצות יהיו קריאים ב-Gemini Enterprise, צריך להשתמש ב-SCIM.
- מגבלת אסימוני SCIM: כל דייר SCIM תומך בשני אסימוני SCIM לכל היותר (לדוגמה, כדי לתמוך ברוטציה של אסימונים ללא השבתה). אם כבר יש לכם שני טוקנים ואתם צריכים ליצור טוקן חדש, אתם צריכים למחוק טוקן קיים לפני שאתם יוצרים טוקן חדש.
- ממשק SCIM API (
iamscim.googleapis.com) כפוף למכסות קצב שונות ממכסות ה-API הרגילות של משאבי IAM. כברירת מחדל, בקשות כתיבה וקריאה מוגבלות ל-3,000 בקשות לדקה לכל דייר SCIM לכל ארגון. מידע נוסף זמין במאמר מכסות ומגבלות.
מיפוי ספקי OIDC ו-SAML להגדרת SCIM
צריכה להיות התאמה בין מיפוי המאפיינים בהגדרות של ספק מאגר הזהויות של כוח העבודה (--attribute-mapping) לבין מיפויי ההצהרות בדייר SCIM (--claim-mapping). מאפיין ה-IdP הבסיסי שמשמש לאכלוס google.subject (למשתמשים) צריך להיות זהה, בין אם הוא נקרא מהצהרת אסימון או ממאפיין SCIM.
מכיוון ש---claim-mapping הוא בלתי ניתן לשינוי אחרי שיוצרים את דייר SCIM, אם אתם צריכים לעדכן את מיפויי הטענות (למשל, כדי להוסיף את הטרנספורמציה .lowerAscii()), אתם צריכים למחוק את דייר SCIM באופן סופי וליצור אותו מחדש עם המיפוי החדש.
אם המיפויים האלה לא עקביים, יכול להיות שהמשתמשים יוכלו להיכנס אבל לא יזוהו כחברים בקבוצות שהוקצו להם באמצעות SCIM. לדוגמה, אם הספק משתמש ב-assertion.email בשביל google.subject, דייר SCIM צריך להשתמש גם במאפיין SCIM המקביל (לדוגמה, user.emails[0].value) בשביל google.subject.
בטבלה הבאה מוצגים המיפויים בין מאפייני הצהרה של אסימון לבין מאפייני SCIM:
| מאפיין של Google | מיפוי של ספק מאגר זהויות של כוח עבודה | מיפוי דיירים ב-SCIM |
|---|---|---|
google.subject |
assertion.oid (EntraId) |
user.externalId |
google.subject |
assertion.sub (Okta) |
user.externalId |
google.subject |
assertion.preferred_username |
user.userName |
google.subject |
assertion.preferred_username.lowerAscii() |
user.userName.lowerAscii() |
google.subject |
assertion.email |
user.emails[0].value |
google.subject |
assertion.email.lowerAscii() |
user.emails[0].value.lowerAscii() |
google.group |
לא רלוונטי (מופה באמצעות SCIM) | group.externalId |
נקודות קצה נתמכות ולא נתמכות
יש תמיכה בנקודות הקצה הבאות של פרוטוקול SCIM:
/Users: ניהול משאבי משתמשים. פעולות נתמכות:Create,Get,Update,Delete,Patchו-Put.
/Groups: ניהול משאבי קבוצה. פעולות נתמכות:Create,Get,Update,Deleteו-Patch. השיטהPUTלא נתמכת לקבוצות.
/Schemas: אחזור פרטי הסכימה.
/ServiceProviderConfig: אחזור ההגדרות של ספק השירות.
אין תמיכה בנקודות הקצה הבאות של פרוטוקול SCIM:
/Me/Bulk/Search/ResourceTypes
מגבלות
בקטעים הבאים מתוארות המגבלות והסטיות של הטמעת SCIM באיחוד שירותי אימות הזהויות של כוח העבודה ממפרטי SCIM (RFC 7643 ו-7644).
מגבלות על תכונות של פרוטוקולים
תמיכה במסננים: כשמציגים רשימה של משתמשים או קבוצות באמצעות נקודות הקצה
/Usersאו/Groups, ביטויי המסננים תומכים רק באופרטורeq(שווה ל). אפשר לשלב כמה מסנניeqעםand. אין תמיכה באופרטורים אחרים של מסנני SCIM, כמוco(מכיל) אוsw(מתחיל ב).חלוקה לדפים: ה-IAM SCIM API לא תומך בחלוקה רגילה לדפים כשמציגים רשימה של משתמשים או קבוצות.
startIndex: הפרמטר הזה תמיד1. ה-API מחזיר עד 100 תוצאות, בלי קשר לערך שמזינים בפרמטרstartIndex.
itemsPerPage: המספר המקסימלי של משאבים שמוחזרים בתגובה אחת הוא 100.
totalResults: ה-API לא מחזיר את המספר הכולל של המשאבים התואמים. השדהtotalResultsבתשובה תמיד שווה למספר הפריטים שמוחזרים בתשובה, עד 100 פריטים.
קבלת קבוצה ורשימת קבוצות ללא סינון: ממשקי ה-API
GetGroupו-ListGroupsמחזירים רשימת חברים ריקה. כדי לאחזר את חברי קבוצה ספציפית, משתמשים ב-ListGroupsAPI עם מסנן חברים.תגובת JSON לא תואמת עם אסימונים לא תקינים: ממשקי API שמכילים אסימון API לא תקין יחזירו
401 HTTP errorמ- Google Cloud. התגובה היא לא מבנה JSON כנדרש במפרט.
מגבלות על התנהגות SCIM
מזהים שלא ניתן לשנות: המערכת מתייחסת לערכים של מאפייני SCIM שממופים ל-
google.subjectאו ל-google.groupכמזהים שלא ניתן לשנות בתוך Google Cloud. אם אתם צריכים לשנות את הערכים האלה, אתם צריכים למחוק את המשתמש או הקבוצה מ-IdP באופן סופי ואז ליצור אותם מחדש עם הערך החדש.מזהים ייחודיים ולא ריקים: Google Cloud מבטיח שהערכים שממופים ל-
google.subjectול-google.groupבדייר SCIM יהיו ייחודיים. סינכרון של מאפיינים ממופים שמובילים לערכים כפולים שלgoogle.subjectאוgoogle.groupנכשל עם שגיאת HTTP409 Conflict. מאפיינים ממופים שמוערכים כ-null או כריקים נכשלים עם שגיאת HTTP400 Bad Request.דרישה לכתובת אימייל אחת: כדי שהסנכרון של SCIM יצליח, לכל משתמש צריכה להיות בדיוק כתובת אימייל אחת מהסוג
work. הקצאת הרשאות או עדכונים ייכשלו אם ספק הזהויות ישלח כמה אימיילים או אם האימייל היחיד שסופק לא יהיה מסוגwork.טרנספורמציות לא תלויות-רישיות: יש תמיכה בטרנספורמציות מוגבלות של Common Expression Language (CEL) למיפוי טענות SCIM. רק הערך
.lowerAscii()נתמך בהשוואות לא תלויות-רישיות שלuser.userNameו-user.emails[0].value.
מגבלות על מאפיינים
בקטעים הבאים מתוארת התמיכה במאפיינים של משתמשים, קבוצות והרחבת סכימת המשתמשים בארגון.
מאפייני המשתמשים
בטבלה הבאה מפורטות אפשרויות התמיכה במאפייני משתמשים:
| מאפיין | מאפייני משנה | נתמך | מגבלות |
|---|---|---|---|
userName |
לא רלוונטי | כן | לא רלוונטי |
name |
formatted, familyName, givenName, middleName, honorificPrefix, honorificSuffix |
כן | לא רלוונטי |
displayName |
לא רלוונטי | כן | לא רלוונטי |
nickName |
לא רלוונטי | כן | לא רלוונטי |
profileUrl |
לא רלוונטי | כן | לא רלוונטי |
title |
לא רלוונטי | כן | לא רלוונטי |
userType |
לא רלוונטי | כן | לא רלוונטי |
preferredLanguage |
לא רלוונטי | כן | לא רלוונטי |
locale |
לא רלוונטי | כן | לא רלוונטי |
timezone |
לא רלוונטי | כן | לא רלוונטי |
active |
לא רלוונטי | כן | לא רלוונטי |
password |
לא רלוונטי | לא | לא רלוונטי |
emails |
display, type, value, primary |
כן | יש תמיכה רק בסוג האימייל work. |
phoneNumbers |
display, type, value, primary |
כן | לא רלוונטי |
ims |
display, type, value |
כן | לא רלוונטי |
photos |
display, type, value |
כן | לא רלוונטי |
addresses |
formatted, streetAddress, locality, region, postalCode, country |
כן | לא רלוונטי |
groups |
לא רלוונטי | לא | לא רלוונטי |
entitlements |
display, type, value |
כן | לא רלוונטי |
roles |
type, value |
כן | אין תמיכה ב-display. |
x509Certificates |
type, value |
כן | אין תמיכה ב-display. |
מאפייני הקבוצות
בטבלה הבאה מפורטת התמיכה במאפיינים קבוצתיים:
| מאפיין | מאפייני משנה נתמכים |
|---|---|
displayName |
לא רלוונטי |
externalId |
לא רלוונטי |
members |
value, type, $ref, display |
מאפיינים של הרחבות לסכימת משתמשים בארגון
בטבלה הבאה מפורטות תמיכה בהרחבת סכימת המשתמשים בארגון:
| מאפיין | מאפייני משנה נתמכים |
|---|---|
employeeNumber |
לא רלוונטי |
costCenter |
לא רלוונטי |
organization |
לא רלוונטי |
division |
לא רלוונטי |
department |
לא רלוונטי |
manager |
value, $ref, displayName |
המאמרים הבאים
- הגדרת תמיכה ב-SCIM לאיחוד שירותי אימות הזהות של כוח העבודה
- פתרון בעיות בהקצאת הרשאות באמצעות SCIM
- רישום ביומן הביקורת של IAM SCIM