SharePoint 2010 で利用できるその他のクレームを ADFS 2.0 に追加する方法

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

ここでは、ユーザー用のクレームを ADFS 2.0 にさらに追加し、それらを SharePoint 2010 で正しく利用できるようにしたい場合に時間をかけずに行うための簡単なヒントを紹介します。 覚えておくべき重要な点は、SharePoint は SAML 1.x のみをサポートしているので、クレームの種類を特に重視する必要があるということです。

 

ADFS 2.0 では、表示されるカスタム ルール言語を使用して非常に簡単にクレームを追加できます。 このためには、ADFS で SharePoint 証明書利用者をクリックし、右側の操作ウィンドウで [要求規則の編集] (Edit Claim Rules…) リンクをクリックします。 ルール エディターが起動したら、[ルールの追加] (Add Rule) をクリックし、ドロップ ダウン ボックスで [カスタム規則を使用して要求を送信] (Send Claims Using a Custom Rule) を選択します。 [次へ] ボタンをクリックして続行します。これで、ADFS ルール言語を使用してクレーム名とカスタム クレーム ルールを入力できます (http://technet.microsoft.com/ja-jp/library/dd807118(ws.10).aspx (英語))。 残念なことに、このページで説明されている最初のルール例は、名前が WS-Federation でサポートされている形式ではないため、SharePoint では動作しません。

 

幸いにも、Adam Conkle 氏が WS-Fed の正しい形式に関するブログを投稿しています ( http://social.technet.microsoft.com/wiki/contents/articles/ad-fs-2-0-the-admin-event-log-shows-error-111-with-system-argumentexception-id4216.aspx (英語))。 SharePoint ユーザーが理解すべき重要な点は、SAML 1.x の命名要件についての Conkle 氏の説明です。

 

(Conkle 氏のブログより抜粋 - Adam に感謝します)

SAML 1.1 トークン には、形式が "namespace'/'name" でなければならないという厳しい URI ルールがあります。この形式はさまざまな方法で構成できます。以下に一般的な例をいくつか紹介します。

  • myOrganization/myClaimType
  • urn:myOrganization:claims/myClaimType
  • http://myOrganization/claims/myClaimType

 

つまり、たとえば、次のようなルールで SharePoint に移動するカスタム クレームを ADFS に追加できます。

 

=> issue(Type = "http://www.vbtoys.com/claims/demo", Value = "BlazersPlayoffs2010");

 

実際、ADFS のルール言語は非常に興味深く、そこには多くの機能が組み込まれています。 これで、SharePoint にクレームの種類を送信する場合に使用する必要がある形式がわかりました。

これはローカライズされたブロク投稿です。原文の記事は、「How To Add Additional Claims in ADFS 2.0 that can be Consumed in SharePoint 2010」をご覧ください。