認証・ID管理

SCIM(System for Cross-domain Identity Management) すきむ

プロビジョニングIdPユーザー管理SSOLDAPREST API
SCIMについて教えて

簡単に言うとこんな感じ!

「社員が入社・異動・退社するたびに、使うシステム全部にアカウントを作ったり消したりするの大変…」を自動化する仕組みだよ! 人事システムが変わったら、連携してるSaaSのアカウントも自動で更新されるってこと!


SCIMとは

SCIM(System for Cross-domain Identity Management) とは、複数のシステム間でユーザーアカウントの情報を自動的に同期・管理するための標準プロトコルです。「スキム」と読みます。たとえば、人事システムに新入社員を登録したとき、SlackやSalesforceなどのSaaSツールにも自動的にアカウントが作られる——そんな仕組みを実現します。

従来、社員のアカウント管理は管理者が各サービスに手作業でログインし、ユーザーを登録・変更・削除する必要がありました。SCIMはこのプロビジョニング(アカウントの自動作成・更新・削除) を標準化し、人事異動や退職時のアカウント管理漏れ・工数を大幅に削減します。

セキュリティの観点からも重要で、退職者のアカウントを速やかに無効化できることは情報漏えいリスクの低減に直結します。SCIMは現在、Okta・Azure AD・Google Workspaceなど主要なID管理基盤(IdP)が対応しており、SaaSが乱立する現代のIT環境で欠かせない技術となっています。


SCIMの仕組みと構造

SCIMはREST API(Webの標準的な通信方式)を使って、ユーザー情報をやり取りします。データ形式はJSON(軽量なデータ記述形式)が使われます。

登場人物と役割

登場人物役割具体例
IdP(Identity Provider)アカウント情報の「源泉」。SCIMのクライアントとして動作するOkta / Azure AD / Google Workspace
SP(Service Provider)アカウント情報を「受け取る側」。SCIMのサーバーとして動作するSlack / Salesforce / Zoom
SCIMエンドポイントSPが公開するAPI窓口。IdPがここに情報を送るhttps://app.example.com/scim/v2/

SCIMが扱う主な操作

操作HTTPメソッドタイミングの例
ユーザー作成(Create)POST入社・新規登録
ユーザー更新(Update)PUT / PATCH異動・改姓・役職変更
ユーザー無効化(Disable)PATCH休職・一時停止
ユーザー削除(Delete)DELETE退職
ユーザー一覧取得(Read)GET現状確認・同期チェック

覚え方

「SCIM = スキム(skim)= 上澄みをすくう」 と覚えましょう。人事システムという「大元の情報源」から、必要なユーザー情報だけを各SaaSにさっとすくって届けてくれるイメージです。

SCIMが扱うデータの例(JSON)

{
  "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
  "userName": "taro.yamada@example.com",
  "name": {
    "familyName": "山田",
    "givenName": "太郎"
  },
  "emails": [{"value": "taro.yamada@example.com", "primary": true}],
  "active": true
}

歴史と背景

  • 2011年 — SCIM 1.0 が登場。クラウドサービスが急増し、各社がバラバラにユーザー管理APIを作っていた問題を解決するために標準化が始まった
  • 2015年 — SCIM 2.0 が IETF(インターネット技術標準化団体)により RFC 7642 / 7643 / 7644 として正式標準化。現在の主流バージョン
  • 2010年代後半 — Okta・Azure AD・Google Workspaceなど主要IdPが対応。SaaSの爆発的普及とともに一気に広まる
  • 2020年代ゼロトラストセキュリティの文脈でアカウント管理の重要性が増し、SCIMは「退職者アカウントの即時無効化」を支える基盤として注目が高まる

SCIMとSSOの関係・周辺技術との比較

SCIMはよくSSO(シングルサインオン)と混同されますが、役割がまったく異なります

SCIM と SSO の役割分担 人事システム (アカウント情報の源泉) IdP (Okta / Azure AD 等) 各SaaSサービス (Slack / Zoom 等) SCIM(アカウント自動作成・削除) SCIM vs SSO — 役割の違い SCIM アカウントを「作る・消す・変える」 プロビジョニング(裏方) SSO(SAML/OIDC) パスワードなしで「ログイン」する 認証(表玄関)

主要な周辺技術との比較

技術目的タイミング
SCIMアカウントの作成・更新・削除の自動化入社・異動・退職入社初日にSlackアカウントが自動生成
SAMLブラウザベースのSSO認証ログイン時社内ポータルからSalesforceにSSO
OIDC(OpenID ConnectAPI対応のSSO認証ログイン時GoogleアカウントでWebサービスにログイン
LDAP社内ディレクトリの管理(オンプレ向け)常時ActiveDirectoryによる社内PC認証

SCIMとSSOは「セットで使う」のが正解

SCIMとSSOは競合技術ではなく補完関係です。

【よくある構成】

人事システム ──SCIM──▶ IdP(Okta等) ──SCIM──▶ 各SaaS
                                        ──SSO───▶ 各SaaS(ログイン)

✅ SCIMでアカウントを自動作成 → SSOでパスワードなしログイン

関連する規格・RFC

規格・RFC番号内容
RFC 7642SCIMの要件・概念・ユースケースの定義
RFC 7643SCIMのコアスキーマ(User/Groupオブジェクトの定義)
RFC 7644SCIMのプロトコル仕様(REST APIの操作方法)
RFC 7641(参考)JSON Patchの仕様(SCIMのPATCH操作で使用)

関連用語