クレームとトークン
このトピックでは、サポートされている既定のトークンから 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 クラスにあります (Identity、PossessProperty)。
Resource プロパティは、クレームに関連付けられているリソースを返します。
各 ClaimSet には、Issuer プロパティがあり、それぞれ ClaimSet の Issuer
を表します。
Windows アカウント
クライアント資格情報が Windows ユーザー アカウントにマップされる場合、ClaimSet は次の値を格納します。
Issuer
は、ClaimSet クラスの静的 Windows プロパティによって返される値です。コレクションには次のクレームがあります。
Claim 値がセキュリティ識別子 (SID)、ClaimType プロパティ値が Right で、
Identity
が実際の SID 値を返す Resource。 SID は、ドメイン コントローラーによって各ユーザーに発行される一意の値です。 SID は、Windows セキュリティとの対話でユーザーを識別するために使用されます。Claim 値 が SID、ClaimType が Right で、
PossessProperty
が SID 値の Resource。Claim が ClaimType、Name が Right で、
PossessProperty
がユーザー名 (たとえば、"MYMACHINE\Bob") を含んだ文字列である Resource。ユーザーが属するさまざまなグループの PossessProperty が指定された追加の SID クレーム。
証明書
クライアント資格情報が証明書の場合、ClaimSet は次の値を格納します。
自己発行証明書の場合、
Issuer
は ClaimSet です。 ClaimSet は、ClaimType に設定された Thumbprint、Right に設定された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
クレームが格納されます。 対応するクレームには、Right
のPossessProperty
があります。
RSA キー
証明書に関連付けられていない RSA キーが使用される場合、ClaimSet
は自己発行され、リソースが RSA キーである Rsa 型の Identity
クレームが格納されます。 対応するクレームには、Right
のPossessProperty
があります。
SAML
クライアントが SAML (Security Assertions Markup Language) トークンを使用して認証する場合、ClaimSet
は、SAML トークンを署名したエンティティ (通常は、SAML トークンを発行したセキュリティ トークン サービス (STS) の証明書) によって発行されます。 ClaimSet
は、SAML トークンに含まれているとおりのさまざまなクレームを格納します。 SAML トークンが、名前が SamlSubject
以外の null
を含んでいる場合、型が Identity
で、リソース型が NameIdentifier の SamlNameIdentifierClaimResource クレームが作成されます。
Identity クレームと ServiceSecurityContext.IsAnonymous
クライアント資格情報の結果として得られるClaimSet
オブジェクトに、Identity
のRight
を持つ要求が含まれていない場合、IsAnonymous プロパティはtrue
を返します。 このようなクレームが 1 つ以上ある場合、IsAnonymous
プロパティは false
を返します。