tl;dr
Azure AD でログインフォームだけの Web アプリケーションを作ってシングルサインオンを試してみたのでメモ。用語の使い方や認識の誤り等あればご指摘いただければ幸いですmm
memo
参考
- https://blogs.msdn.microsoft.com/tsmatsuz/2014/12/23/azure-ad-web-sso-pa/
- https://blogs.msdn.microsoft.com/tsmatsuz/2014/01/16/azure-ad-google-apps-saas-app-access-enhancements/
ありがとうございます。
Password-based single sign-on と Federation-based single sign-on について
こちらより引用。
- Password-based single sign-on
Plug-in (extension) をブラウザーにインストールすることで、パスワードなどの入力を自動化し、シングル・サインオン (SSO) をおこなう方法です。 Azure AD は各ユーザーの情報を SaaS アプリにセットアップし、パスワードは Azure AD 側で一括で管理します
- Federation-based single sign-on
いわゆる SAML などの標準プロトコルを使ってフェデレーションをおこなう方法です。Plug-in のインストールも不要です。
構成
今回は以下のような構成で試す。
Web アプリケーション
は Heorku にアップロード済み。
# # アプリケーション作成 # $ heroku create oreno-app Creating ⬢ oreno-app... done https://oreno-app.herokuapp.com/ | https://git.heroku.com/oreno-app.git # # heroku に push # $ git push heroku master Counting objects: 33, done. Delta compression using up to 4 threads. Compressing objects: 100% (32/32), done. Writing objects: 100% (33/33), 3.49 KiB | 0 bytes/s, done. Total 33 (delta 11), reused 0 (delta 0) remote: Compressing source files... done. remote: Building source: remote: remote: -----> Ruby app detected (snip) remote: https://oreno-app.herokuapp.com/ deployed to Heroku remote: remote: Verifying deploy... done. To https://git.heroku.com/oreno-app.git * [new branch] master -> master
実際に URL にアクセスすると以下のようなトップページ。
適切なユーザー名とパスワードを入力すると以下のようなあたかもマイページのようなページにアクセスする。
Azure AD Premium を有効にする(必要があった)
- アプリケーションを登録するにあたって新しいポータル(https://portal.azure.com)で Azure AD Premium を有効にする必要があった
- https://azure.microsoft.com/ja-jp/pricing/details/active-directory/
- 今回は無償体験版を有効にした
Web アプリケーションをアクセスパネルにに登録するよ
ここからはほとんどスクショで。
- 旧ポータルより active directory を選択、今回は「既定のディレクトリ」を利用
- 「アプリケーション」タブを選択、[追加」を選択
- 「ギャラリーからアプリケーションを追加します」を選択
- 「カスタム」→「私の組織で使用している、一覧になりアプリケーションを追加」→「名前」にアプリケーション名を入力
- 「シングルサインオンの構成」を選択
- 「パスワードシングルサインオン」を選択
- 「サインオン URL」に Web アプリケーションの URL を入力(ログイン画面の URL を入力)
- 設定完了
- 「ユーザーとグループ」からシングルサインオンを割り当てたいユーザーを選択し、「割り当て」を選択
- Web アプリケーションの認証情報を入力する(今回はユーザー名:foo とパスワード:foo01 を入力する)
- myapps.microsoft.com にアクセスすると https://account.activedirectory.windowsazure.com/applications にリダイレクトされ、既に Azure ポータルにログインした状態だと以下のようにアクセスパネルが表示される(初回はブラウザの Extension のインストールを行う必要がある)
- Extension のインストール後、改めてアクセスパネルにアクセスすると以下のような状態となり、登録された Web アプリケーションのパネルをクリックすると...
- パスワードが自動的に入力され、Web アプリケーションにログインすることが出来た
以上
- 今更だけどシングルサインオン便利
- Azure AD の実力をほんの少し垣間見れた気がした
- Heroku が簡単過ぎてビックリした