とはいえ、まだAppFablicは未だCTPで、.NET Access Control ServiceでのSTS(Security Token Service)指定周りの仕様も柔らかい状態っぽいので、今出来ることという意味でAzure上でWIF(Windows Identity Foundation)+ADFS2.0の環境を動かしてみました。
また、同様にオンプレミスアプリケーションとしてWIF+ADFS2.0の環境を作り、結果的にオンプレミスアプリケーションとAzure上のアプリケーションのPassive FederationでのSSOが出来るような環境を作ってみます。
結果として、STS(ADFS2.0)で認証され、
オンプレミスアプリケーションにアクセスした状態で
そのまま(認証なしで)Azure上のアプリケーションへアクセスします。
少々長くなるので、下記のような構成でお送りいたします。
1.環境の準備
今回用意した環境と各コンポーネントのセットアップ方法の解説を行います。
2.オンプレミスのアプリケーションを作成・発行する
以前も一部解説しましたが、WIFがRCになって一部コードも変更になりましたので、改めてコードの解説をします。
3.Azure上のアプリケーションを作成・発行する
基本的にオンプレミスのアプリケーションと同一コードで動きますが、Azure上での動作ならではの設定がありますので、そのあたりを重点的に解説します。
また、Windows Azure Hosted Serviceに関する設定やデプロイについても解説します。
4.シングルサインオンしてみる
作成した環境で実際に同じセキュリティトークンを使ったシングルサインオンが出来ることを確認します。
ということで今回は「1.環境の準備」をお送りします。
◆環境概要
今回用意したのは下記の2台のマシン(仮想マシン)です。
サーバ | 役割 | OS | ミドルウェア | 備考 |
STSサーバ | 認証、セキュリティトークンの発行を行う | Windows Server 2008 R2 | ADFS2.0 RC | ドメインコントローラも兼ねる |
オンプレミスアプリケーションサーバ | オンプレミスアプリケーションをホストする | Windows 7 Ultimate(x64) | ・IIS ・Visual Studio 2008 Standard Edition SP1 ・Windows Identity Foundation 1.0 ・Windows Identity Foundation SDK ・Identity Developer Training Kit(PDC2009) ・Windows Azure Tools for Microsoft Visual Studio (November 2009) | 開発環境も兼ねる |
◆STSサーバのセットアップ
下記の流れでセットアップを行います。(Geneva Serverに比べて大分楽になりました)
1.OSのインストール
2.ADDSの役割追加
※DNSは自動で追加
3.ADFSのインストール
※WIF、IIS、PowerShellは自動で追加
4.IISで自己証明書の発行
5.ADFSのIdP設定
※ちなみにWIFおよびADFS2.0は更新プログラムとしてインストールされます。
WIF:KB974405
ADFS2.0:KB974408
※ADFS2.0からSQL Serverを使わずにWindows Internal Databaseをレポジトリに使うことが出来るようになりました。(デフォルトはWindows Internal Databse)
では、具体的な手順です。
1.OSのインストール
2.ADDSの役割追加
※DNSは自動で追加
このあたりはいつも通りで。ちなみに今回の環境は、
ドメイン名:eidentity.local
ドメインコントローラ名:ADFS20.eidentity.local
です。
3.ADFSのインストール
インストーラを実行すると、自動的に必要な環境(IISやPowerShell、Windows Internal Database)を含め整備されます。
インストール時に選択する項目は「Server Role」のみで、Federation serverとしてセットアップするか、Federation server proxyとしてセットアップするかを選択します。今回はFederation serverとしてセットアップします。
インストールが完了するとADFSの管理コンソールが起動してきますが、実際の設定に入る前にIIS管理コンソールで自己証明書を作成して構成しておく必要があります。
今回は「adfs20.eidentity.local」というフレンドリ名で作成しています。
次にADFSのサーバ設定を実行します。
管理コンソールから「ADFS2.0 Federation Server Configuration Wizard」を実行します。
以下の値を設定/選択します。
ステップ | 選択する値 | 備考 |
Welcome | Create a new Federation Service | 今回は既存のファームへの追加ではなく新規でサーバを構成します。 |
Select Deployment Type | Stand-alone federation Server | ADFS2.0からサーバファームを構成することが出来ますが、今回は単体で構成します。 |
Federation Service Name | SSL certificateおよびFederation Service nameに先ほど作成した自己証明書を設定(一つしかインストールされていないので選択不可) |
設定が完了するとRelying partyの設定を要求されますが、これはアプリケーションを作ってから設定するのでこの段階では放置しておきます。
◆オンプレミスアプリケーションサーバ(兼開発環境)のセットアップ
下記の流れでセットアップを行います。
1.OSのインストール
ドメインへの参加およびIISの役割追加を行います。
2.Visual Studio 2008、SP1のインストール
C#、VB.NET、Web開発のインストールを行います。
3.WIF、WIF SDKのインストール
4.Identity Developer Training Kit(PDC2009)のインストール
Azure上へデプロイする際の証明書を作成するのにネイティブ暗号化API(CAPICOM)を使います。もちろん単独でCAPICOMをダウンロードして手動で作成しても良いのですが、Training Kitにバッチファイルがあるのでそれを流用しました。
5.Windows Azure Tools for Microsoft Visual Studio (November 2009)のインストール
ただ、こちらはこの段階で特に込み入った設定をする必要もないので、順番にインストールをしていきます。
とりあえずここまででローカルに必要な環境は揃いましたので、次回はまずオンプレミスのWIF/ADFS連携のクレームベースのWebアプリケーションを作成します。
0 件のコメント:
コメントを投稿