本稿執筆時点では、まだPreview版ですが、Windows Azure Active Directory(Azure AD)の機能にアプリケーション連携機能が追加され、Azure ADのアカウントにサインインするだけで、連携されたクラウドサービスにアクセスできるという、いわゆる「シングルサインオン機能」が実装されています。
Azure ADはOffice365などのアカウント管理を担っているサービスで、Office365などのマイクロソフトが提供するクラウドサービスを使用することによって自動的に作成されます。(それ以外にもAzure ADは色々な機能を持っているのですが、それについては別の機会で紹介します)
これから紹介するアプリケーション連携機能では、Azure ADのユーザーを作成し、アプリケーション連携の設定をしておけば、Azure ADのサインインだけで、追加のサインインをすることなく様々なアプリケーションにアクセスできるようになります。
このアプリケーション連携機能は200以上のアプリケーションと連携することができるそうで、連携方法は大きく次の2つの方法に分かれます。
・フェデレーションベースのシングルサインオン
ADFSでもおなじみのID連携機能を利用してシングルサインオンを実現する方法で、Azure ADにサインインすることによって生成されるトークンを利用し、様々なアプリケーションにアクセスする方法です。Office365に代表される実装方法です。
・パスワードベースのシングルサインオン
アクセスしたいアプリケーションのユーザー名とパスワードをあらかじめAzure ADに登録しておき、Azure AD経由で各アプリケーションにアクセスするときに、格納しておいたユーザー名とパスワードを自動的に利用する方法です。
この方法は厳密には「シングルサインオン」とは言いませんが、今回紹介する機能の中では多くのアプリケーションがこの連携方法で実現します。
今日はこの2つの方法のうち、パスワードベースのシングルサインオンによるアプリケーション連携を紹介します。
■ ■ ■
大まかなステップは次のとおりです。
1.Windows Azureを契約する
2.Windows Azure Active Directoryテナントを作成する
3.Application Access Enhancements機能を有効にする
4.連携するアプリケーションを設定する
5.アプリケーションへのサインイン
さあ、始めましょう。
Windows Azureを契約する
Windows Azureのテナントを持っていない方はこちらにアクセスして取得しておきましょう。
Windows Azure Active Directoryテナントを作成する
Azure ADのアカウントはデフォルトでWindows Azureと別々に管理されています。
そのため、Windows Azureのポータルサイトにアクセスし、左ペインの[Active Directory]をクリックして、
Azure ADテナントを持っている人はWindows Azureとの関連付けを新規ボタンから、
Azure ADテナントを持っていない人はWindows AzureからAzure ADテナントの作成を追加ボタンから行います。
Application Access Enhancements機能を有効にする
最初にも書きましたが、本稿執筆時点ではアプリケーション連携機能はプレビュー版なので、連携機能を使うためには有効化の設定が必要です。設定は以下のURLにアクセスし、
■Windows Azureプレビュー機能一覧
https://account.windowsazure.com/PreviewFeatures
Application Access Enhancementsの[try it now]をクリックします。
(下の画面はクリックした後の画面です)
連携するアプリケーションを設定する
Azure ADのアカウントでアクセスするアプリケーションを登録します。
先ほどのWindows Azureのポータルサイトに戻り、前の手順で作成(関連付け)した
Azure ADテナントをクリックし、テナントの画面から[アプリケーションの追加]をクリックします。
続く画面で連携するアプリケーションを指定します。
200以上のアプリケーションがあるのは驚きですが、実際には日本であまりなじみがないアプリケーションばかりです。メジャーなところでは、Office365、SkyDrive、Google Apps、Salesforce、Amazon Web Services、Dropbox for Business、Wordpress、Twitter、Yammer、Evernote、Facebookなどがありました。
ここではFacebookを登録します。
続く画面で、[ユーザーの割り当て]をクリックし、Facebookアカウントを関連付けるユーザーを指定します。
関連付けるAzure ADアカウントを選択して[アクセスの有効化]をクリックします。
[ユーザーの代わりにFACEBOOK資格情報を入力する]にチェックをつけ、Facebookにアクセスするための資格情報を入力します。
設定が完了し、先ほどの画面に戻ると有効化されたアクセスの欄が[はい]に変わっていることが確認できます。
アプリケーションへのサインイン
Azure ADアカウント経由でアプリケーションにアクセスするには、(当然ですが)Azure ADアカウントで一度サインインする必要があります。Windows Azureでは「アプリケーションパネル」と呼ばれる、アプリケーションアクセス用のポータルサイトがあるので、サイトにアクセスしサインインします。
■アプリケーションパネル
https://account.activedirectory.windowsazure.com/applications
ポータルサイトにアクセスすると、アクセス可能なアプリケーション一覧が表示されます。ここではFacebookを選択します。
ところが、初回だけPassword SSO PluginというIEのプラグインツールのインストールを求められます。指示に従って[今すぐインストール]をクリックすると、下の画面にあるようなウィザード画面が登場します。順にNextをクリックしてインストールします。
インストールが完了すると、以下の画面が出るので、[有効にする]をクリックしてプラグインを有効にします。
インストールが終わったら、もう一度アプリケーションパネルにアクセスし、Facebookのリンクをクリックします。するとFacebookのログインページにリダイレクトされます。ユーザー名とパスワードと最初から入った状態になっているので、ログインボタンを押すだけでアクセスできるようになります。
まとめ
パスワードベースのシングルサインオンでは、Azure ADに資格情報を保存しておいて、見かけ上は一回のサインインでアクセスできるようにする、「シングルサインオン風」のサービスを提供するものです。パスワードを自分の頭以外のどこかに保存してある状態というのはセキュリティ上、褒められたやりかたではないですし、だからこそID連携という技術があるのです。
しかし一方で、ID連携の実装は敷居が高いと感じる管理者の人もいるでしょう(敷居を下げるための活動をしているつもりなのですが..)。そのような場合に一時しのぎのサービスとしてパスワードベースのシングルサインオンによるアプリケーション連携の機能がある、と私は考えています。