ようへいの日々精進XP

よかろうもん

Azure AD で簡単な Web アプリにパスワードシングルサインオンしてみるよ

tl;dr

Azure AD でログインフォームだけの Web アプリケーションを作ってシングルサインオンを試してみたのでメモ。用語の使い方や認識の誤り等あればご指摘いただければ幸いですmm

memo

参考

ありがとうございます。

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 のインストールも不要です。

構成

今回は以下のような構成で試す。

f:id:inokara:20161016232650p:plain

Web アプリケーション

は Heorku にアップロード済み。

github.com

#
# アプリケーション作成
#
$ 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 にアクセスすると以下のようなトップページ。

f:id:inokara:20161016213345p:plain

適切なユーザー名とパスワードを入力すると以下のようなあたかもマイページのようなページにアクセスする。

f:id:inokara:20161016213401p:plain

Azure AD Premium を有効にする(必要があった)

Web アプリケーションをアクセスパネルにに登録するよ

ここからはほとんどスクショで。

f:id:inokara:20161016223839p:plain

  • 「アプリケーション」タブを選択、[追加」を選択

f:id:inokara:20161016223852p:plain

  • 「ギャラリーからアプリケーションを追加します」を選択

f:id:inokara:20161016223901p:plain

  • 「カスタム」→「私の組織で使用している、一覧になりアプリケーションを追加」→「名前」にアプリケーション名を入力

f:id:inokara:20161016223910p:plain

f:id:inokara:20161016223920p:plain

f:id:inokara:20161016223929p:plain

  • 「サインオン URL」に Web アプリケーションの URL を入力(ログイン画面の URL を入力)

f:id:inokara:20161016223937p:plain

  • 設定完了

f:id:inokara:20161016223948p:plain

  • 「ユーザーとグループ」からシングルサインオンを割り当てたいユーザーを選択し、「割り当て」を選択

f:id:inokara:20161016223959p:plain

  • Web アプリケーションの認証情報を入力する(今回はユーザー名:foo とパスワード:foo01 を入力する)

f:id:inokara:20161016224008p:plain

f:id:inokara:20161016224022p:plain

  • Extension のインストール後、改めてアクセスパネルにアクセスすると以下のような状態となり、登録された Web アプリケーションのパネルをクリックすると...

f:id:inokara:20161016224032p:plain

  • パスワードが自動的に入力され、Web アプリケーションにログインすることが出来た

f:id:inokara:20161016224045p:plain

以上

  • 今更だけどシングルサインオン便利
  • Azure AD の実力をほんの少し垣間見れた気がした
  • Heroku が簡単過ぎてビックリした