2017年8月22日火曜日

なぜ、「SSO」と「アクセス制御」、「ID管理」を組み合わせるのか?

Gluegentでは、シングルサインオン機能を提供するサービス Gluegent Gate を提供しています。Gluegent Gateは、同時に、対象サービスに対して「アクセス制御」をすることが出来、かつ、アクセスさせる利用者の情報の管理を一元的に行うことができます。今回は、なぜそのような機能が組み合わされて提供され、広く利用いただいているかを掘り下げてみようと思います。

 Gluegent Gate

Gluegent Gateの説明は難しい

Gluegent Gateを予備的な知識が無い方にご説明するのは、いつも苦労します。「統合ID管理基盤」と無理やり一言で言ったりもしますが、よくわかりません。Gluegent Gateは多くの機能を持ち、その使われ方や、期待することによって見え方が変わってくるからです。そういう場合、私達は「こういう事困ってませんか?」というような簡単な例をあげてご説明します。

    <お客様が抱えている課題例>
  1. 会社で使うサービスがいっぱいあって、利用者がそれぞれのパスワード覚えられなくて困ってる。
  2. クラウドサービスを使えるようにしたんだけど、社外の端末にデータが残るようなことがあると困るから事務所からだけ使えるようにしたい。
  3. 使ってるサービスが複数あるけど、人の出入りも激しくて、サービスへのID登録・削除が大変。

このような課題は、それぞれを見るとバラバラな内容ですが、Gluegent Gateが解決できる問題であり、それぞれの側面をよく表している課題です。 説明をする場合、私達のように提供する側からすると、「こういう機能があります」という機能の一覧となり勝ちですが、今回は、「困っていること」の方から、「これはこういう機能で解決できます」というアプローチを取ってみようと思います。

パスワードは一個覚えればOK

前述の1を解決する機能は、SSOです。シングルサインオン(SSO)は、一回認証するだけで、複数のサービスの利用ができるようになるということです。通常、それぞれのサービスでIDとパスワードを持っていて、それぞれで認証をすることになります。パスワードのポリシーが違ったり、IDで使える文字種が違ったり、それぞれ毎回ログインしないといけなかったり、利用者に対して、多大な負担を強いることになります。
パスワードは、使いまわされることになり、パスワード忘れが多くなり、管理者も毎回それに対応する必要があります。そのサービスが本来提供する機能を享受することと、管理コストを天秤にかけるようなことになります。
このような問題は、シングルサインオンが実現できれば、解決します。本来、それぞれのサービスがやるべきことは、別にあって、利用させるために「相手が正しくその人であること」を確かめるという認証処理は、そのサービスにとっては本質ではありません。それなら、他のサービスに認証を任せてしまえば良いのです。
Gluegent Gateでは、SAML2.0を中心として、各種サービスに個別に対応したSSOを提供します。そのサービス自体は認証を他に任せる機能がないという場合でも、「代理認証」という機能があります。これを使えば、SSOの仲間に加えることができます。(もちろん、入念な検証が必要です)

そのサービスを使える人をIPアドレスで制御します

前述2の課題については、多彩なアクセス制御の機能で解決します。クラウドサービスが多く提供され、どこでもいつでも仕事ができるようになってきました。素晴らしい世の中です。「自社に帰ってメールチェックしなきゃ」というようなことは随分昔の話だと思います。ただ、特定の人が特定のサービスを使うのは必ず自社からだけである必要があるような場合もあります。社外秘の情報を自宅のPCで見てほしくないわけです。会社のPCのセキュリティは万全でも、自宅のPCまでそのレベルで管理するのは困難です。
Gluegent Gateでは、IPアドレスや、時間帯など、多彩な要素で特定のサービスに対するアクセスを制限することができます。例えば、事務所のIPアドレスからだけ許可し、しかも、営業時間外のアクセスは禁止するというようなこともできます。また、特定の端末だけ許可したり、特定の証明書だけ許可するなど、アクセス制御の要素が豊富にありますので、様々なニーズに対応可能です。

IDの管理を一元化しましょう

前述3の課題については、Gluegent GateでIDの管理をすることで解決できます。社員が入社したら、Gluegent Gateにアカウントを作成し、利用させたいサービスにチェックを入れれば、そのサービスにアカウントが作成されます。対象サービスに対して、アカウントを作成しにいく機能は、「プロビジョニング」や「ID同期」と呼ばれます。Gluegent Gateでは、ID同期に対応しているサービスが多くあります。また、対象サービスでグループがあれば、グループの構成も同期可能なサービスもあります。(利用したいサービスで可能かどうかはお問い合わせください) また、Gluegent Gate自体はIDを管理せず、外部のディレクトリサービス(ADやLDAP)を源泉として、Gluegent Gateに登録されているサービスにID同期をすることもできます。 ID管理を一元化することで、各サービスの管理画面にログインして、入社した社員のためにアカウントを作成したり、退職者のために無効にしたりなどの、煩雑な作業から開放されます。

SSOとアクセス制御とID管理を一つのサービスで担う

前項までにご説明したことは、本来的には、単一の機能です。 SSOは、複数のサービスの認証を移譲される機能なので、認証情報と、誰にどのサービスを認可するかということがどこかのデータベースにあれば良いはずです。
また、アクセス制御は、誰がどのようなシチュエーションでどのサービスにアクセス可能かという情報を保持する機能です。
ID管理は、ID情報の保持と特定のサービスへのプロビジョニングの機能です。これ単体で考えると、認証もアクセス制御も関係ありません。アカウントがあるかどうか、アカウントの内容が適切であるかどうか、という点が関心事です。
ただ、これらを一つのサービスで担うことで、高度なセキュリティを確保した上で、ユーザに対しては、高い利便性を提供することができます。
SSO機能は、アクセス制御機能から、特定のユーザがそのサービスにアクセスして良いか確認して、認証および、認可します。また、それに前もってID管理機能によって、サービスにアカウントが作成されている必要があります。
あるいは、逆に考えると、退職者などのアクセスしては行けないアカウントは、ID管理機能によって即座に対象サービスで無効化され、SSO機能はそれをもって認証できなくします。

Gluegent Gateでは、SSO、アクセス制御、ID管理といった機能が連携し、多くのお客様の問題を解決してきました。ただ、クラウドサービスはこれからも増え続けるはずです。我々はこれからも様々なサービスに対応し、お客様のセキュアな利便性向上に貢献したいと考えています。今回ご説明した問題から外れた問題でも、解決まで一緒に考えさせていただきたいと思います。是非ご相談ください。

 Gluegent Gate