SCIMとは、複数ドメイン間でユーザーID情報のやり取りを自動化するための規格であり、Systems for Cross-domain Identity Managementの頭文字をとった略語である。2011年に最初のバージョンであるSCIM 1.0が登場し、その後2015年にSCIM 2.0へバージョンアップが行われている。
SCIMの必要性
企業や組織で利用する情報システムのユーザー管理においては、理想的には「1つのドメインに全てのユーザーID情報が紐づき、ドメイン情報を変更するとその変更が自動的に全システムに反映される」ことが望ましい。データの不整合が発生せず、変更作業の手間も一度で済むためである。
しかし、現実には1つのドメインに全てのシステムが紐づいていることはあり得ないため、複数のドメインやシステム、ユーザーID情報データベースをメンテナンスする必要があった。
こうした複数のシステム間において、情報を連携させてユーザー情報を正確かつ効率的に管理するために、ユーザーID情報を交換するための規格を作り、その規格を利用してデータのやり取りを行えば、データの連携方法が標準化され、工数が最小化される。このような必要性からSCIMは誕生し、多くのID管理製品に実装されることとなった。そして、特にSCIMの必要性が増したのはクラウドサービスの普及である。
かつての社内システムは、Active Directoryなどのドメインを中心として、それにほぼ全てのシステムを連携させるよう設計されていた。しかしながら、クラウドサービス(特にSaaS)の業務利用が一般的になり、システムを自社開発または自社の物理サーバーに導入することが激減したため、社内の業務システムとSaaSを容易に連携できる規格であるSCIMに注目が集まることとなった。
SCIMは過去の規格 (SPML) と何が異なるか
SCIM登場以前に、ユーザーIDを連携させるために提唱されていた規格に「SPML (Service Provisioning Markup Language)」がある。これは標準化促進団体であるOASISが開発した規格であり、2003年から利用が開始されているが、相互運用性に問題があったため普及には至らなかった。
SCIMは、SPMLの弱点であった相互運用性を向上させた規格として登場したため、多くのID管理製品に採用され、現在に至っている。
SCIMで何が可能になるか
SCIMを利用することで、あるユーザーID情報が変更された場合に、その変更を容易に反映させられるようになった。具体的には、最も基本的な「レコードの作成・削除」に加えて、ユーザー属性情報、属性スキーマ、グループへのアクセス権といった情報の管理も行うことが可能である。
例えば、企業において新たに従業員を採用した場合、その従業員は社内の人事データベースに追加される(逆に退職の場合はデータベースから削除される)。SCIMを利用すると、社内の人事データベースで行った変更が、SCIMで連携されている外部のクラウドサービス、例えばAzure AD、Salesforce.com、G Suiteなどに自動的に反映させることができる(なお、SCIMはREST APIを用いてJSONまたはXMLフォーマットのデータを使用している)。
もしSCIMを用いずに、手作業で接続させる場合は、各社が利用しているID管理システムに参加するためのプログラムを書く必要が生じ大変非効率になる。このため、クラウドサービスを多数利用している企業ほど、SCIMを利用してデータ連携を行うメリットは大きい。
SCIM利用製品の一例
SCIMを利用している製品は多数あるが、その中からいくつかを挙げる。
- G Suite
- Slack
- Azure AD
- トラスト・ログイン(当社製品)
- LDAP Manager
- CA Mobile API Gateway
- Onelogin
- Okta
- 1password
SCIMの今後
SCIMは、あくまでデータ連携を行う規格であるため、それ自体が大きな注目を集めるものではない。2011年の登場以降、ID管理ならびID連携を行う製品を中心に採用製品を広げており、当社のシングルサインオン製品である「トラスト・ログイン」もその一つである。
現時点 (2019年2月) で、SCIMより利便性の優れたID連携規格は登場していないため、今後も徐々に普及していくものと考えられる。