先週8/25-27でTechEd Japan 2010に参加してきました。
今回は単なる聴講だけではなく、BoF (Birds of Feather) とLT (Lightning Talk) にも軽く参加させてもらいました。
LTはいずれマイクロソフトのサイトで資料公開されると思いますが、BoFについては資料は公開されないそうなので、こちらで公開しておきます。Silverlight Squareの@hr_saoさんとのコラボです。
内容を簡単に紹介しておくと、SilverlightアプリケーションからWIFを使って外部システム(ADFS2.0等)で認証を行うには、という話です。
利用シーンとして企業間のアプリケーション共有を想定しており、
・アプリケーションオーナーとなる企業から利用者となる企業のID管理をしたくない
(これまではアプリケーションオーナーが全利用者のIDを管理していたが、本当は他の企業のユーザの管理はしたくない・・・)
→WIF+ADFS、ADFSのIdP連携
・利用者はブラウザ特有のオペレーションではなく、もっとリッチなインターフェイスでアプリケーションを使いたい
→Silverlightアプリケーションを使う(デモではインブラウザーを見せましたが、本当はブラウザ外実行をお見せしたかったです。今回は時間切れです。。。)
というシナリオでデモをしました。
詳細はスライドを見ていただければと思いますが、実際に環境を作る際に苦労したのはSilverlightから直接WIFを呼ぶことができないため、WCFのサービスでWIFをラッピングする仕掛けを作って、Silverlightからはそのサービスを呼び出す形にする必要があった点です。
まぁWIFの実装を含め細かい話はこの本にちょっと期待してます。
次にLTですが、資料は公開される見通しですが実はあんまり資料をベースに話をしていないので、ざっくり内容を。
テーマは「Azure上のアプリケーションへのシングルサインオン」ということでWindows Azure上にデプロイしたWIFを使ったアプリケーションとGoogle Apps (GMail)のSSOのデモと、逆にAppFabric Access Control Service (新しい方)を使ってWindows Azure上にデプロイしたWIFアプリケーションからGoogleの認証システムを使う、という2つのデモを紹介しました。
一つ目のデモはできればPCを使わずに、と思っていたのでDell StreakというAndroid OSで動く端末を使いたかったのですが、プロジェクターへの投影の関係で事前に撮影したムービーを紹介しました。
[ムービー]
一応資料も。
こちら(LT)では@tatsuakisakaiさん特別賞?として、「Windows Azureアプリケーション開発入門」をいただきました。
何にせよ非常に充実した3日間でした。
オンラインでは知っている人に初めてオフラインでお会い出来たりしましたし。
あと、BoFのセッションでもお話ししましたが今後はブラウザ外実行しているSilverlightの認証についても試してみたいので、本Blogでも情報のアップデートをしていきたいと思います。
2010年8月30日月曜日
2010年8月18日水曜日
Forefront Identity Manager 2010関連リソース
最近は本業?のForefront Identity Manager 2010よりもAD FS2.0やAppFabric ACSなどどちらかというとアイデンティティ情報のライフサイクル管理をする方ではなく、アイデンティティ情報を利用する方ばかりに注力していましたが、たまにはFIMの話題も。。。。
4月に正式リリースされてからもうすぐ半年が経とうとしていますので、そろそろ有用なナレッジも蓄積て来ています。
今日はそれらのナレッジや有用なリソースへのポインタを紹介します。
まずはナレッジではないのですがFIMの提案や設計資料を書くのに有用な素材です。
・FIM ExpertのLiveSpace
http://cid-b905f742cf6d28e2.office.live.com/documents.aspx
サーバアイコン集やアーキテクチャ図のPPTXファイルやVISIOのステンシルがあります。

・1dent1ty cHa0s/MVP Brad Turnerさんのblog
http://www.identitychaos.com/2010/07/fim-2010-standard-objects-visio-stencil.html
FIM2010の標準オブジェクト(SETやワークフロー部品など)のVISIOステンシルがあります。

次に、母体はTechnetフォーラムですが、たまったナレッジをまとめたものが何点かあります。
・FIM Expert Corner
http://social.technet.microsoft.com/Forums/en-US/ilm2/thread/2c0d4e9c-aeeb-45e4-8f47-be1f2fab6158
・FIM Knowledge Bit Collection
http://social.technet.microsoft.com/Forums/en-US/ilm2/thread/3652c6bd-25d8-42da-9bb6-17cf868781cc
・FIM Wiki
http://social.technet.microsoft.com/wiki/contents/articles/current-forefront-identity-manager-resources.aspx
・Community Knowledge Box(オフラインヘルプ)
http://code.msdn.microsoft.com/FIMScriptbox/Release/ProjectReleases.aspx?ReleaseId=3045
後は、やはり世界的に見ても結構注目されているらしいFIMの青本です。
以前blogで紹介して以降、海外のFIM関係者の方々から結構な数の問い合わせや彼らのblogでの紹介もされています。(私が執筆に全く絡んでいないので何とも言えませんでしたが・・・)
上記の書籍を紹介したときにMVPのDavid Lundellさんから「実はオレも書いてるんだよ!」という話があったのですが、ようやく日の目を見ることになりそうなので、最後に紹介しておきます。
「FIM Best Practices Volume 1:Introduction, Architecture And Installation Of Forefront Identity Manager 2010」
内容は
1.What is Identity Management?
2.Forefront Identity Manager 2010
3.FIM Architecture
4.FIM Installation Topologies
5.Sizing Your FIM Installation
6.Installing the Prerequisites
7.Installing FIM
8.Updating the FIM Components
9.Post Install Tasks
とかなり実用的に見えます。
しかも、「Volume 1」ということで続編があります。
・Volume 2:
Using Forefront Identity Manager 2010 to Provision, Deprovision, Synchronize and provide Self-Service
・Volume 3:
Microsoft Forefront Identity Manager 2010 Operations and DBA Guide
・Volume 4:
Go Codeless -- Digging Deep with Advanced Features in Microsoft Forefront Identity Manager 2010
・Volume 5:
Got Code? Customizing Microsoft Forefront Identity Manager 2010 with .NET Code
リリースが楽しみです。というか誰か日本語に翻訳を!と思ってしまいます。
4月に正式リリースされてからもうすぐ半年が経とうとしていますので、そろそろ有用なナレッジも蓄積て来ています。
今日はそれらのナレッジや有用なリソースへのポインタを紹介します。
まずはナレッジではないのですがFIMの提案や設計資料を書くのに有用な素材です。
・FIM ExpertのLiveSpace
http://cid-b905f742cf6d28e2.office.live.com/documents.aspx
サーバアイコン集やアーキテクチャ図のPPTXファイルやVISIOのステンシルがあります。

・1dent1ty cHa0s/MVP Brad Turnerさんのblog
http://www.identitychaos.com/2010/07/fim-2010-standard-objects-visio-stencil.html
FIM2010の標準オブジェクト(SETやワークフロー部品など)のVISIOステンシルがあります。

次に、母体はTechnetフォーラムですが、たまったナレッジをまとめたものが何点かあります。
・FIM Expert Corner
http://social.technet.microsoft.com/Forums/en-US/ilm2/thread/2c0d4e9c-aeeb-45e4-8f47-be1f2fab6158
・FIM Knowledge Bit Collection
http://social.technet.microsoft.com/Forums/en-US/ilm2/thread/3652c6bd-25d8-42da-9bb6-17cf868781cc
・FIM Wiki
http://social.technet.microsoft.com/wiki/contents/articles/current-forefront-identity-manager-resources.aspx
・Community Knowledge Box(オフラインヘルプ)
http://code.msdn.microsoft.com/FIMScriptbox/Release/ProjectReleases.aspx?ReleaseId=3045
後は、やはり世界的に見ても結構注目されているらしいFIMの青本です。
以前blogで紹介して以降、海外のFIM関係者の方々から結構な数の問い合わせや彼らのblogでの紹介もされています。(私が執筆に全く絡んでいないので何とも言えませんでしたが・・・)
上記の書籍を紹介したときにMVPのDavid Lundellさんから「実はオレも書いてるんだよ!」という話があったのですが、ようやく日の目を見ることになりそうなので、最後に紹介しておきます。
「FIM Best Practices Volume 1:Introduction, Architecture And Installation Of Forefront Identity Manager 2010」
内容は
1.What is Identity Management?
2.Forefront Identity Manager 2010
3.FIM Architecture
4.FIM Installation Topologies
5.Sizing Your FIM Installation
6.Installing the Prerequisites
7.Installing FIM
8.Updating the FIM Components
9.Post Install Tasks
とかなり実用的に見えます。
しかも、「Volume 1」ということで続編があります。
・Volume 2:
Using Forefront Identity Manager 2010 to Provision, Deprovision, Synchronize and provide Self-Service
・Volume 3:
Microsoft Forefront Identity Manager 2010 Operations and DBA Guide
・Volume 4:
Go Codeless -- Digging Deep with Advanced Features in Microsoft Forefront Identity Manager 2010
・Volume 5:
Got Code? Customizing Microsoft Forefront Identity Manager 2010 with .NET Code
リリースが楽しみです。というか誰か日本語に翻訳を!と思ってしまいます。
2010年8月17日火曜日
TechEd2010 見どころセッション
いよいよTechEdが来週に迫ってきました。今年はクラウド一色と言っていいほどAzureやOnline Servicesのセッションが目白押しです。
中でもクラウド x アイデンティティ = フェデレーションということでAD FS 2.0関連のセッションは個人的には要注目だと思っています。
■AD FS 2.0関連のテクニカルセッション
8/25 15:20~16:30
T1-304 次期 Microsoft Online Services の ID およびアクセス管理 ~ AD FS 2.0 によるシングル サインオンの実現 1 ~
8/26 16:55~18:05
T3-304 AD FS 2.0 のアーキテクチャと Windows Azure 連携の実装 ~ AD FS 2.0 によるシングル サインオンの実現 2 ~
また、一つだけですがFIM関連のセッションもあります。AD FSなどのIdPの情報鮮度を保つためには重要な機能です。
■FIM関連のテクニカルセッション
8/27 16:55~18:05
T3-302 ポリシー ベースで ID 管理を実現する! ~ Forefront Identity Manager 2010 実践的構築手法 ~
後、僭越ながら私もBoF(Birds of a Feather)とLT(ライトニング・トーク)で登壇させていただきます。いずれもAD FS 2.0とWIF(Windows Identity Foundation)関連ですが、デモも交えていろいろとお見せできれば、と思っています。
■BoF (Birds of a Feather)
8/27 10:55~12:05
BOF-09 Silverlight と WIF (Windows Identity Foundation) のアプリケーション連携
Silverlightアプリケーションの認証を外部AD FS2.0で実施するにあたり WIF をどのように使うか?という点を実際のコードや環境を交えて解説したいと思います。
ポイントは IdP を2つ用意して異なる企業間での認証連携を行うところ、および意外と面倒くさいSilverlightアプリケーションの認証の解説だと思っています。
ちなみにSilverlightSquareの@hr_saoさんとのコラボです。
■LT (ライトニング・トーク)
8/27 16:55~18:05
LT-03 Azure 上のアプリケーションとのシングル サインオン!
こちらは本blogでも紹介したネタ(これやこれ)をベースにデモを中心に動きを解説したいと思います。
出来ればWindowsクライアントじゃない端末を使ってデモが出来れば、、と色々と画策中です。
中でもクラウド x アイデンティティ = フェデレーションということでAD FS 2.0関連のセッションは個人的には要注目だと思っています。
■AD FS 2.0関連のテクニカルセッション
8/25 15:20~16:30
T1-304 次期 Microsoft Online Services の ID およびアクセス管理 ~ AD FS 2.0 によるシングル サインオンの実現 1 ~
8/26 16:55~18:05
T3-304 AD FS 2.0 のアーキテクチャと Windows Azure 連携の実装 ~ AD FS 2.0 によるシングル サインオンの実現 2 ~
また、一つだけですがFIM関連のセッションもあります。AD FSなどのIdPの情報鮮度を保つためには重要な機能です。
■FIM関連のテクニカルセッション
8/27 16:55~18:05
T3-302 ポリシー ベースで ID 管理を実現する! ~ Forefront Identity Manager 2010 実践的構築手法 ~
後、僭越ながら私もBoF(Birds of a Feather)とLT(ライトニング・トーク)で登壇させていただきます。いずれもAD FS 2.0とWIF(Windows Identity Foundation)関連ですが、デモも交えていろいろとお見せできれば、と思っています。
■BoF (Birds of a Feather)
8/27 10:55~12:05
BOF-09 Silverlight と WIF (Windows Identity Foundation) のアプリケーション連携
Silverlightアプリケーションの認証を外部AD FS2.0で実施するにあたり WIF をどのように使うか?という点を実際のコードや環境を交えて解説したいと思います。
ポイントは IdP を2つ用意して異なる企業間での認証連携を行うところ、および意外と面倒くさいSilverlightアプリケーションの認証の解説だと思っています。
ちなみにSilverlightSquareの@hr_saoさんとのコラボです。
■LT (ライトニング・トーク)
8/27 16:55~18:05
LT-03 Azure 上のアプリケーションとのシングル サインオン!
こちらは本blogでも紹介したネタ(これやこれ)をベースにデモを中心に動きを解説したいと思います。
出来ればWindowsクライアントじゃない端末を使ってデモが出来れば、、と色々と画策中です。
2010年8月11日水曜日
新AppFabric ACSでサードパーティIdPと認証連携
現在ラボ公開された新AppFabricのACSがGoogleやFaceBookなどのサードパーティIdPに対応したということで早速試してみました。
その前にAppFabricの新機能ですが、主要な点として
・WIF(Windows Identity Foundation)との統合
・Windows Live ID、Google、Yahoo、FaceBookをIdPとしてサポート
・同じくAD FS2.0をIdPとしてサポート
・OAuth WRAP、WS-Trust、WS-Federationプロトコルのサポート
・SAML1.1、SAML2.0、SWT(Simple Web Token)トークンのサポート
・カスタマイズ可能なホームレルムディスカバリ(どのIdPで認証されるか)の統合
・ACS設定をODataベースで管理可能
・ACS設定を行うWebポータルを用意
というものが挙げられています。
今回上記の中で特にサードパーティのIdPとの連携を試してみたいと思います。
仕組みとしては、下記の図のような形になります。

その前にAppFabricの新機能ですが、主要な点として
・WIF(Windows Identity Foundation)との統合
・Windows Live ID、Google、Yahoo、FaceBookをIdPとしてサポート
・同じくAD FS2.0をIdPとしてサポート
・OAuth WRAP、WS-Trust、WS-Federationプロトコルのサポート
・SAML1.1、SAML2.0、SWT(Simple Web Token)トークンのサポート
・カスタマイズ可能なホームレルムディスカバリ(どのIdPで認証されるか)の統合
・ACS設定をODataベースで管理可能
・ACS設定を行うWebポータルを用意
というものが挙げられています。
今回上記の中で特にサードパーティのIdPとの連携を試してみたいと思います。
仕組みとしては、下記の図のような形になります。

では、早速試してみます。
まずは、AppFabricのラボポータルへアクセスします。
https://portal.appfabriclabs.com/
まずはLiveIDで認証された後、通常のWindows Azureなどと同じように名前空間の登録やリージョンを設定し、プロジェクトを作成します。

まずは、AppFabricのラボポータルへアクセスします。
https://portal.appfabriclabs.com/
まずはLiveIDで認証された後、通常のWindows Azureなどと同じように名前空間の登録やリージョンを設定し、プロジェクトを作成します。
次に、作成したプロジェクトのAccess Control Serviceの設定を行います。
プロジェクト内のAccess Control Serviceを選択すると下記の画面が出てくるので、[Manage]をクリックします。

実はこのACSの管理ポータル自体もACSをIdPとして設定されたアプリケーションなのでサインインするためのIdPの選択画面が出てきます。初めてのアクセスだとWindows Live IDしか設定されていないので、ここはWindows Live IDでサインインします。
すると、Access Control Service自体の設定を行うアプリケーションが出てきます。
ここで以下の項目の設定が可能です。
Trust Relationship
・Identity Providers
→IdPの設定を行します。
・Relying Party Applications
→RP(アプリケーション)を設定します。
・Rule Groups
→Claimのマッピングルールを設定します。
Service Settings
・Certificates and Keys
→証明書などの設定を行います。
・Service Identities
→名前空間内のサービスIDなどの設定を行います。
Application Code
・Application Integration
RPのアプリケーションにACSを統合する際に使用するパラメータ等があります。

それぞれ順番に設定を行って行きたいと思います。
1.Identity Providers
Add Identity Providersをクリックすると以下の画面が出てきます。

プロジェクト内のAccess Control Serviceを選択すると下記の画面が出てくるので、[Manage]をクリックします。
実はこのACSの管理ポータル自体もACSをIdPとして設定されたアプリケーションなのでサインインするためのIdPの選択画面が出てきます。初めてのアクセスだとWindows Live IDしか設定されていないので、ここはWindows Live IDでサインインします。
すると、Access Control Service自体の設定を行うアプリケーションが出てきます。
ここで以下の項目の設定が可能です。
Trust Relationship
・Identity Providers
→IdPの設定を行します。
・Relying Party Applications
→RP(アプリケーション)を設定します。
・Rule Groups
→Claimのマッピングルールを設定します。
Service Settings
・Certificates and Keys
→証明書などの設定を行います。
・Service Identities
→名前空間内のサービスIDなどの設定を行います。
Application Code
・Application Integration
RPのアプリケーションにACSを統合する際に使用するパラメータ等があります。
それぞれ順番に設定を行って行きたいと思います。
1.Identity Providers
Add Identity Providersをクリックすると以下の画面が出てきます。
今回はAD FS2.0とGoogleを試してみます。
まず、AD FS2.0ですが[Add]をクリックすると表示名とFederationMetadataを設定する画面が出てきますので、それぞれ設定を行います。
注意点ですが、現状FederationMetadataを使ってしか設定ができないので、ACSからFederationMetadataが取得できる状態、つまりインターネット上に公開してあるAD FS2.0が必要です。

まず、AD FS2.0ですが[Add]をクリックすると表示名とFederationMetadataを設定する画面が出てきますので、それぞれ設定を行います。
注意点ですが、現状FederationMetadataを使ってしか設定ができないので、ACSからFederationMetadataが取得できる状態、つまりインターネット上に公開してあるAD FS2.0が必要です。
[save]をクリックするとIdentity ProviderとしてAD FSが作成されます。
続いてGoogleを設定します。こちらは特別な設定項目は存在せず自動的に設定が行われます。(Image URLという項目がありますが、これはログイン画面に特別なイメージを表示したい場合のみ指定します)
設定が終わるとIdP一覧が以下のようになっているはずです。

2.Relying Party Applications
次はRPとなるアプリケーションの設定です。Add Relying Party Applicationをクリックし、アプリケーションの設定を行います。
設定項目は、下記の通りです。
・name:表示名
・Realm:アプリケーションのURL
・Return URL:認証後、トークンをポストするアプリケーションのURL
・Token format:トークンのタイプ
・Token encryption:トークンの暗号化設定
・Token lifetime:トークンの有効期間
・Rule groups:Claimマッピングルールのグループ
今回はローカルIISで動かすASP.NETアプリケーションを考えていますので、
・name:test-rp
・Realm:http://localhost:20000/
・Return URL:http://localhost:20000/
・Token format:SAML 2.0
のみを設定します。

続いてGoogleを設定します。こちらは特別な設定項目は存在せず自動的に設定が行われます。(Image URLという項目がありますが、これはログイン画面に特別なイメージを表示したい場合のみ指定します)
設定が終わるとIdP一覧が以下のようになっているはずです。
2.Relying Party Applications
次はRPとなるアプリケーションの設定です。Add Relying Party Applicationをクリックし、アプリケーションの設定を行います。
設定項目は、下記の通りです。
・name:表示名
・Realm:アプリケーションのURL
・Return URL:認証後、トークンをポストするアプリケーションのURL
・Token format:トークンのタイプ
・Token encryption:トークンの暗号化設定
・Token lifetime:トークンの有効期間
・Rule groups:Claimマッピングルールのグループ
今回はローカルIISで動かすASP.NETアプリケーションを考えていますので、
・name:test-rp
・Realm:http://localhost:20000/
・Return URL:http://localhost:20000/
・Token format:SAML 2.0
のみを設定します。
[Save]をクリックして設定を保存します。
3.Rule Groups
次はClaimのマッピングルールの設定です。
先ほどRPを設定するときにCreate New Rule Groupがデフォルトで指定されているので先ほどのRP用のRule Groupが「Default Rule Group for test-rp」という形で自動的に作成されています。
そのグループを開き、[Generate Default Rules]というボタンをクリックすると現在設定されているIdPに関して自動的にパススルーするルールが作成されます。

3.Rule Groups
次はClaimのマッピングルールの設定です。
先ほどRPを設定するときにCreate New Rule Groupがデフォルトで指定されているので先ほどのRP用のRule Groupが「Default Rule Group for test-rp」という形で自動的に作成されています。
そのグループを開き、[Generate Default Rules]というボタンをクリックすると現在設定されているIdPに関して自動的にパススルーするルールが作成されます。
最後に忘れずに[Save]をクリックすればRule Groupの設定は完了です。
4.Certifications and Keys
次はトークン署名に使う証明書の設定です。
自己発行証明書でも構わないので.pfxファイルをアップロードします。
これがACSが発行するトークンの署名に利用されます。
設定項目は以下の通りです。
・Name:表示名
・Used for:利用用途(トークンの署名もしくは暗号化)
・Type:証明書のタイプ
・Certificate:証明書
今回は以下の通り設定します。
・Name:My Cert
・Used for:Token Signing
・Type:X.509 Certificate
・Certificate:作成したpfxファイルとパスワード
[Save]をクリックし設定を完了します。

4.Certifications and Keys
次はトークン署名に使う証明書の設定です。
自己発行証明書でも構わないので.pfxファイルをアップロードします。
これがACSが発行するトークンの署名に利用されます。
設定項目は以下の通りです。
・Name:表示名
・Used for:利用用途(トークンの署名もしくは暗号化)
・Type:証明書のタイプ
・Certificate:証明書
今回は以下の通り設定します。
・Name:My Cert
・Used for:Token Signing
・Type:X.509 Certificate
・Certificate:作成したpfxファイルとパスワード
[Save]をクリックし設定を完了します。
ここまででACS側の設定は完了です。
ここからはRPとなるアプリケーションを作成していきます。
Visual Studio 2010を管理者として起動し、ASP.NET Webアプリケーションを作成します。
※今回は.NET Framework3.5をベースにプロジェクトを作成しましたが、.NET Framework4.0をベースに作る場合は後でWeb.configにhttpRuntime requestValidationMode="2.0"を書いてあげる必要があります。
実装・設定するのは以下の3点だけです。
1.URLの設定
→今回Visual Studioのデバッグ用アプリケーションサーバとしてテストを行いましたのでポート番号を固定し、ACS上のURLと整合性を取ります。
2.STS参照の追加
→ACSのFederationMetadataの読み込みを行い、このアプリケーションの認証はACSが行うように設定します。
3.Claimを表示するコード
→今回は単純にわたってきたClaimをラベルに表示させます。
1.URLの設定
ソリューションのプロパティからVisual Studio開発サーバのポートを先ほど指定した20000に設定します。

ここからはRPとなるアプリケーションを作成していきます。
Visual Studio 2010を管理者として起動し、ASP.NET Webアプリケーションを作成します。
※今回は.NET Framework3.5をベースにプロジェクトを作成しましたが、.NET Framework4.0をベースに作る場合は後でWeb.configにhttpRuntime requestValidationMode="2.0"を書いてあげる必要があります。
実装・設定するのは以下の3点だけです。
1.URLの設定
→今回Visual Studioのデバッグ用アプリケーションサーバとしてテストを行いましたのでポート番号を固定し、ACS上のURLと整合性を取ります。
2.STS参照の追加
→ACSのFederationMetadataの読み込みを行い、このアプリケーションの認証はACSが行うように設定します。
3.Claimを表示するコード
→今回は単純にわたってきたClaimをラベルに表示させます。
1.URLの設定
ソリューションのプロパティからVisual Studio開発サーバのポートを先ほど指定した20000に設定します。
以下の設定を行います。
アプリケーションURL:http://localhost:20000
STS Federation Metadata:https://[プロジェクト名].accesscontrol.appfabriclabs.com:443/FederationMetadata/2007-06/FederationMetadata.xml
※ACSポータルのApplication Integrationにエンドポイントアドレスは記載されています。

アプリケーションURL:http://localhost:20000
STS Federation Metadata:https://[プロジェクト名].accesscontrol.appfabriclabs.com:443/FederationMetadata/2007-06/FederationMetadata.xml
※ACSポータルのApplication Integrationにエンドポイントアドレスは記載されています。
3.Claimを表示するコード
画面にラベルを張り付けてテキストにname属性を表示するコードを書きます。
ここでは単純にPage_Loadに
lbl_name.Text = Page.User.Identity.Name
とコードを書いています。

画面にラベルを張り付けてテキストにname属性を表示するコードを書きます。
ここでは単純にPage_Loadに
lbl_name.Text = Page.User.Identity.Name
とコードを書いています。
いよいよ実行です。
今回はVisual Studioの開発サーバを使うので、そのままF5を押してデバッグ実行です。
まず、ホームレルム(認証を受けるIdP)を選択する画面にリダイレクトされますので、AD FS2.0を選んでみます。

今回はVisual Studioの開発サーバを使うので、そのままF5を押してデバッグ実行です。
まず、ホームレルム(認証を受けるIdP)を選択する画面にリダイレクトされますので、AD FS2.0を選んでみます。
いかがでしょうか?
当然RPを増やしていけばAppFabric ACSが発行(変換)したトークンを使いまわせるのでシングルサインオン環境の構築も容易です。
要望があるとすれば、現状ではAD FS2.0をIdPとする時にFederationMetadataを読み込む形でしかIdP設定ができないので、どうしてもインターネット上にAD FS2.0を公開する必要が出てきてしまいます。これを手動での登録、もしくはFederationMetadata.xmlのアップロードという形での対応ができればよりイントラ~インターネットの連携がしやすくなるのでは?と思います。
あとは早くラボではなく正式にリリースがされるのを期待しています。
当然RPを増やしていけばAppFabric ACSが発行(変換)したトークンを使いまわせるのでシングルサインオン環境の構築も容易です。
要望があるとすれば、現状ではAD FS2.0をIdPとする時にFederationMetadataを読み込む形でしかIdP設定ができないので、どうしてもインターネット上にAD FS2.0を公開する必要が出てきてしまいます。これを手動での登録、もしくはFederationMetadata.xmlのアップロードという形での対応ができればよりイントラ~インターネットの連携がしやすくなるのでは?と思います。
あとは早くラボではなく正式にリリースがされるのを期待しています。
2010年7月20日火曜日
3rdパーティ製のFIM管理エージェント
FIM(特にILM)はやはり開発をある程度意識した製品なので、3rdパーティのISVから色々な管理エージェント(MA)がリリースされてきました。
有名なのでOmadaですが、他にも色々な会社がFIMの機能を拡張すべく各種製品やアドインをリリースしています。
そんな3rdパーティ製のMAの一覧がtechnet blogで紹介されています。
■Identity Forge
メインフレーム関連との接続MAをリリースしています。
・ACF2, Top Secret, RACF, i5 Management Agent for FIM
IBM RACFやCICSなどのメインフレームとの連携用のMA
・Unix MA
SolarisやHP-UX等のUNIXユーザやグループアカウントの連携用のMA
・SAP
ERP、HW、Web Servicesとの連携用のMA
・Directory Service MA
Active DirectoryやLDAPv3などある程度ビルトインで持っているものではありますが、恐らくそれらの拡張
■Omada
この会社の最大の特徴はOmaca Connectivity FrameworkというFIM/ILMを拡張するベースフレームワークを持っている点です。このフレームワークを使って各種MAをリリースしている様です。
・SAP
ERPやHR、Web Servicesに加えてGRC連携も出来るようです。
・System Center Configuration Manager MA
コンピュータアカウントの管理をSCCMと連携して実施する様なもののようです。
・Exchange Objects MA
これもある程度はビルトインで持っているものはありますが、拡張しているようです。
・File Share MA
ファイル共有を追加~変更~削除するためのMAです。
・Home Folder MA
ホームフォルダの作成や変更、アクセス権の付加などを行うMA
・PowerShell MA
PowerShellを実行するためのMA
・Initial Load MA
・SharePoint MA
■Oxford Computer Group
・SharePoint MA
・SAP MA
・Delta Generator MA
差分同期をサポートしていないシステムで差分同期をサポートでセル
・BlackBerry
Black Berry Enterprise Serviceとの連携
■Unify
・様々な連携先を束ねるIdentity Brokerを持っており、MOSSやIBM TIMなど様々なマネジメンなエージェントをサポートする様です。
■Schadkra
・Home Directory Management MA
■コミュニティ
sourceforgeやcodeplex上でも各種MAが展開されています。
・Dynamics AX MA
・Sharepoinit List Management Agent
・OpenLDAP MA
と言うようにUSを見ると色々な会社がFIMのエージェント等でソリューションビジネスを実行しているようです。残念ながら日本ではFIMのインテグレーションサービスはある程度立ち上がったものの、先のUSの例の様に独自にパッケージ化している様な事例は見受けられません。
今後日本でもある程度パッケージ化出来るような形が出てくれば良いのだろうとは思いますが、業務的にも例外が多すぎてパッケージ化のメリットが出にくい環境なのかも知れません。
有名なのでOmadaですが、他にも色々な会社がFIMの機能を拡張すべく各種製品やアドインをリリースしています。
そんな3rdパーティ製のMAの一覧がtechnet blogで紹介されています。
■Identity Forge
メインフレーム関連との接続MAをリリースしています。
・ACF2, Top Secret, RACF, i5 Management Agent for FIM
IBM RACFやCICSなどのメインフレームとの連携用のMA
・Unix MA
SolarisやHP-UX等のUNIXユーザやグループアカウントの連携用のMA
・SAP
ERP、HW、Web Servicesとの連携用のMA
・Directory Service MA
Active DirectoryやLDAPv3などある程度ビルトインで持っているものではありますが、恐らくそれらの拡張
■Omada
この会社の最大の特徴はOmaca Connectivity FrameworkというFIM/ILMを拡張するベースフレームワークを持っている点です。このフレームワークを使って各種MAをリリースしている様です。
・SAP
ERPやHR、Web Servicesに加えてGRC連携も出来るようです。
・System Center Configuration Manager MA
コンピュータアカウントの管理をSCCMと連携して実施する様なもののようです。
・Exchange Objects MA
これもある程度はビルトインで持っているものはありますが、拡張しているようです。
・File Share MA
ファイル共有を追加~変更~削除するためのMAです。
・Home Folder MA
ホームフォルダの作成や変更、アクセス権の付加などを行うMA
・PowerShell MA
PowerShellを実行するためのMA
・Initial Load MA
・SharePoint MA
■Oxford Computer Group
・SharePoint MA
・SAP MA
・Delta Generator MA
差分同期をサポートしていないシステムで差分同期をサポートでセル
・BlackBerry
Black Berry Enterprise Serviceとの連携
■Unify
・様々な連携先を束ねるIdentity Brokerを持っており、MOSSやIBM TIMなど様々なマネジメンなエージェントをサポートする様です。
■Schadkra
・Home Directory Management MA
■コミュニティ
sourceforgeやcodeplex上でも各種MAが展開されています。
・Dynamics AX MA
・Sharepoinit List Management Agent
・OpenLDAP MA
と言うようにUSを見ると色々な会社がFIMのエージェント等でソリューションビジネスを実行しているようです。残念ながら日本ではFIMのインテグレーションサービスはある程度立ち上がったものの、先のUSの例の様に独自にパッケージ化している様な事例は見受けられません。
今後日本でもある程度パッケージ化出来るような形が出てくれば良いのだろうとは思いますが、業務的にも例外が多すぎてパッケージ化のメリットが出にくい環境なのかも知れません。
FIM Tips FIMポータルをSSL対応する際の注意点
FIMポータルのアンインストールウィザードはhttp://localhostというWebアプリケーション上にソリューションパッケージがデプロイされていることを前提に動作するので、SSL化やURLの変更を行ってしまいhttp://localhostでアクセス出来ない状態にしてしまうとアンインストール作業が出来なくなってしまいます。

①のケースだと後からやっぱりSSLは使わない、という形に根本的にWebアプリケーションを設定しなおすことが出来ないので、出来れば②のケースを使う方が柔軟性と言う意味で良いのかも知れません。
↑http://localhostにアクセスできない状態でアンインストールするとエラーが出る
ただ、FIMポータルへのアクセスはSSLで行うのがセオリーであるため、実際の運用環境においてはhttpでのアクセスは許可していないケースが多いと思います。
そのような環境化でFIMポータルをアンインストールする場合は以下の手順を踏む必要があります。
1.WSS(Windows Sharepoint Services)で代替アクセスマッピングの設定
2.IISでhttpバインド設定

そのような環境化でFIMポータルをアンインストールする場合は以下の手順を踏む必要があります。
1.WSS(Windows Sharepoint Services)で代替アクセスマッピングの設定
2.IISでhttpバインド設定
WSSの代替URLの設定方法は下記が参考になります。
http://archive.sharepoint.orivers.jp/blogs/orivers/archive/2006/12/12/sharepoint-2007-ssl.aspx
こうするとアンインストールが成功します。
上記を踏まえFIMポータルをSSL対応させようとすると2つの方法が考えられます。
①最初からSSL対応サイトとしてWebアプリケーションを作成する
②最初は非SSLサイトとしてWebアプリケーションを作成し、後からSSL化する
http://archive.sharepoint.orivers.jp/blogs/orivers/archive/2006/12/12/sharepoint-2007-ssl.aspx
こうするとアンインストールが成功します。
上記を踏まえFIMポータルをSSL対応させようとすると2つの方法が考えられます。
①最初からSSL対応サイトとしてWebアプリケーションを作成する
②最初は非SSLサイトとしてWebアプリケーションを作成し、後からSSL化する
①のケースだと後からやっぱりSSLは使わない、という形に根本的にWebアプリケーションを設定しなおすことが出来ないので、出来れば②のケースを使う方が柔軟性と言う意味で良いのかも知れません。
ただ、実際にはセキュリティ的な優先順位の方が上でしょうから①のケースでインストールをすることが多いのかも知れません。
①のケースの手順は以下のとおりです。
※IIS管理コンソールで該当サイトのバインド設定で証明書を設定する必要があります。
2.FIMポータルのインストール
FIMポータルのインストール時、WebアプリケーションのURLとしてhttps://localhostを指定します。

2.FIMポータルのインストール
FIMポータルのインストール時、WebアプリケーションのURLとしてhttps://localhostを指定します。
逆に②のケースの場合は以下の手順でインストールします。
1.SSL非対応でWebアプリケーションの作成
2.FIMポータルのインストール
1.SSL非対応でWebアプリケーションの作成
2.FIMポータルのインストール
この場合、デフォルトのhttp;//localhostへインストールします。
3.WSSで代替URLの設定
先ほどのアンインストール手順とは逆でhttpsのURLをマッピングします。
3.WSSで代替URLの設定
先ほどのアンインストール手順とは逆でhttpsのURLをマッピングします。
5.IISで該当のサイトのバインド設定でhttpを削除する
この場合、アンインストールする際はhttpのバインド設定を追加するだけで対応が出来ます。
※ちなみにFIM Serviceのデータベース自体はアンインストールしても削除されないので手動で削除が必要です。
この場合、アンインストールする際はhttpのバインド設定を追加するだけで対応が出来ます。
※ちなみにFIM Serviceのデータベース自体はアンインストールしても削除されないので手動で削除が必要です。
2010年7月13日火曜日
FIM2010 Metaverse Router on Codeplex
MIIS/ILM/FIMでのプロビジョニング(コードレスではない方)を効率的に行うためのアーキテクチャとして以前紹介したMetaverseRouterがcodeplexでバイナリで公開されています。
作者のblog:http://kdmitry.spaces.live.com/blog/cns!2CED76B86679A4C9!751.entry
codeplexのページ:http://metaverserouter.codeplex.com/
MSIファイルとして提供のでインストールを行うのですが、MIISやILMでも使えることを想定してか32bit環境でビルドされているようです。おかげでProgram Files (x86)\Microsoft Forefront Identity Manager\2010\Synchronization Serviceの下に実際のDLL(Extensions以下)と設定用のXML(MaData以下)が配置されてしまいます。
Forefront Identity Manager 2010で使う場合は64bit環境になりますので、手動でDLLとXMLを実際のインストール先(デフォルトはC:\Program Files\Microsoft Forefront Identity Manager\2010\Synchronization Service以下)にコピーもしくは移動する必要があります。
後は、Synchronization Service ManagerのオプションからMetaverse Rules Extensionを有効にしてコピーしたMetaverseRouter.dllを指定して、実際の接続先毎のDLLを設定ファイルに以下の形で記載すれば完了です。(もちろん各DLLはあらかじめ作成しておく必要がありますが)
実際のコードは(おそらく)以下のものと同じもしくは同等のものだと思いますので仕組みはソースを見ればわかるかと思います。
MSDNに公開されているコード
http://blogs.msdn.com/b/therabournidentity/archive/2007/12/11/miis-ilm-code-experiment-xml-based-miis-ilm-metaverse-router-part-1.aspx?wa=wsignin1.0
作者のblog:http://kdmitry.spaces.live.com/blog/cns!2CED76B86679A4C9!751.entry
codeplexのページ:http://metaverserouter.codeplex.com/
MSIファイルとして提供のでインストールを行うのですが、MIISやILMでも使えることを想定してか32bit環境でビルドされているようです。おかげでProgram Files (x86)\Microsoft Forefront Identity Manager\2010\Synchronization Serviceの下に実際のDLL(Extensions以下)と設定用のXML(MaData以下)が配置されてしまいます。
Forefront Identity Manager 2010で使う場合は64bit環境になりますので、手動でDLLとXMLを実際のインストール先(デフォルトはC:\Program Files\Microsoft Forefront Identity Manager\2010\Synchronization Service以下)にコピーもしくは移動する必要があります。
後は、Synchronization Service ManagerのオプションからMetaverse Rules Extensionを有効にしてコピーしたMetaverseRouter.dllを指定して、実際の接続先毎のDLLを設定ファイルに以下の形で記載すれば完了です。(もちろん各DLLはあらかじめ作成しておく必要がありますが)
| <?xml version="1.0" encoding="utf-8" ?> <modules enabled="true" xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation="MetaverseRouter.xsd"> <module name="C:\Program Files\Microsoft Identity Integration Server\Extensions\MV.File01.dll" index ="0" enabled ="true"/> <module name="C:\Program Files\Microsoft Identity Integration Server\Extensions\MV.File02.dll" index ="1" enabled ="true"/> <module name="C:\Program Files\Microsoft Identity Integration Server\Extensions\MV.File03.dll" index ="2" enabled ="false" /> </modules> |
実際のコードは(おそらく)以下のものと同じもしくは同等のものだと思いますので仕組みはソースを見ればわかるかと思います。
MSDNに公開されているコード
http://blogs.msdn.com/b/therabournidentity/archive/2007/12/11/miis-ilm-code-experiment-xml-based-miis-ilm-metaverse-router-part-1.aspx?wa=wsignin1.0
登録:
投稿 (Atom)
