SharePoint プロジェクト用の Azure カスタム クレーム プロバイダー パート 1

原文の記事の投稿日: 2012 年 2 月 11 日 (土曜日)

みなさん、こんにちは。前回、SAML クレームについての記事を追加してからしばらく時間が経ちました。今回は、私自身興味のあるいくつかのトピック (SharePoint、SAML、カスタム クレーム プロバイダー、CASI キット、および Azure) と関連付けて SAML クレームについてさらに詳しく説明します。シリーズ 1 回目の今回は、概念実証を行って、ソース コードを完成します (このソース コードは自由に好きなだけ使用できます)。このソース コードは、Windows Azure をデータ ソースとして使用する、SharePoint 用のカスタム クレーム プロバイダーの構築方法を示す具体例の 1 つです。高レベルでの実装は次のようになります。

  • ユーザーは、ACS との SAML フェデレーションを使用してサイトにログインします。ACS 側に、何種類かの ID プロバイダー (Google、Yahoo、Facebook など) を構成します。したがって、ユーザーは、Google などの電子メール アドレスを使用してサインインし、認証後に、サイトにリダイレクトされます。
  • Azure キューを使用して、ユーザーのクレーム情報をルーティングし、Azure テーブル記憶領域に格納します。
  • WCF アプリケーションを用意します。このアプリケーションは、Azure テーブル記憶領域内のデータの要求のフロントエンド、およびキュー内の新規アイテムの自動仕分けに使用されます。この WCF アプリケーションと SharePoint サイトの間に信頼を作成することにより、そこに参加できるユーザーを制限し、そのユーザーに対して表示できる内容および実行できる操作を制御します。
  • SharePoint 側に、カスタム クレーム プロバイダーを作成します。このカスタム クレーム プロバイダーは、サポートされているクレームの種類のリストを取得します。また、このカスタム クレーム プロバイダーは、ユーザー選択による検索および名前解決も行います。このカスタム クレーム プロバイダーは、裏では CASI キットを使用して Windows Azure と通信します。

最終的には、SharePoint とクラウドがエンドツーエンドで完全に接続された統合環境となります。どのような結果になるかお楽しみに。

パート 2 では、クラウド内で実行されるすべてのコンポーネントについて説明します。このようなコンポーネントには、たとえば、Azure テーブル記憶領域およびキューの操作に使用するデータ クラスがあります。また、キュー内のアイテムの読み取りと、テーブル記憶領域へのデータの格納に使用される worker ロールもあります。さらに、WCF フロント エンドもあります。クライアント アプリケーションは、この WCF フロント エンドを使用して、キュー内に新規アイテムを作成します。また、この WCF フロント エンドは、すべての標準的な SharePoint ユーザー選択要素の実行 (サポートされているクレームの種類のリストの提供、クレーム値の検索、クレームの解決) にも使用されます。

パート 3 では、SharePoint ファーム内で使用するすべてのコンポーネントを作成します。たとえば、SharePoint と Azure の間の通信をすべて管理するカスタム コンポーネントを CASI キットに基づいて作成します。新規ユーザーに関する情報をキャプチャして Azure キューにプッシュするカスタム Web パーツも作成します。また、WCF を介して Azure テーブル記憶領域と通信し、入力コントロールおよびユーザー選択機能を有効にするカスタム クレーム プロバイダーも作成します。このカスタム クレーム プロバイダーも CASI キットに基づくカスタム コンポーネントです。

これはローカライズされたブログ投稿です。原文の記事は、The Azure Custom Claim Provider for SharePoint Project Part 1 をご覧ください。