REST Resource: customers.v2.Schemas

Ressource: Schema

Aus RFC 7643, Abschnitt 7. Gibt die Metadaten zu einem Schema an.

JSON-Darstellung
{
  "attributes": [
    {
      object (Attribute)
    }
  ],
  "id": string,
  "name": string,
  "description": string
}
Felder
attributes[]

object (Attribute)

Erforderlich. Die Liste der Attribute des Schemas.

id

string

Erforderlich. Der eindeutige URI des Schemas. Falls zutreffend, müssen Dienstanbieter den URI angeben, z. B. urn:ietf:params:scim:schemas:core:2.0:User. Im Gegensatz zu den meisten anderen Schemas, die eine Art global eindeutige ID (Globally Unique Identifier, GUID) für die id verwenden, ist die Schema-id ein URI, damit sie registriert werden kann und zwischen verschiedenen Dienstanbietern und Clients übertragbar ist.

name

string

Optional. Der für Menschen lesbare Name des Schemas. Falls zutreffend, müssen Dienstanbieter den Namen angeben, z. B. User oder Group.

description

string

Optional. Die für Menschen lesbare Beschreibung des Schemas. Falls zutreffend, müssen Dienstanbieter die Beschreibung angeben.

Attribut

Aus RFC 7643, Abschnitt 7. Definiert die Eigenschaften eines Attributs.

JSON-Darstellung
{
  "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
}
Felder
subAttributes[]

object (Attribute)

Wenn ein Attribut vom Typ complex ist, definiert subAttributes eine Reihe von Unterattributen. subAttributes hat dieselben Schema-Unterattribute wie attributes.

canonicalValues[]

string

Optional. Eine Sammlung vorgeschlagener kanonischer Werte, die verwendet werden können (z. B. work und home). In einigen Fällen können Dienstanbieter nicht unterstützte Werte ignorieren.

referenceTypes[]

string

Ein mehrwertiges Array von JSON-Strings, das die SCIM-Ressourcentypen angibt, auf die verwiesen werden kann. Gültige Werte sind:

  • Ein SCIM-Ressourcentyp (z. B. User oder Group).
  • external - gibt an, dass die Ressource eine externe Ressource ist (z. B. ein Foto).
  • uri - gibt an, dass der Verweis auf einen Dienstendpunkt oder eine Kennung verweist (z. B. ein Schema-URN).

Dieses Attribut gilt nur für Attribute vom Typ reference (Abschnitt 2.3.7).

name

string

Der Name des Attributs.

type

string

Der Datentyp des Attributs. Gültige Werte sind string, boolean, decimal, integer, dateTime, reference und complex. Wenn ein Attribut vom Typ complex ist, sollte ein entsprechendes Schema-Attribut subAttributes definiert sein, das die Unterattribute des Attributs auflistet.

multiValued

boolean

Gibt die Pluralität des Attributs an.

description

string

Die für Menschen lesbare Beschreibung des Attributs. Falls zutreffend, müssen Dienstanbieter die Beschreibung angeben.

required

boolean

Gibt an, ob das Attribut erforderlich ist.

caseExact

boolean

Gibt an, ob bei einem Stringattribut zwischen Groß- und Kleinschreibung unterschieden wird. Der Server unterscheidet bei der Auswertung von Filtern zwischen Groß- und Kleinschreibung. Bei Attributen, bei denen zwischen Groß- und Kleinschreibung unterschieden wird, behält der Server die Groß- und Kleinschreibung für alle übermittelten Werte bei. Wenn das Attribut nicht zwischen Groß- und Kleinschreibung unterscheidet, kann der Server die Groß- und Kleinschreibung für einen übermittelten Wert ändern. Die Unterscheidung zwischen Groß- und Kleinschreibung wirkt sich auch darauf aus, wie Attributwerte mit Filterwerten verglichen werden können (siehe RFC 7644, Abschnitt 3.4.2.2).

Gemäß RFC 7643, Abschnitt 2.3.6 und RFC 7643, Abschnitt 2.3.7 wird bei den Typen binary und reference zwischen Groß- und Kleinschreibung unterschieden (caseExact).

mutability

string

Ein einzelnes Keyword, das die Umstände angibt, unter denen der Wert des Attributs (neu) definiert werden kann:

  • readOnly: Das Attribut kann nicht geändert werden.
  • readWrite: Standard. Das Attribut kann jederzeit aktualisiert und gelesen werden.
  • immutable: Das Attribut kann bei der Ressourcenerstellung (z. B. POST) oder beim Ersetzen von Datensätzen über eine Anfrage (z. B. PUT) definiert werden. Das Attribut kann nach der ersten Definition nicht mehr geändert werden.
  • writeOnly: Das Attribut kann jederzeit aktualisiert werden. Attributwerte werden nicht zurückgegeben (z. B. weil der Wert ein gespeicherter Hash ist). Hinweis: Ein Attribut mit der Unveränderlichkeit writeOnly hat in der Regel auch die zurückgegebene Einstellung never.
returned

string

Ein einzelnes Keyword, das angibt, wann ein Attribut und die zugehörigen Werte in der Antwort auf eine GET-Anfrage oder in der Antwort auf eine PUT-, POST- oder PATCH-Anfrage zurückgegeben werden. Gültige Keywords sind:

  • always: Das Attribut wird immer zurückgegeben, unabhängig vom Inhalt des Parameters attributes. Beispielsweise wird id immer zurückgegeben, um eine SCIM-Ressource zu identifizieren.
  • never: Das Attribut wird nie zurückgegeben. Das kann daran liegen, dass der ursprüngliche Attributwert (z. B. ein Hashwert) nicht vom Dienstanbieter beibehalten wird. Ein Dienstanbieter kann zulassen, dass Attribute in einem Suchfilter verwendet werden.
  • default: Standard. Das Attribut wird standardmäßig in allen SCIM-Antworten zurückgegeben, in denen Attributwerte zurückgegeben werden. Wenn der Parameter attributes der GET-Anfrage angegeben ist, werden Attributwerte nur zurückgegeben, wenn das Attribut im Parameter attributes genannt wird.
  • request: Das Attribut wird als Antwort auf alle PUT-, POST- oder PATCH-Vorgänge zurückgegeben, wenn das Attribut vom Client angegeben wurde (z. B. wenn das Attribut geändert wurde). Das Attribut wird in einem SCIM-Abfragevorgang nur zurückgegeben, wenn es im Parameter attributes angegeben ist.
uniqueness

string

Ein einzelner Keyword-Wert, der angibt, wie der Dienstanbieter die Eindeutigkeit von Attributwerten erzwingt. Ein Server kann einen ungültigen Wert aufgrund der Eindeutigkeit ablehnen, indem er den HTTP-Antwortcode 400 Bad Request zurückgibt. Ein Client kann die Eindeutigkeit auf Clientseite in größerem Maße erzwingen, als der Dienstanbieter sie erzwingt. Ein Client könnte beispielsweise einen Wert eindeutig machen, während der Server die Eindeutigkeit none hat. Gültige Keywords sind:

  • none: Standard. Die Werte sollen in keiner Weise eindeutig sein.
  • server: Der Wert sollte im Kontext des aktuellen SCIM-Endpunkts (oder der aktuellen Mandanten-ID) eindeutig sein und kann global eindeutig sein (z. B. ein Nutzername, eine E-Mail-Adresse oder ein anderer vom Server generierter Schlüssel oder Zähler). Keine zwei Ressourcen auf demselben Server sollten denselben Wert haben.
  • global: Der Wert sollte global eindeutig sein (z. B. eine E-Mail-Adresse, eine GUID oder ein anderer Wert). Keine zwei Ressourcen auf einem beliebigen Server sollten denselben Wert haben.

Wie in RFC 7643, Abschnitt 2.3 angegeben, haben die Datentypen Boolean, DateTime, Binary und Complex keine Eindeutigkeit.

Methoden

get

Ruft ein Schema ab.

list

Ruft alle Schemas ab.