אם ספק הזהויות (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 לקבוצות. אי אפשר להפעיל שימוש ב-SCIM (
--scim-usage=enabled-for-groupsאו--scim-usage=enabled-for-users-groups) אצל ספק אחר באותו מאגר. כדי להגדיר דייר SCIM חדש באותו מאגר זהויות של כוח עבודה, צריך קודם למחוק את הדייר הקיים. כדי למחוק דייר SCIM, משתמשים באחת מהשיטות הבאות:- מחיקה עם אפשרות שחזור (ברירת מחדל): מחיקה של דייר SCIM מתחילה תקופה של 30 יום של מחיקה עם אפשרות שחזור. במהלך התקופה הזו, הדייר מוסתר ואי אפשר להשתמש בו, ואי אפשר ליצור דייר SCIM חדש באותו מאגר זהויות של כוח העבודה.
- מחיקה סופית: כדי למחוק דייר SCIM באופן מיידי ולתמיד, משתמשים בדגל
--hard-deleteעם פקודת המחיקה. הפעולה הזו היא בלתי הפיכה, והיא מאפשרת ליצור דייר SCIM חדש באותו מאגר זהויות של כוח העבודה מיד אחרי שהמחיקה מסתיימת. לחלופין, אפשר ליצור מאגר זהויות חדש של כוח עבודה ודייר SCIM חדש, או להשתמש במאגר זהויות של כוח עבודה שלא הוגדר בעבר עם דייר SCIM.
- כשמשתמשים ב-SCIM, ממפים מאפיינים גם בספק הזהויות של כוח העבודה וגם בדייר SCIM. המאפיין
google.subjectחייב להתייחס לאותם מזהים באופן ייחודי. מציינים אתgoogle.subjectבספק של מאגר הזהויות של כוח העבודה באמצעות הדגל--attribute-mapping, ובדייר SCIM באמצעות הדגל--claim-mapping. מיפוי של ערכי זהות לא ייחודיים עלול לגרום ל- Google Cloud להתייחס לזהויות שונות ב-IdP כאילו הן אותה זהות. כתוצאה מכך, גישה שניתנת למשתמש אחד או לקבוצה אחת יכולה להתרחב למשתמשים אחרים, אבל ביטול הגישה של משתמש אחד לא יסיר את הגישה מכולם. - כדי להשתמש ב-SCIM למיפוי קבוצות, צריך להגדיר את
--scim-usage=enabled-for-groups(או--scim-usage=enabled-for-users-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 API (
iamscim.googleapis.com) כפוף למכסות קצב שונות ממכסות ה-API הרגילות של משאבי IAM. כברירת מחדל, בקשות כתיבה וקריאה מוגבלות ל-3,000 בקשות לדקה לכל דייר SCIM לכל ארגון. מידע נוסף זמין במאמר מכסות ומגבלות.
מיפוי ספקי OIDC ו-SAML להגדרת SCIM
צריכה להיות עקביות בין מיפוי המאפיינים בהגדרות של ספק מאגר הזהויות של כוח העבודה (--attribute-mapping) לבין מיפויי ההצהרות בדייר SCIM (--claim-mapping). מאפיין ספק הזהויות הבסיסי שמשמש לאכלוס google.subject (למשתמשים) צריך להיות זהה, בין אם הוא נקרא מהצהרת אסימון או ממאפיין 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 |
מאפיינים של הרחבת סכימת משתמשים בארגון
בטבלה הבאה מפורטות אפשרויות התמיכה בהרחבת סכימת המשתמשים של מהדורת Enterprise:
| מאפיין | מאפייני משנה נתמכים |
|---|---|
employeeNumber |
לא רלוונטי |
costCenter |
לא רלוונטי |
organization |
לא רלוונטי |
division |
לא רלוונטי |
department |
לא רלוונטי |
manager |
value, $ref, displayName |