SCIM 2.0 (RFC 7644)

System for Cross-domain Identity Management: Protocol

組織間でユーザーとグループを作成・更新・無効化するRESTプロトコルです。認証そのものではなく、SSOを支えるIDライフサイクルを標準化します。

STATUSPublished September 2015FLOWS0 documentedPrimary specification ↗

この仕様は、
何を解決するのか。

Enterprise SSOと合わせてユーザーProvisioning、グループ同期、退職者のアクセス失効を設計する人向けです。

SCIMは、クラウドサービス間でユーザーとグループのライフサイクルを自動管理するためのRESTプロトコルです。ログイン時に本人を確認する認証プロトコルではなく、入社・異動・退職に合わせてアカウントを準備し、権限の土台を最新に保つIdentity Provisioning仕様です。

Identity Providerや人事システムがSCIM Clientとなり、Service Providerの/Usersや/Groups Endpointを操作します。共通Schema、検索Filter、PATCH、Bulk処理が定義され、サービスごとに異なるユーザー管理APIを減らします。

仕様が定める、大切なこと。

01

アカウント管理を自動化する

利用開始前の作成、属性変更、グループ所属、利用終了時の無効化を組織のID情報と同期します。

02

ユーザー表現を共通化する

UserとGroupのCore Schemaにより、userName、name、emails、active、membersなどを共通形式で扱います。

03

退職者のアクセスを止める

SSO設定だけで終わらず、active=falseやアカウント削除を連携して不要なアクセス権を速やかに失効させます。

01Users / Groups02Provisioning03Deprovisioning04PATCH / Bulk05Service Provider Configuration

安全に使うための確認事項。

仕様を実装するときは、正常系の通信だけでなく、値のすり替え、再利用、漏えいが起きた場合も考えます。

  1. 01

    SCIM EndpointはOAuthアクセストークンなどで強く認証し、Provisioningに必要な最小権限だけを付与します。

  2. 02

    すべてHTTPSで通信し、ログへアクセストークンや不要な個人属性を残しません。

  3. 03

    externalIdやidを安定した識別子として扱い、表示名やメールアドレスだけでユーザーを誤結合しません。

  4. 04

    削除と無効化の方針、再試行時の冪等性、監査ログ、管理者による変更との競合を設計します。

ほかの仕様との関係

OIDCやSAMLは主にログイン時の認証結果を伝え、SCIMはログイン前後を含むアカウントのライフサイクルを管理します。SSOでログインを統合し、SCIMで作成・属性・所属・無効化を同期することで、Identity管理全体を構成できます。

OAuth 2.0 (RFC 6749)The OAuth 2.0 Authorization Framework→OAuth 2.0 Device Authorization (RFC 8628)OAuth 2.0 Device Authorization Grant→OAuth 2.1OAuth 2.1 Authorization Framework→OpenID Connect Core 1.0OpenID Connect Core 1.0→FIDO2 WebAuthn Level 3Web Authentication: Public Key Credentials→FIDO2 CTAP 2.2Client to Authenticator Protocol→FIDO UAF 1.1Universal Authentication Framework→FIDO U2F 1.2Universal Second Factor→OpenID Connect CIBA Core 1.0Client-Initiated Backchannel Authentication→OAuth 2.0 PKCE (RFC 7636)Proof Key for Code Exchange by OAuth Public Clients→JSON Web Token (RFC 7519)JSON Web Token (JWT)→OAuth 2.0 DPoP (RFC 9449)OAuth 2.0 Demonstrating Proof of Possession→SAML 2.0Security Assertion Markup Language 2.0→