クレームとトークン

ここでは、サポートされている既定のトークンから 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 プロパティがあり、それぞれ IssuerClaimSet を表します。

Windows アカウント

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

  • Issuer は、ClaimSet クラスの静的 Windows プロパティによって返される値です。
  • コレクションには次のクレームがあります。
    • ClaimType 値がセキュリティ識別子 (SID)、Right プロパティ値が Identity で、Resource が実際の SID 値を返す Claim。SID は、ドメイン コントローラによって各ユーザーに発行される一意の値です。SID は、Windows セキュリティとの対話でユーザーを識別するために使用されます。
    • ClaimType 値 が SID、RightPossessProperty で、Resource が SID 値の Claim
    • ClaimTypeNameRightPossessProperty で、Resource がユーザー名 (たとえば、"MYMACHINE\Bob") を含んだ文字列である Claim
    • ユーザーが属するさまざまなグループの PossessProperty が指定された追加の SID クレーム。

証明書

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

  • 自己発行証明書の場合、IssuerClaimSet です。ClaimSet は、Thumbprint に設定された ClaimTypeIdentity に設定された 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 クレームを格納します。対応するクレームには、PossessPropertyRight があります。

RSA キー

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

SAML

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

Identity クレームと ServiceSecurityContext.IsAnonymous

クライアント資格情報から生成された ClaimSet オブジェクトが、RightIdentity のクレームを格納していない場合、IsAnonymous プロパティは true を返します。このようなクレームが 1 つ以上ある場合、IsAnonymous プロパティは false を返します。

関連項目

リファレンス

ClaimSet
Claim
Rights
ClaimTypes

概念

ID モデルを使用したクレームと承認の管理