クレームとトークン
ここでは、サポートされている既定のトークンから 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 プロパティがあり、それぞれ Issuer の ClaimSet を表します。
Windows アカウント
クライアント資格情報が Windows ユーザー アカウントにマップされる場合、ClaimSet は次の値を格納します。
- Issuer は、ClaimSet クラスの静的 Windows プロパティによって返される値です。
- コレクションには次のクレームがあります。
- ClaimType 値がセキュリティ識別子 (SID)、Right プロパティ値が Identity で、Resource が実際の SID 値を返す Claim。SID は、ドメイン コントローラによって各ユーザーに発行される一意の値です。SID は、Windows セキュリティとの対話でユーザーを識別するために使用されます。
- ClaimType 値 が SID、Right が PossessProperty で、Resource が SID 値の Claim。
- ClaimType が Name、Right が PossessProperty で、Resource がユーザー名 (たとえば、"MYMACHINE\Bob") を含んだ文字列である Claim。
- ユーザーが属するさまざまなグループの PossessProperty が指定された追加の SID クレーム。
証明書
クライアント資格情報が証明書の場合、ClaimSet は次の値を格納します。
- 自己発行証明書の場合、Issuer は ClaimSet です。ClaimSet は、Thumbprint に設定された ClaimType、Identity に設定された Right、および証明書のサムプリントを含んだ Byte 配列である Resource 値を返します。
- 証明機関によって発行された証明書の場合、発行者は、証明機関の証明書を表す ClaimSet です。
- コレクションの Claims には次のものが含まれます。
- ClaimType が Thumbprint、Right が PossessProperty で、Resource が証明書のサムプリントを含んだバイト配列である Claim。
- 証明書のさまざまなプロパティを表す X500DistinguishedName、Dns、Name、Upn、Rsa などの複数の種類の追加の PossessProperty クレーム。Rsa クレームのリソースは、証明書に関連付けられた公開キーです。メモ クライアント資格情報の種類が、サービスによって Windows アカウントにマップされる証明書の場合、2 つの ClaimSet オブジェクトが生成されます。最初のオブジェクトには、Windows アカウントに関するすべてのクレームが入り、2 番目のオブジェクトには、証明書に関するすべてのクレームが入ります。
ユーザー名/パスワード
クライアント資格情報が、Windows アカウントにマップされないユーザー名とパスワード (または同等のもの) の場合、ClaimSet は、ClaimSet クラスの静的 System プロパティによって発行されます。ClaimSet は、リソースがクライアントによって提供されるユーザー名である Name 型の Identity クレームを格納します。対応するクレームには、PossessProperty の Right があります。
RSA キー
証明書に関連付けられていない RSA キーが使用される場合、ClaimSet は、自己発行され、リソースが RSA キーである **** Rsa 型の Identity クレームを格納します。対応するクレームには、PossessProperty の Right があります。
SAML
クライアントが SAML (Security Assertions Markup Language) トークンを使用して認証する場合、ClaimSet は、SAML トークンを署名したエンティティ (通常は、SAML トークンを発行したセキュリティ トークン サービス (STS) の証明書) によって発行されます。ClaimSet は、SAML トークンに含まれているとおりのさまざまなクレームを格納します。SAML トークンが、名前が null 以外の SamlSubject を含んでいる場合、型が NameIdentifier で、リソース型が SamlNameIdentifierClaimResource の Identity クレームが作成されます。
Identity クレームと ServiceSecurityContext.IsAnonymous
クライアント資格情報から生成された ClaimSet オブジェクトが、Right が Identity のクレームを格納していない場合、IsAnonymous プロパティは true を返します。このようなクレームが 1 つ以上ある場合、IsAnonymous プロパティは false を返します。
関連項目
リファレンス
ClaimSet
Claim
Rights
ClaimTypes