SCIM2.0標準仕様での連携設定について説明します。
事前に必要なもの
- ロリポップ!固定IPアクセスの契約
- 管理画面にログインできる管理者アカウント
- 任意の SCIM Base URL と Bearer Token を設定できる SCIM 2.0 クライアント
⚠️このページで説明するのは、本サービス側のSCIM 2.0受け口です。
標準SCIM2.0対応をうたう認証サービス(IdP)でも、PATCHの形式やグループ同期方法によっては
追加調整が必要になる場合があります。
注意事項
⚠️SCIM連携は1ご契約者(顧客)につき1つの認証サービス(IdP)のみ設定できます。
別の認証サービス(IdP)と連携中の場合は、先に連携ユーザー画面で既存の連携を
解除してください。
-
SCIM 連携を解除する前に、連携ユーザーに割り当てている接続先 IP / ライセンスを管理画面で解除してください。 ライセンス割り当てが残っている場合、連携解除はできません。
- 本サービス側で手動割り当て済みの利用者と、SCIM から同期された連携ユーザーは自動で統合されません。同じメールアドレスの利用者を SCIM 管理に切り替える場合は、手動の割り当てを解除してから、連携ユーザーに接続先 IP / ライセンスを割り当ててください。
1. 管理画面で SCIM トークンを発行する
- 当サービスの管理画面にログインします。
- メニューから「連携ユーザー」(
/console/scim/users)を開きます。
- 未連携の場合は「標準SCIM」を選択します。
- 名称(例:
標準SCIM SCIMキー)と IdP が「標準SCIM」になっていることを確認し、「トークン生成」をクリックします。- 「認証とプロビジョン」(
/console/auth)の「トークンを生成」ボタンからも発行できます。
- 表示されたトークンをコピーします。
- SCIM トークンは発行直後に 1 回だけ表示されます。このページを離れるとトークンは再表示されません。
- トークンはパスワードと同等に扱い、秘密情報管理ツールで保管してください。
2. IdP 側に SCIM 接続情報を設定する
IdP 側で、SCIM 2.0 の Base URL と Bearer Token を手動設定できるアプリ、またはプロビジョニング設定を作成します。
本連携では SSO は使用しません。
| 項目 |
設定値 |
補足 |
| SCIM Base URL / Tenant URL |
https://vpn-api.lolipop.jp/scim/v2 |
/Users や /Groups までは付けず、Base URL として入力します。 |
| 認証方式 |
Bearer Token / OAuth Bearer Token |
本サービスが受け付ける認証は Authorization: Bearer <SCIMトークン> です。 |
| Token / Secret Token |
手順 1 で発行した SCIM トークン |
最終的なリクエストの Authorization ヘッダーが Bearer <token> になるように設定してください。 |
| Content-Type |
application/scim+json |
指定欄がある場合のみ設定します。 |
| Unique identifier |
userName |
User の一意識別子として userName を送信してください。 |
-
GET /ServiceProviderConfig は認証なしで参照できます。
- IdP が接続テストや機能確認で利用する場合があります。
3. 本サービスの対応範囲
- User:
/Users の作成・一覧取得・個別取得・全更新・部分更新・削除に対応しています。
- Group:
/Groups の作成・一覧取得・個別取得・全更新・部分更新・削除に対応しています。
- Filter:
eq のみ対応します。User は userName / externalId、Group は displayName / externalId で検索できます。
- Pagination:
startIndex / count に対応します。count の上限は 200 です。
- 利用対象外: Bulk、Sort、ETag、Change Password、
/Me、/.search は利用しないでください。
4. 送信する主な属性
| リソース |
属性 |
説明 |
| User |
schemas |
urn:ietf:params:scim:schemas:core:2.0:User を含めます。 |
| User |
userName |
必須。この SCIM 接続内で User を一意に識別する値です。 |
| User |
externalId |
任意。IdP 側の User ID を入れるための補助識別子です。本サービスが発行する SCIM id とは別物です。 |
| User |
name.givenName / name.familyName / displayName
|
任意。名・姓・表示名として保存されます。 |
| User |
emails[].value |
推奨。複数送信された場合、primary: true の要素、または先頭要素が保存されます。 |
| User |
active |
推奨。false で無効化、true で再有効化します。作成時に省略した場合は有効として扱われます。 |
| Group |
schemas / displayName
|
urn:ietf:params:scim:schemas:core:2.0:Group と Group 名を送信します。 |
| Group |
members[].value |
メンバー User の SCIM id を指定します。IdP 側の externalId ではありません。 |
-
active: false が送信されると、本サービス側でも該当ユーザーが無効になり、割り当て済みライセンスは停止し、設定ファイルのダウンロードもできなくなります。active: true が再送信されると、停止中のライセンスは再度有効化されます。
- Group の
members[].value には、本サービスが User 作成時に返した SCIM id を指定する必要があります。IdP が externalId をメンバー ID として送信する場合、メンバー追加に失敗します。
5. 同期結果を確認する
- IdP 側の接続テストが成功する
- User の作成・更新・無効化・削除が連携ユーザー画面に反映される
- Group 同期を利用する場合、Group とメンバーが連携ユーザー画面に反映される
- 連携ユーザーに接続先 IP / ライセンスを割り当て、設定ファイルを取得できる
6. トラブルシューティング
| 症状 |
確認すること |
| 接続テストが失敗する |
Base URL が https://vpn-api.lolipop.jp/scim/v2 か、Authorization ヘッダーが Bearer <token> になっているか、トークンが削除されていないか確認してください。 |
| 401 が返る |
SCIM トークンが正しいか、古いトークンを使っていないか、Bearer Token 以外の認証方式になっていないか確認してください。 |
| 409 が返る |
同じ SCIM 接続内で userName が重複していないか確認してください。 |
| Group のメンバー追加が失敗する |
members[].value に SP 発行の User id が入っているか確認してください。 |
| 連携解除に失敗する |
連携ユーザーに接続先 IP / ライセンスが割り当てられていないか確認してください。割り当てが残っている場合は、先に管理画面で解除してください。 |