2021年9月29日水曜日

【5分で分かる】信頼できる唯一の情報源とIDaaS

こんにちは、サイオステクノロジーGluegentサービスラインのジャレド・ウォレスです。今日は情報システムデザインのコンセプトである「信頼できる唯一の情報源」(英:single source of truth、またはSSOT) とIDaaS(Identity as a Service)またはアイデンティティプロバイダーとの関係について話していきたいと思います。

「信頼できる唯一の情報源」とは

名前の通り、信頼できる唯一の情報源(以降 SSOT)というのは複数のシステムに使われる情報の管理に対して源がひとつだけ存在することを意味します。つまり、情報源ではないシステムのレコードは情報源を参照している状態になります。この仕組みはシステムによって異なりますが、ほとんど考えられる場合は同期を行うことで実現されています。また、広義では、SSOTは限られたシステムにしか適応されていないソリューションより、システムデザインと管理上の心理概念のようなものと言えます。

少し分かりにくいと思いますので具体例を見ていきましょう。例えば、とある会社が顧客の住所や連絡先などの基本情報を入力する必要がある二つのシステム、システムAとシステムB、を利用しているとします。この情報の記録は別々で行われ、更新する必要があった際に各システムで更新している場合、SSOTを実現していないということになります。一方、SSOTを実現している場合には、単一の情報源で更新をすれば両方のシステムに反映されることになります。

IDaaSとの関係

では、この信頼できる唯一の情報源はIDaaSとどう関係しているのでしょうか。IDaaSシステムの主な魅力になるクラウドサービスやシステムとSSOやID同期連携されているのがほとんどであり、IdPが同期情報の情報源になります。その背景の上、よくいただく質問は「どうして同期先のユーザー・グループ変更をIdP側の情報に同期できないのですか?」という質問です。確かに同期先サービスではそのためのUIが用意されていますし、そちら側でユーザーなどの情報を更新できた方が自然で便利でしょうという意見は、物凄く理解できます。しかし、IdPから対象のサービスの同期が一方通行になっているのには訳があります。皆さんもお気づきだと思いますが、上記のような動きがSSOTの概念違反になり、残念ながら実現することは可能かもしれないとはいえおすすめできません。なぜならば、管理が難しく想定外の様々な問題が発生してしまう可能性が高いからです。実際どんな問題が起こる可能性があるか、そしてSSOT概念がどうやってこのような問題を防ぐか、具体的に見ていきましょう。

① システムごとに管理者権限が同じとは限らない

気づくと当たり前に聞こえますが、同期先のクラウドサービスのユーザーがそのサービスの管理者権限を持っていたとしても、そのユーザーがIdPにも管理者権限を持っていて、かつユーザー・グループなどIdPの同期対象のリソースを更新しても、IdPに害はないという保証はありません。であれば、仮にクラウドサービスではそのような処理が行われ、IdP側の更新が要求された場合にはどのように処理すればよいのでしょうか。そもそもそのような処理の発生を防ぐ以外に、シンプルな、または完全に満足できるソリューションはないと思います。SSOTの概念に従えば、管理者の権限が明確になり、IdP側の同期対象リソースの更新を信頼し、上記の現象をシンプルに防げます。

② 更新履歴は同期元のサービスで確認しなければならない

こちらの問題は分かりやすく、様々なサービスで更新ができてしまえばその履歴情報がバラバラになってしまい、同期対象のサービス多いほど追うのが困難になります。SSOT概念を実現していれば全ての更新が情報源(IdP)の更新履歴に残り、想定外の何かがあった場合に特定するのが大分楽になります。

③ 連鎖同期が発生してしまう

具体例から説明していきますと、IdPがサービスAとサービスBの複数のクラウドサービスにID同期連携している状態であれば、サービスAで行った処理がIdPに同期され、それがさらにIdPから別のサービスであるサービスBに同期される「連鎖同期」が発生してしまいます。仮に①のように権限周りに問題はないと思っているかもしれませんが、エラーが発生してしまったケースを考えてみましょう。サービスAで同期対象を更新し、IdPに同期処理がかかった時にエラーが発生しました。その場合には、当然、サービスBにその同期処理がかかってこないことになります。しかしSSOTで管理していればひとつの同期先が失敗しても、他の同期先サービスに情報が問題なければそのまま同期され、より想定内で理想な状態になります。

いかがでしたでしょうか。弊社のIDaaS製品Gluegent Gateも様々なクラウドサービスとID同期やSSO連携が実現できますので、是非御社でも信頼できる唯一の情報源として利用をおすすめします。ご興味を持った方は是非ご検討くださいますようお願い致します。
Jared Wallace