SCIM(System for Cross-domain Identity Management)は、SaaS間のプロビジョニング 自動化を標準化した規格です。REST APIベースの統一仕様により、複数SaaS間でのユーザー情報やグループ情報の自動同期が可能になります。本記事では、SCIM規格の概要、導入メリット、実装方法について詳しく解説します。
SCIMとは
SCIM規格の役割と歴史
SCIMは、複数SaaS間でのユーザー情報の標準化されたやり取りを実現するオープン標準です。従来、各SaaSが独自のAPI仕様を持っていたため、複数SaaS対応には複雑で高額な開発が必要でした。SCIM 2.0(RFC 7643/7644)により、統一された仕様に基づくプロビジョニングが可能になりました。
SCIM対応SaaS
主要なSaaSの多くがSCIMに対応しており、相互運用性が大幅に向上しました:
SCIM対応SaaS:
- グループウェア: Slack、Salesforce、Microsoft Teams
- ファイル共有: Dropbox、Box、Google Workspace
- その他: Okta、Microsoft Entra ID(旧 Azure AD)、Jira、Confluence
SCIM導入のメリット
1. 標準化されたAPI仕様
- 各SaaSごとの複雑なAPI仕様を学ぶ必要がない
- 統一された仕様により、統合が容易
- 開発期間の短縮、コスト削減
2. ベンダーロックインの回避
- SCIMに対応したツール・サービスであれば相互に連携
- ソリューション変更時の乗り換えが容易
- 長期的なビジネス価値の最大化
3. 相互運用性の向上
- IDaaS(Okta等)とSaaS間の自動同期が完全に標準化
- 新規SaaS追加時の統合開発が不要
- 導入期間の短縮
IGA導入RFPテンプレート
IGA導入の社内稟議に使えるRFPテンプレート。要件定義、評価基準、ベンダー回答フォーマットをそのまま活用できます。
SCIMによるプロビジョニングの仕組み
SCIMのデータフロー
1. 人事DB/IDaaSでユーザー情報変更
↓
2. SCIM API経由でSaaS側に通知
↓
3. SaaS側が自動的に同期
- ユーザー作成・更新・削除
- グループメンバーシップ管理
SCIMで管理できるリソース
User リソース:
- ユーザーID(userName)
- メールアドレス
- 名前(姓・名)
- 電話番号
- アドレス
- カスタム属性
Group リソース:
- グループ名
- グループメンバー
- グループの説明
SCIM連携の設定方法
ステップ1:SCIM エンドポイント情報の取得
- SaaS側からSCIM エンドポイントURL を入手
- 認証情報(Bearer Token等)を確認
ステップ2:マッピング定義
- 人事DB/IDaaSのフィールド → SCIM User/Group属性
- カスタム属性のマッピング定義
ステップ3:テスト実行
- テストユーザーでの同期確認
- エラーハンドリング確認
ステップ4:本運用開始
LOCKED DASのSCIM対応
LOCKED DASのSCIM連携機能
LOCKED DASはSCIM 2.0に完全対応し、以下の機能を提供します:
-
SCIM API エンドポイント提供
- LOCKED DASが標準SCIMサーバーとして機能
- IDaaS等からのSCIM連携が可能
-
複数SaaS へのSCIM配信
- LOCKED DASから各SaaSへSCIM API経由で配信
- 自動プロビジョニング完全自動化
-
標準属性とカスタム属性
- SCIM標準属性の完全サポート
- 企業固有のカスタム属性対応
導入企業の実績
事例1:SaaS企業(従業員300名)
導入前の課題:
- IDaaSがOktaを導入済み
- 複数SaaS(Slack、GitHub、Jira、Confluence等)への連携が個別API依存
- 新規SaaS追加に2~3ヶ月必要
- API開発コスト:1SaaS あたり約100~150万円
- 人事DB変更が複数SaaSに反映されない
SCIM導入フロー:
- OktaがSCIM標準サーバーとして機能
- 各SaaSがSCIM対応に変更
- ユーザー作成・更新・削除がOkta経由で自動同期
導入後:
- 新規SaaS追加:2週間で完了(従来3ヶ月)
- 開発コスト:0円(従来100~150万円/SaaS)
- 人事DB同期率:100%
- 3年間のコスト削減:約1,000万円以上
事例2:金融サービス大手(従業員2,000名)
導入前の課題:
- IDaaSはMicrosoft Entra ID採用
- 複数SaaS(Salesforce、ServiceNow、Box等)が個別API仕様
- 新規SaaS対応に時間がかかる
- ユーザー属性の一貫性がない
- API仕様変更時に対応作業が多発
導入背景:
- 本社内での統一標準化
- 新規SaaS導入の迅速化
- 運用コスト削減
SCIM導入後:
- 新規SaaS追加:月3~4個のペースで実現(従来月1個)
- 開発時間:1SaaS あたり3日(従来3週間)
- 運用業務削減:月間60時間
- セキュリティリスク低減:属性同期の確実性向上
事例3:スタートアップ(従業員100名)
導入前の課題:
- 急速な成長段階で新規SaaS導入が頻繁
- API開発への予算がない
- 手作業でのユーザー管理が煩雑
SCIM導入決定理由:
- Google Workspace → Google SCIM API対応
- Slackも SCIM対応に変更
- 標準化で将来のスケーラビリティ確保
導入後:
- 初期投資:月額5,000円(Google Workspace内蔵SCIM機能)
- 新規SaaS追加:2週間で完全対応
- IT管理業務:ほぼゼロに削減
事例:従業員500名のIT企業
導入前:
- 複数の異なるAPI仕様に対応
- 新規SaaS追加時に個別開発が必要
- 導入期間:3~6ヶ月
SCIM導入後:
- SCIMで標準化
- 新規SaaS追加が数週間で実現
- 開発コスト80%削減
SCIM導入の技術詳細
SCIM連携の実装ステップ
ステップ1:SCIM エンドポイントの設定
IDaaS(Okta/Microsoft Entra IDなど)
↓
SCIM API エンドポイント
↓
SCIM 2.0準拠のAPI仕様
↓
各SaaS(SCIM対応が必須)
ステップ2:属性マッピングの定義
| IDaaS属性 | SCIM User属性 | SaaS属性 | 備考 |
|---|---|---|---|
| employeeId | userName | loginId | 一意のID |
| displayName | name.formatted | fullName | 表示名 |
| emails[0].value | primaryEmail | メール | |
| givenName | name.givenName | firstName | 名 |
| familyName | name.familyName | lastName | 姓 |
| department | urn:scim:schemas:extension:enterprise:2.0:User:department | dept | 部門 |
| manager | manager.value | managerID | 上司ID |
| telephoneNumber | phoneNumbers[0].value | phone | 電話番号 |
ステップ3:グループマッピング
IDaaS グループ
↓
SCIM Group API
↓
SaaS チーム/グループ
ステップ4:同期ルールの定義
- ユーザー作成:IDaaSで新規ユーザー作成 → SCIM API経由でSaaS側に同期
- ユーザー更新:IDaaSで属性変更 → SCIM API経由でSaaS側に更新
- ユーザー削除:IDaaSでユーザー削除 → SCIM API経由でSaaS側にも削除
SCIMのベストプラクティス
1. マッピング定義の明確化
各企業の固有属性とSCIM属性のマッピングを明確に定義することが成功の鍵です。
実施項目:
- 標準属性(userName、mail等)の定義
- カスタム属性の定義(urn:scim:schemas:extension:enterprise:2.0:User:)
- 属性値の変換ルール(形式変換が必要な場合)
- 削除時の挙動定義(ユーザー削除 vs. 無効化)
2. テスト環境での十分な検証
本番環境での導入前に、テスト環境で完全に動作確認することが重要です。
テスト項目:
- ユーザー作成の確認
- ユーザー更新(属性変更)の確認
- グループ管理の確認
- グループメンバーシップ変更の確認
- ユーザー削除の確認
- エラーハンドリング確認
- パフォーマンステスト(大量ユーザー同期)
3. 定期的な監視
SCIM同期が正常に動作しているか定期的に確認し、差分がないか監視します。
監視項目:
- 日次:同期ログの確認、エラー検出
- 週次:同期ユーザー数の確認
- 月次:属性値の整合性確認、漏れ検出
- 四半期:SCIM 仕様更新の確認、対応
4. セキュリティ対策
重要なセキュリティ対策:
- SCIM API エンドポイントへのHTTPS必須化
- Bearer Token認証の実装
- API呼び出しのログ記録
- トークンの定期的なローテーション
- SCIM API の レート制限設定
機能比較:SCIM対応SaaS
| SaaS | SCIM対応 | 対応バージョン | 推奨ユースケース |
|---|---|---|---|
| Slack | ◎ | SCIM 2.0 | エンタープライズ向け |
| Salesforce | ◎ | SCIM 2.0 | CRM統合 |
| Microsoft Teams | ◎ | SCIM 2.0 | Microsoft 365統合 |
| Dropbox | ◎ | SCIM 2.0 | ファイル共有 |
| Box | ◎ | SCIM 2.0 | エンタープライズファイル共有 |
| Google Workspace | ◎ | SCIM 2.0 | Google統合 |
| Jira | ◎ | SCIM 2.0 | Dev Tools統合 |
| Confluence | ◎ | SCIM 2.0 | Dev Tools統合 |
| Okta | ◎(サーバー) | SCIM 2.0 | IDaaS標準機能 |
| Microsoft Entra ID | ◎(サーバー) | SCIM 2.0 | Microsoft統合 |
| Ping Identity | ◎(サーバー) | SCIM 2.0 | IDaaS標準機能 |
外部参照資料
- SCIM 公式仕様(RFC 7643:コア仕様)
- SCIM 公式仕様(RFC 7644:プロトコル仕様)
- SimpleCloud SCIM Community
- Okta SCIM API ドキュメント
- IPA:ID・アクセス管理ガイドライン
まとめ
SCIM規格による標準化は、複数SaaS管理を大幅に簡素化し、新規SaaS追加時の開発期間を短縮できます。
主な効果は以下の通りです:
- 開発コスト削減:1SaaS あたり100~150万円の開発費を削減
- 導入期間短縮:新規SaaS追加が3ヶ月→2週間に短縮
- 運用効率化:標準化により運用業務が大幅削減
- ベンダーロックイン回避:SCIM対応であれば乗り換え可能
LOCKED DASはSCIM完全対応により、標準化されたプロビジョニングを実現します。OktaやMicrosoft Entra IDなどのIDaaSとも連携可能で、エンタープライズグレードのセキュリティと利便性を両立できます。
LOCKEDの詳細を見る SCIM導入でお困りなら、LOCKEDの無料デモをお試しください。 資料請求・デモ依頼はこちら →