クレームベースの ID を使用する理由
最終更新日: 2011年2月16日
適用対象: SharePoint Foundation 2010
クレームベース ID は Microsoft SharePoint Foundation 2010 および Microsoft SharePoint Server 2010 の ID モデルで、Windows ベース システムと非 Windows ベース システムの両方にまたがるユーザー認証、複数種類の認証方式、リアルタイム認証の強化、プリンシパルの種類の拡充、アプリケーション間でのユーザー ID 委任など、さまざまな機能が含まれます。
異なる認証システム
ほとんどのエンタープライズ アプリケーションでは、何らかの基本的なユーザー セキュリティ機能を必要とします。少なくともユーザーを認証する必要があり、多くの場合は、特定の権限を持つユーザーだけがアクセスできるように、特定の機能へのアクセスを認証する必要があります。時にはこれらの認証ルールでは、既存のユーザー セキュリティ トークンに存在しない属性が必要になります。たとえば、Microsoft Exchange Server からの配布リストは、SharePoint Server 2010 で一部のオブジェクトをセキュリティ保護するプリンシパルとして使うことができます。これらのセキュリティ機能は Windows オペレーティング システムに組み込まれており、アプリケーションに統合するのは、通常、簡単です。統合 Windows 認証を活用すれば、ユーザー自身の認証プロトコルを作成したり、ユーザー データベースを管理したりする必要はありません。アクセス制御リスト (ACL)、偽装、グループなどの機能を使用して、多くのコードを作成せずに認証を実装することができます。
Windows 同様に、SharePoint Foundation 2010 と SharePoint Server 2010 は、認証タスクを容易にするための一連の機能を提供し、一部のオブジェクト (例: サイト オブジェクト) では自動的に動作します。このガイドラインは、どのオペレーティング システムあるいはアプリケーションを使用しているかにかかわらず適用されます。ユーザーがこれらの機能を自分自身で再実装するより、通常は、組み込みの SharePoint セキュリティ機能と統合するのがほとんどの場合良い結果になります。
しかし、Windows アカウントを持たないユーザーを対象とするときはどうすればいいでしょうか。Windows を実行していないユーザーはどうでしょうか。ますます多くのアプリケーションがこの種のユーザーのアクセスを必要としており、従来のセキュリティ要件は当てはまらなくなっています。クレームベース ID は、これらと、その他の問題に対処するために設計された、SharePoint Foundation 2010 と SharePoint Server 2010 での新しい ID モデルです。
Windows では、エンタープライズ アプリケーションにアクセスする際のもっとも一般的な資格情報は、ユーザーのドメイン アカウントです。統合 Windows 認証を使用するアプリケーションは、クライアントを表す Kerberos チケットを受け取ります。SSL (Secure Sockets Layer) を使用しているアプリケーションでは、その代わりにクライアントで X.509 証明書を受け取ることがあります。Kerberos チケットと X.509 証明書はまったく違うアイテムであり、オペレーティング システムで、解析、検証、最終的に内部のデータを示すコードは極めて異なります。しかし、これらが実際に何を表すかについて考えた場合、この 2 つの資格情報は多くの点を共有しています。
以下のようなシナリオを考えてみます。Alice は、Windows ドメイン アカウントを使用することにより、購入サービスにアクセスしようとしているユーザーです。彼女のドメイン コントローラーは彼女を認証して、一連のセキュリティ識別子 (SID) で Kerberos チケットを作成します。これらの SID は、Alice のユーザー アカウントと彼女がメンバーであるドメイン グループを表します。SID は、ドメイン コントローラーからの署名を伴い、チケットに埋め込まれています。ID に関しては、"発行者" (ドメイン コントローラー) が、対象者 (Alice) に彼女自身の ID を証明するために使用するセキュリティ トークンを与えます。Alice が証明書を使用するときも、これと同じ方法が適用されます。証明書はセキュリティ トークンの一種です。この場合、発行者は認証局 (CA) で、対象者は Alice です。Kerberos チケットと証明書の両方とも、実質的には、対象者について発行者が出す署名済みのステートメントです。これらは、信頼できる機関が対象者を身元保証する 2 つの方法です。それぞれの署名済みのステートメントは、クレームのコレクションとして考えることができます。言い換えれば、Alice のチケットの SID のリストに署名するとき、ドメイン コントローラーは彼女の ID についてクレームを行っていることになります。それぞれの SID がクレームになります。認証局は、Alice の名前と公開キーに署名するとき、彼女の ID についてのクレームを行います。名前と公開キーは証明書内のクレームの例です。
この新しい ID モデルの目的は、アプリケーションのセキュリティを低下させることなく、特定の種類の資格情報についての依存関係を減らせるように ID を抽象化することです。SharePoint Server 2010 の ID モデルでコード作成することにより、Kerberos チケットや SAML (Security Assertion Markup Language) トークンを処理することなしに代理ユーザーの ID を処理することができます。これにより、フェデレーション ID など、いくつかの役立つ ID アーキテクチャが可能になります。