REST Resource: customers.v2.Schemas

資源:結構定義

摘錄自 RFC 7643 第 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。與大多數其他使用某種全域不重複 ID (GUID) 的結構定義不同,結構定義 id 是 URI,因此可以註冊,並在不同服務供應商和用戶端之間移植。id

name

string

選用。結構定義的使用者可判讀名稱。如適用,服務供應商必須指定名稱,例如「User」或「Group」。

description

string

選用。架構的人類可讀說明。如適用,服務供應商必須指定說明。

屬性

摘錄自 RFC 7643 第 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 - 表示參照的是服務端點或 ID (例如結構定義 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

指定字串屬性是否區分大小寫。伺服器評估篩選器時會區分大小寫。如果是大小寫完全相符的屬性,伺服器會保留提交的任何值的大小寫。如果屬性不區分大小寫,伺服器可能會變更提交值的大小寫。大小寫區分也會影響屬性值與篩選器值的比較方式 (請參閱 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,通常也會傳回 never 設定。
returned

string

單一關鍵字,指出何時在 GET 要求的回應中,或在 PUT、POST 或 PATCH 要求的回應中,傳回屬性和相關聯的值。有效關鍵字如下:

  • always:無論 attributes 參數的內容為何,系統一律會傳回這項屬性。舉例來說,系統一律會傳回 id,以識別 SCIM 資源。
  • never:系統一律不會傳回這項屬性。這可能是因為服務供應商未保留原始屬性值 (例如雜湊值)。服務供應商可以允許在搜尋篩選器中使用屬性。
  • default:預設值。在所有會傳回屬性值的 SCIM 作業回應中,系統預設會傳回這項屬性。如果指定 GET 要求 attributes 參數,只有在 attributes 參數中命名屬性時,才會傳回屬性值。
  • request:如果用戶端指定屬性 (例如修改屬性),系統會在回應任何 PUT、POST 或 PATCH 作業時傳回該屬性。只有在 attributes 參數中指定屬性時,SCIM 查詢作業才會傳回該屬性。
uniqueness

string

單一關鍵字值,用於指定服務供應商如何強制執行屬性值的唯一性。伺服器可能會根據唯一性拒絕無效值,並傳回 HTTP 回應碼 400 Bad Request。用戶端可比服務供應商更嚴格地強制執行唯一性。舉例來說,用戶端可讓值保持不重複,但伺服器的不重複值為 none。有效關鍵字如下:

  • none:預設值。這些值不應以任何方式保持不重複。
  • server:這個值在目前的 SCIM 端點 (或租戶) 內容中應為不重複,且可能為全域不重複 (例如使用者名稱、電子郵件地址或其他伺服器產生的金鑰或計數器)。同一伺服器上的兩個資源不得擁有相同的值。
  • global:這個值應為全域專屬 (例如電子郵件地址、GUID 或其他值)。任何伺服器上的兩個資源都不應具有相同的值。

如 RFC 7643 第 2.3 節所述,Boolean、DateTime、Binary 和 Complex 資料類型不具唯一性。

方法

get

擷取結構定義。

list

擷取所有結構定義。