SCIM (System for Cross-domain Identity Management) は、標準化されたインターフェースでユーザー情報を交換できる、オープンな標準規格です。
SCIM を利用して、IdP (Identity Provider) からのユーザーとグループのプロビジョニング プロセスを簡素化し、作業を省力化することができます。
次の SCIM 2.0 RFC に従って実装されています。
IdP (Identity Provider) や人事管理システムでは、SCIM を利用して以下のような機能を利用できます。
新しく入社した社員の情報を IdP や人事管理システムに追加すると、プロビジョニングにより LINE WORKS にも自動的にユーザーが作成されます。
社員が退職して IdP や人事管理システムから削除されると、LINE WORKS のユーザーも自動的に無効化されます。
無効化されたユーザーは、LINE WORKS にログオンすることはできません。
詳細は ユーザーの状態 を参照してください。
IdP や人事管理システムで社員の情報 (名前、電子メール、電話番号など) を変更すると、LINE WORKS のユーザー情報にも自動的に動悸されます。
プロジェクトなどでコミュニケーションのためのチームを利用する際に、メンバーシップ情報を一元管理することができます。
IdP や人事管理システムでグループのメンバーを追加または削除すると、LINE WORKS のグループにも自動的に反映されます。
これにより、トークルームやトークルーム機能 (ノート、予定、タスク、フォルダなど) のアクセス権を管理できます。
詳細は グループ を参照してください。
SCIM プロビジョニング連携は有償商品を利用しているお客様が利用できます。無償商品のみを使用するお客様はご利用になれません。
SCIM API を呼び出す Endpoint は以下のとおりです。
https://www.worksapis.com/scim/v2例えば、ユーザーリストを照会するには、次のように呼び出します。
GET https://www.worksapis.com/scim/v2/UsersAPI を呼び出すには、アクセストークンが必要です。
長期トークン を参考にアクセストークンを発行し、Authorization ヘッダーを使用して Bearer Token 方式で SCIM API を呼び出します。
Authorization: Bearer {Access Token}ユーザーを管理できます。
| HTTP Request | Description |
|---|---|
| POST /scim/v2/Users | ユーザーの登録 |
| GET /scim/v2/Users | ユーザーのリスト取得 |
| GET /scim/v2/Users/{userId} | ユーザーの取得 |
| PUT /scim/v2/Users/{userId} | ユーザーの更新 |
| PATCH /scim/v2/Users/{userId} | ユーザーの部分更新 |
| DELETE /scim/v2/Users/{userId} | ユーザーの無効化 ユーザーの削除・即時削除は行われない。 ユーザーは一時停止状態となり、active 属性が false に設定される。 ユーザーを有効化するには、ユーザーの更新 または ユーザーの部分更新 SCIM API で active 属性を true に変更する。 ユーザーを削除するには、ユーザーの削除 または ユーザーの即時削除 LINE WORKS API を呼び出すか、管理者画面を利用する必要がある。 |
SCIM によりプロビジョニングされるユーザーの状態は、以下のライフサイクルで行われます。

ユーザーの利用可否状態は、active 属性 (boolean) で管理します。
WORKS における active 属性は、ログイン可能か否かを意味します。従って、ユーザーの状態ごとの active 属性は以下のとおりです。
| ユーザーの状態 | LINE WORKS API | SCIM User の active 属性 | 参考 |
|---|---|---|---|
| 登録待ち | isPending = true | true | |
| 待機中 | isAwaiting = true | false | SCIM APIでは設定できないユーザーの状態 管理者が設定した利用開始日になるまで使用できず、 active:true には変更できません。 |
| 使用中 | true | ||
| 一時停止 | isSuspended = true | false | ユーザーの更新 または ユーザーの部分更新 で 'active: false' に変更したり ユーザーの無効化 を呼び出した場合のユーザー状態 |
| 削除 | isDeleted = true | false | SCIM API では設定できないユーザー状態 |
ユーザー状態の詳細は、Directory API 概要 - ユーザー(メンバー)(users)を参照してください。
SCIM Group API では、内部グループのみを管理できます。外部グループの取得、登録、更新、削除はできません。
グループを管理できます。
| HTTP Request | Description |
|---|---|
| POST /scim/v2/Groups | グループの登録 |
| GET /scim/v2/Groups | グループリストの取得 |
| GET /scim/v2/Groups/{groupId} | グループの取得 |
| PUT /scim/v2/Groups/{groupId} | グループの更新 |
| PATCH /scim/v2/Groups/{groupId} | グループの部分更新 |
| DELETE /scim/v2/Groups/{groupId} | グループの削除 |
SAML を選択し、User Key として LINE WORKS Account (ex. id) を利用する必要があります。RFC 7644 - 3.5.2. Modifying with PATCH に従います。
filter 操作には以下の制限があります。
A and B は利用できますが、A and B and C は利用できません。Request Body の Operations 属性は、修正対象の属性の種類により、以下のフォーマットが利用できます。
{ "op": "[ ADD | REPLACE ]", "path": "{key}", "value": "{value}"}{ "op": "[ ADD | REPLACE ]", "value": { "{key}": "{value}" }}{ "op": "REMOVE", "path": "{key}"}{ "op": "[ ADD | REPLACE ]", "path": "{mainKey}.{subKey}", "value": "{value}"}{ "op": "[ ADD | REPLACE ]", "path": "{mainKey}", "value": { "{subKey1}": "{value1}", "{subKey2}": "{value2}", ... }}{ "op": "[ ADD | REPLACE ]", "value": { "{mainKey}": { "{subKey1}": "{value1}", "{subKey2}": "{value2}" , ... } }}{ "op": "REMOVE", "path": "{mainKey}"}{ "op": "REMOVE", "path": "{mainKey}.{subKey}"}{ "op": "[ ADD | REPLACE ]", "path": "{key}", "value": [ object1, object2, ... ]}{ "op": "[ ADD | REPLACE ]", "value": { "{key}": [ object1, object2, ... ] }}{ "op": "[ ADD | REPLACE ]", "path": "{key}[filter]", "value": object}{ "op": "[ ADD | REPLACE ]", "path": "{key}[filter].{subKey}", "value": "{value}"}{ "op": "ADD", "path": "{key}", "value": object}{ "op": "REMOVE", "path": "{key}"}{ "op": "REMOVE", "path": "{key}[filter]"}{ "op": "REMOVE", "path": "{key}", "value": [ { "value": "{value}" }, ... ]}{ "op": "REMOVE", "path": "{key}[filter]", "value": [ { "value": "{value}" }, ... ]}管理者画面の [監査 > アドレス帳] より、サービスタイプ = SCIM でフィルタすることで、SCIM API の呼び出し履歴を確認することができます。