社内システムのほとんどは、Active Directoryでユーザー管理を行っているはず。クラウドサービスのユーザー管理でもActive Directoryを使いたいというのは、当然の要望だと言えます。これを可能にするのが「AD連携」。その“賢い実現方法”を紹介します。
ID同期だけでは「パスワードの使い回し」と同じリスクが
これまで多くの社内システムは、Microsoft Active Directoryによって統合的なユーザー管理を実現してきました。しかし最近では、ビジネスシーンでのクラウドサービス利用が拡大することで、新たな問題が生じるようになっています。それは、クラウドサービスのユーザー管理をどのように実施するか、ということです。
すでにActive Directoryで社内システムのユーザーIDを管理しているのであれば、「クラウドサービスでもActive Directoryで管理しているIDとパスワードを使用したい」という要望が、当然ながら出てくるはずです。これによって新たなIDやパスワードを憶えることなく、社内システムの延長のようにクラウドサービスを利用できるからです。
単にActive Directoryと同じIDとパスワードを使用するだけであれば、Active Directoryのアカウント情報をエクスポートし、それをクラウドサービスにインポートする、という方法が考えられます。しかしこの方法では、パスワード変更のたびにエクスポート/インポートの作業が必要になり、管理が煩雑になります。
これよりも一歩進んだアプローチとしては、ディレクトリ同期ツールを使う、という方法があります。これならActive Directoryに登録されているIDとパスワードの情報が、一定時間毎に自動的にクラウドサービスへと同期されるようになります。
しかしこれらの方法は、あくまでも「社内システムと同じID/パスワードをクラウドサービスでも利用可能にする」だけであり、認証プロセスを統合したわけではありません。もし社内システムのID/パスワードが漏洩すれば、社外の第三者がそのID/パスワードを使用し、クラウドサービスにアクセスすることが可能になります。つまり「パスワードの使い回し」と同様のリスクを抱えてしまうことになるのです。
サービストークンで安全なAD連携を可能にするADFS
この問題を解決するには、認証プロセスそのものも統合しなければなりません。つまり社内システムとクラウドサービスへのログオンを個別に行うのではなく、「社内システムにログオンすることでクラウドサービスの利用も可能」にする必要があるのです。
そのための仕組みが「Active Directory Federation Services(ADFS)」です。例えばOffice 365でADFSを使用した場合、認証プロセスは以下のようになります。
- クライアントがOffice 365へアクセスすると、Office 365はクライアントに対し、アクセスを許可するための「サービストークン」を要求します。その上でクライアントは、クラウド側にあるMicrosoft Federation Gatewayへとリダイレクトされます。
- Microsoft Federation Gatewayは、クライアント側の社内システムに設置されたADFSサーバーへと、クライアントをリダイレクトします。
- ADFSサーバーは、クライアントに資格情報を提供するように要求します。すでにドメインに参加(Active Directoryにログオン)している場合には、クライアントはその時に取得した情報をADFSサーバーに返します。
- ADFSサーバーは、Active Directoryに問い合わせを行い、資格情報の正当性を確認します。その上でSAMLのログオントークンを生成し、Microsoft Federation Gatewayへと送信します。
- Microsoft Federation Gatewayはトークンの内容を確認し、署名済みのサービストークンへと変換した上で、クライアントに渡します。 クライアントはこのサービストークンをOffice 365へと送信します。Office 365はこのサービストークンがMicrosoft Federation Gatewayによって署名されていることを確認した上
- で、ユーザーアクセスを許可します。
この方法であれば、Active Directoryでのログオンを行うだけで、Office 365にもアクセス可能になります。インターネット上にID/パスワード情報が流れることもないため、安全性も高いといえます。
ADFSでは多数のサーバーが必要、この問題を解決するには?
しかしこの方法にも問題があります。ADFSサーバーやADFSプロキシ、DirSync、ForeFront等、複数のサーバーを社内に立ち上げなければならないからです。必要となるサーバーの台数は組織の規模などにもよりますが、2〜8台程度は必要になります。せっかくクラウドによって社内サーバーを減らせると思ったら、逆にサーバー数が増えてしまう結果になってしまうのです。
この問題も解決したいのであれば、OneLoginの活用がお薦めです。
OneLoginはクラウドベースで提供されるシングルサインオン(SSO)のサービスであり、Active Directoryとの連携もサポートしています。社内システムに必要なのは、Active Directoryに「OneLogin Active Directory Connector(ADC)」を導入することだけです。サーバーを追加する必要はありません。
Office 365だけではなく、他のクラウドサービスや各種WebアプリケーションでもSSOを実現できます。ADFSの認証プロセスに対応していないサービスでも、Active DirectoryによるSSOに参加させることが可能になるのです。
これならビジネスで使用するクラウドサービスの種類が増えても、ユーザーIDの一元管理を容易に行なえます。もちろんサービス毎にID/パスワードを憶える必要がないため、ユーザーの利便性も向上します。