SCIM:List APIはページ化された結果を返します。サポートされていないフィルターは拒否されます(保留中)¶
SCIM List APIエンドポイント(GET /scim/v2/Users``および``GET /scim/v2/Groups)は、指定された``eq``または``sw``フィルターに任意で一致する、アカウント内のユーザーまたはグループのページ化されたリストを返すように変更されます。以前は、これらのエンドポイントは単一の合成サンプルオブジェクトを返していました。
フィルターされていないリスト呼び出し
- 変更前:
``filter``パラメーターのない``GET /scim/v2/Users``および``GET /scim/v2/Groups``は、単一の合成サンプルオブジェクトを返しました。たとえば、``GET /scim/v2/Users``は次を返していました。
同様に、``GET /scim/v2/Groups``は単一の``synthetic_group``オブジェクトを返しました。
- 変更後:
同じ呼び出しは、標準のSCIMページネーション(
startIndex、count)を使用して、アカウント内のユーザーまたはグループのページ化されたリストを返します。
フィルター式の検証
- 変更前:
フィルター値は大まかに解析されていました。論理演算子(
and、or)を含むものや不正な形式のフィルター値など、サポートされていないフィルター式は警告なしに受け入れられ、空の``Resources``配列を含む``200 OK``を返していました。- 変更後:
フィルター値は、SCIMのJSONエンコード要件に従って、引用符で囲まれたJSON文字列として解析されるようになりました。サポートされていない、または不正な形式のフィルター式は、HTTP ``400 Bad Request``およびSCIMエラータイプ``invalidFilter``で拒否されます。``eq``または``sw``を使用したサポート対象の単一属性フィルターは影響を受けません。
ServiceProviderConfigフィルターサポート
- 変更前:
GET /scim/v2/ServiceProviderConfig``は``filter.supported``を整数(``0)としてレポートしました。- 変更後:
RFC 7643の要件に従い、
filter.supported``はブール値(``true)です。
SCIMクライアントが``and``または``or``を使用してフィルター式を送信するお客様は、シンプルなフィルターを使用するか、``400 invalidFilter``応答を処理するようにクライアントを更新する必要があります。
注釈
多数のユーザーまたはグループがあるお客様の場合、フィルターされていないリスト呼び出しの応答時間が長くなる可能性があります。応答サイズを縮小するには、ユーザーをリストする場合は``excludedAttributes=groups``を、グループをリストする場合は``excludedAttributes=members``を使用します。これにより、大規模なアカウントにおける応答サイズとレイテンシの主な要因であるメンバーシップの拡張が防止されます。
参照:2276