REST Resource: customers.v2.Schemas

משאב: סכימה

מתוך RFC 7643 Section 7. מציין את המטא-נתונים לגבי סכימה.

ייצוג JSON
{
  "attributes": [
    {
      object (Attribute)
    }
  ],
  "id": string,
  "name": string,
  "description": string
}
שדות
attributes[]

object (Attribute)

חובה. רשימת המאפיינים של הסכימה.

id

string

חובה. ה-URI הייחודי של הסכימה. במקרים הרלוונטיים, ספקי השירותים צריכים לציין את ה-URI, לדוגמה, urn:ietf:params:scim:schemas:core:2.0:User. בניגוד לרוב הסכימות האחרות, שמשתמשות במזהה ייחודי גלובלי (GUID) כלשהו בשביל id, הסכימה id היא URI, כך שאפשר לרשום אותה והיא ניתנת להעברה בין ספקי שירותים ולקוחות שונים.

name

string

זה שינוי אופציונלי. השם של הסכימה שקריא לבני אדם. במקרים הרלוונטיים, ספקי שירותים צריכים לציין את השם, לדוגמה, User או Group.

description

string

זה שינוי אופציונלי. תיאור הסכימה שקריא לאנשים. במקרים הרלוונטיים, ספקי השירותים צריכים לציין את התיאור.

מאפיין

מתוך RFC 7643 Section 7. המאפיין הזה מגדיר את המאפיינים של מאפיין.

ייצוג JSON
{
  "subAttributes": [
    {
      object (Attribute)
    }
  ],
  "canonicalValues": [
    string
  ],
  "referenceTypes": [
    string
  ],
  "name": string,
  "type": string,
  "multiValued": boolean,
  "description": string,
  "required": boolean,
  "caseExact": boolean,
  "mutability": string,
  "returned": string,
  "uniqueness": string
}
שדות
subAttributes[]

object (Attribute)

כשמאפיין הוא מסוג complex, subAttributes מגדיר קבוצה של מאפייני משנה. לרכיב subAttributes יש את אותם מאפייני משנה של סכימה כמו לרכיב attributes.

canonicalValues[]

string

זה שינוי אופציונלי. אוסף של ערכים קנוניים מוצעים שאפשר להשתמש בהם (לדוגמה, work ו-home). במקרים מסוימים, ספקי שירותים עשויים לבחור להתעלם מערכים לא נתמכים.

referenceTypes[]

string

מערך מרובה ערכים של מחרוזות JSON שמציין את סוגי משאבי ה-SCIM שאפשר להפנות אליהם. הערכים התקינים הם:

  • סוג משאב SCIM (לדוגמה, User או Group),
  • external – מציין שהמשאב הוא משאב חיצוני (למשל, תמונה), או
  • uri – מציין שההפניה היא לנקודת קצה של שירות או למזהה (לדוגמה, URN של סכימה).

המאפיין הזה רלוונטי רק למאפיינים מסוג reference (סעיף 2.3.7).

name

string

שם המאפיין.

type

string

סוג הנתונים של המאפיין. הערכים התקפים הם string,‏ boolean,‏ decimal,‏ integer,‏ dateTime,‏ reference ו-complex. כשמאפיין הוא מסוג complex, צריך להיות מוגדר מאפיין סכמה תואם subAttributes שמפרט את מאפייני המשנה של המאפיין.

multiValued

boolean

מציין את צורת הרבים של המאפיין.

description

string

תיאור התכונה שקריא לאנשים. במקרים הרלוונטיים, ספקי השירותים צריכים לציין את התיאור.

required

boolean

מציין אם המאפיין הוא מאפיין חובה.

caseExact

boolean

מציין אם מאפיין מחרוזת הוא תלוי אותיות רישיות (case-sensitive) או לא. השרת משתמש בתלות באותיות רישיות כשמעריך מסננים. במאפיינים שבהם האותיות חייבות להיות זהות, השרת שומר על האותיות הקטנות והגדולות של כל ערך שנשלח. אם המאפיין לא תלוי באותיות רישיות או קטנות, יכול להיות שהשרת ישנה את האותיות הרישיות או הקטנות של הערך שנשלח. ההבחנה בין אותיות רישיות לאותיות קטנות משפיעה גם על האופן שבו ערכי מאפיינים מושווים לערכי מסננים (ראו RFC 7644 סעיף 3.4.2.2).

בהתאם ל-RFC 7643 סעיף 2.3.6 ול-RFC 7643 סעיף 2.3.7, הסוגים binary ו-reference הם caseExact.

mutability

string

מילת מפתח יחידה שמציינת את הנסיבות שבהן אפשר להגדיר (מחדש) את ערך המאפיין:

  • readOnly: אי אפשר לשנות את המאפיין.
  • readWrite: ברירת מחדל. אפשר לעדכן את המאפיין ולקרוא אותו בכל שלב.
  • immutable: אפשר להגדיר את המאפיין כשיוצרים משאב (לדוגמה, POST) או כשמחליפים רשומה באמצעות בקשה (לדוגמה, PUT). אי אפשר לשנות את המאפיין אחרי שמגדירים אותו.
  • writeOnly: אפשר לעדכן את המאפיין בכל שלב. ערכי המאפיינים לא מוחזרים (לדוגמה, כי הערך הוא גיבוב מאוחסן). הערה: מאפיין עם ערך של writeOnly ב-mutability בדרך כלל מחזיר גם ערך של never בהגדרה.
returned

string

מילת מפתח יחידה שמציינת מתי מאפיין וערכים משויכים מוחזרים בתגובה לבקשת GET או בתגובה לבקשת PUT,‏ POST או PATCH. מילות המפתח התקפות הן:

  • always: המאפיין תמיד מוחזר, ללא קשר לתוכן של הפרמטר attributes. לדוגמה, המזהה id תמיד מוחזר כדי לזהות משאב SCIM.
  • never: המאפיין אף פעם לא מוחזר. יכול להיות שהבעיה הזו מתרחשת כי ספק השירות לא שומר את הערך המקורי של המאפיין (לדוגמה, ערך שעבר גיבוב). ספק שירותים יכול לאפשר שימוש במאפיינים במסנן חיפוש.
  • default: ברירת מחדל. המאפיין מוחזר כברירת מחדל בכל התגובות של פעולות SCIM שבהן מוחזרים ערכי מאפיינים. אם מציינים את הפרמטר attributes של בקשת GET, ערכי המאפיינים מוחזרים רק אם המאפיין נקרא בפרמטר attributes.
  • request: המאפיין מוחזר בתגובה לכל פעולת PUT,‏ POST או PATCH אם הלקוח ציין את המאפיין (לדוגמה, אם המאפיין שונה). המאפיין מוחזר בפעולת שאילתה של SCIM רק אם הוא צוין בפרמטר attributes.
uniqueness

string

ערך מילת מפתח יחיד שמציין איך ספק השירות אוכף את הייחודיות של ערכי המאפיינים. שרת עשוי לדחות ערך לא תקין על סמך ייחודיות, על ידי החזרת קוד תגובת HTTP‏ 400 Bad Request. לקוח יכול לאכוף ייחודיות בצד הלקוח במידה רבה יותר מספק השירות. לדוגמה, לקוח יכול ליצור ערך ייחודי, בעוד שהשרת יוצר ייחודיות של none. מילות המפתח התקפות הן:

  • none: ברירת מחדל. הערכים לא אמורים להיות ייחודיים בשום צורה.
  • server: הערך צריך להיות ייחודי בהקשר של נקודת הקצה הנוכחית של SCIM (או הדיירות), ויכול להיות שהוא ייחודי באופן גלובלי (לדוגמה, שם משתמש, כתובת אימייל או מפתח או מונה אחר שנוצרו על ידי השרת). אסור שלשני משאבים באותו שרת יהיה אותו ערך.
  • global: הערך צריך להיות ייחודי באופן גלובלי (לדוגמה, כתובת אימייל, GUID או ערך אחר). לשני משאבים באותו שרת לא יכול להיות אותו ערך.

כפי שמצוין בסעיף 2.3 של RFC 7643, לסוגי הנתונים Boolean,‏ DateTime,‏ Binary ו-Complex אין ייחודיות.

Methods

get

מאחזר סכימה.

list

מאחזר את כל הסכימות.