メインコンテンツへスキップ
SCIM連携・自動プロビジョニングの確認方法 ─ 退職者アカウントをSaaSに残さない実務手順
チュートリアル 中級

SCIM連携・自動プロビジョニングの確認方法 ─ 退職者アカウントをSaaSに残さない実務手順

チュートリアル 中級

SCIM連携や自動プロビジョニングで退職者アカウントがSaaSに残る原因を整理。同期対象、グループ、手動招待、provisioning logs、active=false、証跡確認、エスカレーション条件まで情シス・SaaS管理者向けに解説します。

冒頭要約

SCIM連携や自動プロビジョニングは、IdPからSaaSへユーザー、グループ、属性、無効化状態を同期するための仕組みです。退職者や委託終了者のアカウントをSaaSに残さないために有効ですが、設定ずれ、同期対象外、手動招待、ログ失敗があると、SaaS側に有効なアカウントや権限が残ることがあります。

最初に確認すべきなのは、「SSOでログインできないか」だけではありません。人事・IdPの状態、SCIMの割り当て範囲、SaaS側の実ユーザー一覧、provisioning logs、手動で作られたローカルアカウントを同じ時間軸で照合します。

この記事では、情シス、SaaS管理者、開発組織の管理者向けに、SCIM連携の確認方法、退職者アカウントを残さないチェックリスト、初動対応、エスカレーション条件を整理します。攻撃手順、悪用コード、侵入再現、探索クエリは扱いません。

SSO停止とSCIMデプロビジョニングは同じではない

SSOは「ログインできるか」を主に扱い、SCIMは「対象SaaSにユーザーやグループを作る・更新する・無効化する」運用に関わります。SSOを止めたつもりでも、SaaS側のメンバーシップ、外部共有、トークン、手動招待が残る場合があります。


読者別の影響:誰が何を見るべきか

SCIM連携の確認は、IdP担当だけで完結しません。退職・異動・委託終了の情報、SaaS側の実状態、監査ログ、開発基盤の外部コラボレーターまでつなげて判断します。

読者・担当者まず見るもの見落としたときの問題
情シス・IdP管理者IdPのユーザー状態、割り当てグループ、SCIMアプリ設定、provisioning logs無効化がSaaSへ反映されず、退職者が対象SaaSに残る
SaaS管理者SaaS側のユーザー一覧、ロール、外部ユーザー、手動招待、監査ログIdPで見えないローカルアカウントや高権限ロールが残る
開発者・GitHub管理者Organization member、Enterprise Managed User、外部コラボレーター、PATやSSH keyリポジトリやCI/CDのアクセスが退職後も残る
CSIRT・SOC同期失敗、手動追加、権限変更、退職後ログイン、トークン利用不審操作の有無を判断できず、初動が遅れる
人事・監査担当退職日、最終稼働日、契約終了日、例外承認、再確認期限アカウント停止の証跡が説明できない

関連する基礎概念は、SCIMSSOIAMAccess Reviewで整理できます。ログイン可否と利用権限の違いは、認証と認可の違いを先に確認すると判断しやすくなります。


SCIM連携とは:SSOとの違いを先に分ける

SCIM(System for Cross-domain Identity Management)は、複数ドメイン間でID情報を管理するための標準プロトコルです。実務では、Microsoft Entra ID、OktaなどのIdPから、GitHub、Slack、業務SaaS、開発基盤へ、ユーザー作成、属性更新、グループ同期、無効化を自動化する用途で使われます。

ただし、SCIMは「設定すれば全SaaSの退職者が必ず消える魔法」ではありません。特に次の違いを分けて見ます。

観点SSOSCIM / 自動プロビジョニング
主な目的ログイン時の認証をIdPへ集約するSaaS側のユーザー・グループ・属性を作成、更新、無効化する
退職時の意味IdP認証を止める対象SaaSのアカウントやメンバーシップを無効化・削除する
見るべきログサインインログ、MFA、条件付きアクセスprovisioning logs、SaaS監査ログ、グループ同期ログ
見落としやすい対象SSO外アカウント、ローカル管理者手動招待、同期対象外グループ、外部コラボレーター

GitHubのように、SCIMを使ってアカウントやOrganization membershipを管理できる一方、手動招待や手動削除でSCIMのリンクがずれる可能性を公式ドキュメントが注意しているサービスもあります。製品ごとの仕様差を前提に、IdPとSaaSの両方を確認します。


まず確認すること:SCIM同期ずれチェックリスト

退職者アカウントや委託終了者のアクセスが残っていないかを確認するときは、次の順番で見ると抜けにくくなります。

確認項目見るポイント記録すること
1. 対象SaaSの確定SCIM対象、SSOのみ、個別ID、部門契約SaaSを分けるSaaS名、管理者、契約部門、SCIM有無
2. Source of truth人事、IdP、委託先台帳のどれを正とするか退職日、最終稼働日、契約終了日
3. IdPユーザー状態disabled、suspended、deleted、グループ未所属などの状態変更日時、実施者、チケット番号
4. SCIMアプリ割り当て対象グループ、ユーザー割り当て、スコープ条件どのグループから外したか
5. グループ同期ネストしたグループ、除外グループ、手動ロール付与反映対象と対象外の理由
6. SaaS側ユーザーactive、disabled、pending、guest、external collaboratorユーザー状態、ロール、最終利用日時
7. 手動招待・ローカルアカウントIdPに紐づかないユーザー、管理者が直接招待したユーザー招待者、作成日、所有部門
8. provisioning logsCreate、Update、Disable、Delete、Skipped、Failure、Warning対象ユーザー、Action、Status、エラー
9. SCIM認可ユーザー・トークンSCIMアプリを認可した管理者、API token、連携アカウント所有者、失効日、ローテーション有無
10. 残るアクセスセッション、Personal Access Token、SSH key、OAuth app、外部共有失効・削除・保留の判断

特に、provisioning logsでは「成功したか」だけでなく、ActionとStatusを分けて見ます。Microsoft Entraのログでは、Create、Update、Delete、Disable、Skipped、Warning、Failureのような状態を手掛かりに、対象ユーザーがどのステップで止まったかを確認できます。

ログとSaaS画面を必ず照合する

provisioning logsでSuccessになっていても、SaaS側で期待どおりのロールやグループから外れているとは限りません。IdPログ、SaaSユーザー一覧、SaaS監査ログを同じユーザー・同じ時刻で見ます。


初動対応:やること、やらないこと、記録すること

やること

  • 退職日、最終稼働日、委託終了日を確認し、対象者のIdP状態とSaaS側状態を一覧化する。
  • 対象SaaSごとに、SCIM対象、SSOのみ、手動管理、外部コラボレーターを分ける。
  • provisioning logsで、対象者に対するDisable、Delete、Update、Failure、Skipped、Warningを確認する。
  • SaaS側で、activeなユーザー、管理者ロール、外部共有、APIトークン、SSH key、OAuth appを確認する。
  • SCIMアプリを認可している管理者や連携アカウントが退職・異動していないか確認する。
  • 説明できないactiveユーザーや管理者権限が残っている場合は、削除前に証跡を残してセキュリティ担当へ上げる。

やらないこと

  • 「SSOでログインできないから完了」と判断しない。
  • IdPグループから外しただけで、SaaS側のロール、外部共有、トークン確認を省略しない。
  • 証跡を取る前に対象アカウントを完全削除し、後続調査に必要なログや属性を失わない。
  • 手動招待で一時対応を続け、SCIMのリンクずれを増やさない。
  • 製品ごとの制約を確認せず、複数IdPや複数SCIM経路を混在させない。

記録すること

記録項目
対象者氏名ではなく管理用ID、メール、社員番号、委託先ID
人事イベント退職日、異動日、契約終了日、最終稼働日
IdP状態disabled、グループ削除、アプリ割り当て解除、実施時刻
SCIMログAction、Status、Source、Target、エラー、最終成功時刻
SaaS状態active/disabled、ロール、外部共有、最終ログイン、手動招待
追加対応セッション失効、トークン失効、外部共有停止、所有権移管
判断削除、無効化、保留、例外承認、再確認日

この記録は、退職者アカウント確認チェックリストSaaS権限棚卸しチェックリストにそのまま接続できます。ログの読み方に不安がある場合は、セキュリティログの読み方アクセスログ解析ミニCTFで基礎を確認できます。


判断基準:どこまでエスカレーションするか

SCIM連携のずれは、すべてが重大インシデントではありません。実務では、残っている権限の強さ、対象データ、退職後の利用有無、ログの説明可能性で優先度を決めます。

優先度状況初動判断
退職者、異動者、委託終了者がSaaS側でactiveなまま証跡保全、即時無効化、SaaS監査ログ確認、関係者へエスカレーション
管理者ロール、リポジトリ管理、顧客データ、請求、監査ログに触れる権限が残るインシデント候補として扱い、トークン・セッション・外部共有も確認
provisioning logsにFailure/Warningが継続し、複数ユーザーへ影響一括同期失敗として、IdP/SaaS管理者と復旧計画を作る
手動招待やローカルアカウントが台帳にない所有者確認、停止、SCIM管理へ戻す計画を作る
グループ同期は成功しているが、SaaS側ロールが想定と違うロールマッピング、例外付与、手動ロールを確認する
pending招待、未使用アカウント、説明済みの例外期限と承認者を記録し、次回レビューに入れる

退職後ログイン、退職後のトークン利用、外部共有の新規作成、管理者ロール付与、監査ログ設定変更が見つかった場合は、SCIM設定ミスだけで終わらせず、漏えい疑い初動テンプレートへ進みます。


よくある誤解

「SCIMを入れたのでアクセスレビューはいらない」

SCIMは自動化の仕組みであり、棚卸しの代替ではありません。同期対象外、手動招待、外部ユーザー、ローカル管理者、OAuthアプリ、Personal Access Tokenは別途確認が必要です。

「active=falseなら完全削除された」

多くのサービスでは、deprovisioning時にアカウントを無効化し、必ずしも即時削除しません。データ保持、所有権移管、監査ログ、セッション無効化の扱いはSaaSごとに異なります。公式ドキュメントと管理画面の実状態を確認します。

「IdPグループから外したらSaaSのロールも消える」

グループ同期とSaaS内部ロールの関係は製品ごとに違います。手動ロール付与、ネストグループ非対応、例外グループ、同期遅延があると、期待どおりに外れない場合があります。

「SCIMアプリの認可ユーザーは誰でもよい」

SCIM連携を認可している管理者やAPIトークンが退職・異動・権限変更されると、同期が止まることがあります。専用の運用アカウントや所有者、ローテーション、監査ログを確認します。

「手動で直せば早い」

一時的な手動修正が必要な場合もありますが、手動招待や手動削除はSCIMのリンクずれを増やすことがあります。証跡を残し、恒久的にはSCIM管理へ戻す計画を作ります。


関連用語・関連ページ

目的ページ
退職・異動時の作業へ落とす退職者アカウント確認チェックリストSaaS権限棚卸しチェックリスト
残存アカウントを見つけた時の初動退職者アカウントが残っていた時の初動対応管理者権限付与の初動対応
SaaS全体の棚卸しへ広げるSaaS権限棚卸しの進め方SaaS外部共有リンクの棚卸し委託先・外部パートナーアカウントの棚卸し
基礎概念を確認するSCIMIdPSSOIAMService Account
違いを理解する認証と認可の違いSSOとMFAの違い
学習・演習へ進むゼロトラストアーキテクチャ認証と認可のミニCTFクイズで用語を復習する

公式情報・参考情報


まとめ

SCIM連携と自動プロビジョニングは、退職者アカウントをSaaSに残さないための重要な仕組みです。ただし、SSO停止、IdPグループ解除、SCIM同期成功、SaaS側の実権限は別々に確認する必要があります。

実務では、対象SaaS、source of truth、SCIM割り当て、グループ同期、SaaS側ユーザー、手動招待、provisioning logs、SCIM認可ユーザー、残るトークンや外部共有を順番に見ます。退職者や委託終了者がactiveなまま、または管理者権限や顧客データに触れる権限が残っている場合は、証跡を取ってから即時無効化とエスカレーションを行います。

次に実務へ落とすなら、退職者アカウント確認チェックリストに「SCIM対象/対象外」「provisioning logs」「手動招待」「SCIM認可ユーザー」「SaaS側active確認」を追加し、四半期のSaaS権限棚卸しで再確認します。

関連テーマを体系的に学ぶ 認証とパスキー(パスワードレス)ガイド
ESC