次の方法で共有


クレームとトークン

このトピックでは、サポートされている既定のトークンから Windows Communication Foundation (WCF) によって作成されるさまざまなクレームの種類について説明します。

クライアント資格情報のクレームは、ClaimSet クラスと Claim クラスを使用して確認できます。 ClaimSet には、Claim オブジェクトのコレクションが含まれます。 各 Claim には、次の重要なメンバーがあります。

  • ClaimType プロパティは、作成されるクレームの種類を指定する URI (Uniform Resource Identifier) を返します。 たとえば、クレームの種類が証明書の拇印の場合、その URI は http://schemas.microsoft.com/ws/20005/05/identity/claims/thumprint です。

  • Right プロパティは、クレームの権限を指定する URI を返します。 定義済みの権限は、Rights クラスにあります (IdentityPossessProperty)。

  • Resource プロパティは、クレームに関連付けられているリソースを返します。

ClaimSet には、Issuer プロパティがあり、それぞれ ClaimSetIssuer を表します。

Windows アカウント

クライアント資格情報が Windows ユーザー アカウントにマップされる場合、ClaimSet は次の値を格納します。

  • Issuer は、ClaimSet クラスの静的 Windows プロパティによって返される値です。

  • コレクションには次のクレームがあります。

    • Claim 値がセキュリティ識別子 (SID)、ClaimType プロパティ値が Right で、Identity が実際の SID 値を返す Resource。 SID は、ドメイン コントローラーによって各ユーザーに発行される一意の値です。 SID は、Windows セキュリティとの対話でユーザーを識別するために使用されます。

    • Claim 値 が SID、ClaimTypeRight で、PossessProperty が SID 値の Resource

    • ClaimClaimTypeNameRight で、PossessProperty がユーザー名 (たとえば、"MYMACHINE\Bob") を含んだ文字列である Resource

    • ユーザーが属するさまざまなグループの PossessProperty が指定された追加の SID クレーム。

証明書

クライアント資格情報が証明書の場合、ClaimSet は次の値を格納します。

  • 自己発行証明書の場合、IssuerClaimSet です。 ClaimSet は、ClaimType に設定された ThumbprintRight に設定された Identity、および証明書の拇印を含んだ Resource 配列である Byte 値を返します。

  • 証明機関によって発行された証明書の場合、発行者は、証明機関の証明書を表す ClaimSet です。

  • コレクションの Claims には次のものが含まれます。

    • Claim が Thumbprint、ClaimType が PossessProperty で、Right が証明書の拇印を含んだバイト配列である Resource

    • 証明書のさまざまなプロパティを表す X500DistinguishedName、Dns、Name、Upn、Rsa などの複数の種類の追加の PossessProperty クレーム。 Rsa クレームのリソースは、証明書に関連付けられた公開キーです。メモ: クライアント資格情報の種類が、サービスによって Windows アカウントにマップされる証明書の場合、2 つの ClaimSet オブジェクトが生成されます。 最初のオブジェクトには、Windows アカウントに関するすべてのクレームが入り、2 番目のオブジェクトには、証明書に関するすべてのクレームが入ります。

ユーザー名/パスワード

クライアント資格情報が、Windows アカウントにマップされないユーザー名とパスワード (または同等のもの) の場合、ClaimSet は、System クラスの静的 ClaimSet プロパティによって発行されます。 ClaimSet には、リソースがクライアントによって提供されるユーザー名である Name 型の Identity クレームが格納されます。 対応するクレームには、RightPossessProperty があります。

RSA キー

証明書に関連付けられていない RSA キーが使用される場合、ClaimSet は自己発行され、リソースが RSA キーである Rsa 型の Identity クレームが格納されます。 対応するクレームには、RightPossessProperty があります。

SAML

クライアントが SAML (Security Assertions Markup Language) トークンを使用して認証する場合、ClaimSet は、SAML トークンを署名したエンティティ (通常は、SAML トークンを発行したセキュリティ トークン サービス (STS) の証明書) によって発行されます。 ClaimSet は、SAML トークンに含まれているとおりのさまざまなクレームを格納します。 SAML トークンが、名前が SamlSubject 以外の null を含んでいる場合、型が Identity で、リソース型が NameIdentifierSamlNameIdentifierClaimResource クレームが作成されます。

Identity クレームと ServiceSecurityContext.IsAnonymous

クライアント資格情報の結果として得られるClaimSet オブジェクトに、IdentityRightを持つ要求が含まれていない場合、IsAnonymous プロパティはtrueを返します。 このようなクレームが 1 つ以上ある場合、IsAnonymous プロパティは false を返します。

関連項目