はじめに
トライアル環境のユーザー数上限は10,000ユーザーとなります。
この範囲内でユーザー登録を行い、/v2.0/Usersによるユーザー検索を試してみました。
- testuser0001~testuser9989まで登録。合計9992ユーザーがいるディレクトリを準備
- カスタム属性deptcodeを作成
- deptcodeに任意の英字4桁+任意の数字3桁のデータを登録
1.検索結果の最大値について
testuserというキーワードで検索します。
検索結果としては、2500件が返ってきています。
この2500件という値は、get /v2.0/Users APIで一度に取得できるユーザー数の上限値となります。
ユーザー情報の検索の際には、2500件という上限値を意識しておく必要があります。
2.カスタム属性の検索について
今回は以下のユーザーを利用して検索を試します。
項目 | 属性名 | 設定値値 |
---|---|---|
ユーザー名 | username | testuser2000 |
カスタム属性 | deptcode | QQVB817 |
##2.1. 管理コンソールでユーザー名を検索する
管理画面でtestuser2000を検索すると、fulltextという全文索引を利用したリクエストが行われます。
リクエストURL:
GET https://<テナント名>.verify.ibm.com/v2.0/Users?count=200&sortBy=urn:ietf:params:scim:schemas:extension:ibm:2.0:User:lastLogin&sortOrder=descending&startIndex=1&fullText=testuser2000
##2.2. 管理コンソールでカスタム属性を検索する
次に、管理画面でカスタム属性に設定した値を検索します。
fulltextオプションでの検索は、カスタム属性は対象外になるため、検索に該当するものはないという結果が表示されます。
##2.3. APIでカスタム属性を検索する
APIでカスタム属性(deptcode) が"QQVB817"に該当するレコードを検索するためには、filterオプションを利用して検索できます。
先頭大文字のFilterではフィルタされないため小文字filterの利用が必要です。
リクエストURL例(一部割愛)
GET https://<テナント名>.verify.ibm.com/v2.0/Users?filter=urn:ietf:params:scim:schemas:extension:ibm:2.0:User:customAttributes.deptcode eq "QQVB817"
PostmanでAPIを実行すると、検索結果が戻ってきます。
最後に
今回はユーザー検索の注意点についてご紹介しました。
APIを利用した検索の際には以下の点をご注意頂ければと思います。
- get /v2.0/users APIによる検索結果の上限値は 2500件となる
- fulltextオプションはカスタム属性が対象外となる
- カスタム属性はfilterオプションで検索できる(filterはすべて小文字)