AD FS 2.0 におけるURIの用法

URI (Uniform Resource Identifier) は、一意の識別子として使用される文字列です。AD FS 2.0 では、URI はパートナー ネットワーク アドレスと構成オブジェクトの両方を特定するために使用されます。パートナー ネットワーク アドレスの特定に使用される場合、URI は常に URL です。構成オブジェクトの特定に使用される場合、URI は URN または URL です。URI の一般的な情報の詳細については、RFC 2396 (英語) および RFC 3986 (英語) を参照してください。

パートナー ネットワーク アドレスとしての URI

次に示すのは、AD FS 2.0 の管理者が最も頻繁に扱うネットワーク アドレスの URL です。

  • フェデレーション サービスの URL (WS-Federation、SAML、WS-Trust、フェデレーション メタデータ、WS-MetadataExchange、個人、組織などの URL)

  • 証明書利用者の信頼の URL (WS-Federation、SAML、フェデレーション メタデータなどの URL)

  • クレーム プロバイダーの信頼の URL (WS-Federation、SAML、フェデレーション メタデータなどの URL)

オブジェクト識別子としての URI

次の表に、AD FS 2.0 の管理者が最も頻繁に扱う識別子を示します。

識別子名 説明 比較
フェデレーション サービス識別子 この識別子は、フェデレーション サービスを特定するために使用されます。これは、このフェデレーション サービスからクレームを使用する証明書利用者と、このフェデレーション サービスにクレームを発行するクレーム プロバイダーが使用します。

ユーザーがクレーム プロバイダーに、このフェデレーション サービスへのクレームを要求すると、そのクレームの対象を特定するためにフェデレーション サービス識別子が使用されます。

クレーム プロバイダーからクレームを受け取ったフェデレーション サービスは、フェデレーション サービス識別子を見つけることにより、このフェデレーション サービスがクレームの対象に含まれているかどうかを確認します。

このフェデレーション サービスからクレームを受け取った証明書利用者は、そのクレームの発行者がフェデレーション サービス識別子と一致するかどうかを確認します。

証明書利用者識別子 この識別子は、このフェデレーション サービスに対する証明書利用者を特定するために使用されます。これは、証明書利用者にクレームを発行するときに使用されます。

ユーザーがこのフェデレーション サービスに対して、証明書利用者を対象とするクレームを要求すると、クレームの対象となる証明書利用者を特定するために証明書利用者識別子が使用されます。この比較は前方参照を使用して行われます (下記参照)。

クレームを受け取った証明書利用者は、セキュリティ トークン内の証明書利用者識別子を調べて、自身がそのクレームの対象となっていることを確認します。

クレーム プロバイダー識別子 この識別子は、このフェデレーション サービスに対するクレーム プロバイダーを特定するために使用されます。これは、クレーム プロバイダーからクレームを受け取るときに使用されます。 クレーム プロバイダーからクレームを受け取ったフェデレーション サービスは、クレームの発行者がクレーム プロバイダー識別子と一致するかどうかを確認します。
クレームの種類 この識別子は、クレームの種類を定義するために使用されます。これは、クレームの受け渡しを行うときに、このフェデレーション サービス、クレーム プロバイダー、および証明書利用者によって使用されます。 フェ デレーション サービスがクレーム プロバイダーからクレームを受け取ると、管理者は対応するクレーム プロバイダーの信頼に関連付けられたクレーム ルールを使用して、クレームの種類を比較し、クレームを処理します。同様に、管理者は証明書利用者の信頼に関連付けられたクレーム ルールを使用して、クレーム プロバイダーの信頼のルールから生成されるクレームの種類を比較し、発行するクレームを決定します。

証明書利用者識別子に対する URI の前方参照

URI のパス構文は階層状に構成されており、すべての "/" または ":" によって区切られています。前方参照を行うとき、各セクションは、一致規則に従って完全に一致する必要があります (一致規則は一致の形式を規定します)。一致規則の詳細については、前述の RFC を参照してください。

フェデレーション サービスへの要求の証明書利用者が特定されると、AD FS 2.0 は前方参照のロジックを使用して、一致する証明書利用者の信頼が AD FS 構成データベースに存在するかどうかを判断します。

たとえば、AD FS 構成データベース (URI1) 内の証明書利用者識別子が受信要求 (URI2) 内の証明書利用者識別子のプレフィックスと一致するには、以下が満たされる必要があります。

  • パス セクションまたは証明機関の末尾の区切り文字 (スラッシュおよびコロン) は無視される

  • URI1 と URI2 のスキームの部分と証明機関の部分は、大文字と小文字の区別以外は完全に一致する

  • URI1 の各パス セクションは、(選択した大文字と小文字の区別に基づいて) URI2 の対応するパス セクションと正確に一致する

  • URI2 のパス セクションは URI1 よりも多い場合があるが、URI1 のパス セクションが URI2 よりも多いことはない

  • URI1 のパス セクションは URI2 と同じか、URI2 よりも少ない

  • URI1 にクエリ文字列が含まれる場合は、URI2 のクエリ文字列と正確に一致する

  • URI1 にフラグメントが含まれる場合は、URI2 のフラグメントと正確に一致する

次の表に追加の例を示します。

AD FS 構成データベース内の証明書利用者識別子 要求メッセージ内の証明書利用者識別子 要求識別子と構成識別子の一致 理由
http://contoso.com http://contoso.com 一致 完全に一致する
http://contoso.com/ http://contoso.com 一致 末尾のスラッシュは無視される
http://contoso.com http://contoso.com/ 一致 末尾のスラッシュは無視される
http://contoso.com http://contoso.com/hr 一致 URI1 にはパスがないが、スキームと証明機関が URI2 と一致する
http://contoso.com/hr http://contoso.com/hr/web 一致 最初のパス セクションが一致し、URI1 には次のパス セクションがない
http://contoso.com/hr http://contoso.com/hr/web/?m=t 一致 上と同じ理由で、クエリ文字列による影響はない
http://contoso.com/hr/ http://contoso.com/hrw/main 不一致 URI1 のパス セクション 1 と URI2 のパス セクション 1 が一致しない
http://contoso.com/hr http://contoso.com 不一致 URI1 のパス セクションが URI2 よりも多い
http://contoso.com/hr http://contoso.com/hrweb 不一致 最初のパス セクションが一致しない
http://contoso.com/?m=t http://contoso.com/?m=f 不一致 クエリ文字列の部分が一致しない
https://contoso.com http://contoso.com 不一致 スキームの部分が一致しない
http://sts.contoso.com http://contoso.com 不一致 証明機関の部分が一致しない
http://contoso.com http://sts.contoso.com 不一致 証明機関の部分が一致しない