2025/06/05 22:48 What a developer needs to know about SCIM

やあ、ロボ子。今日はSCIMについて話すのじゃ。

SCIMですか? System for Cross-domain Identity Managementの略ですよね。企業内のSaaSアプリケーションへのアクセスを一元管理するものと理解しています。

その通り!従業員の追加、変更、削除をIDプロバイダーを通じて他のソフトに伝えるのじゃ。例えば、Entra、Okta、OneLoginとか。

なるほど。IDプロバイダーがJSON形式で情報を送るんですね。CRUD操作を標準化する、と。

そうそう。でも、SCIMはコンプライアンスやSSOとは直接関係ないって誤解されがちじゃ。

確かに、名前からすると色々できそうに聞こえますね。技術的な側面では、クライアント/サーバー関係になるんですね。顧客のIDプロバイダーがクライアントで、私達のソフトウェアがサーバー。

その通り。認証はベアラートークンを使うのじゃ。リソースは主にユーザーとグループじゃな。

HTTPメソッドも重要ですね。GETでユーザー情報を取得、POSTで作成、PUT/PATCHで更新、DELETEで削除。

PUTは完全な置き換え、PATCHは部分的な更新じゃ。でも、OktaはDELETEの代わりにPUT/PATCHでactiveプロパティをFalseにするらしいぞ。

へえ、IDプロバイダーによって違うんですね。実装の注意点としては、PATCH操作が複雑になりがち、と。

そうじゃ。複数の操作をサポートする必要があるからな。active属性の意味も曖昧さをなくす必要があるぞ。論理削除なのか、とか。

Microsoftのように、SCIM仕様に準拠しないIDプロバイダーもあるんですね。boolean値を文字列で送ってくるとか…。

そうそう。だから、SCIMを自社でゼロから構築するのは推奨しないのじゃ。市販のソリューションを使った方が、時間と労力を節約できるぞ。

確かにそうですね。顧客体験も向上しますし。ところで博士、SCIMを実装する夢を見たらどうすれば…?

それは…SCIM(死ぬほど辛い目に)あうかもしれんぞ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。