承認と認証

最終更新日: 2010年4月20日

適用対象: SharePoint Foundation 2010

Microsoft SharePoint Foundation では、Web サイト、リスト、リスト フォルダーやライブラリ フォルダー、およびアイテムのレベルでユーザー アクセスのセキュリティがサポートされます。セキュリティ管理はすべてのレベルでロールに基づいており、SharePoint Foundation プラットフォーム全体に対して一貫したセキュリティ管理を提供します。オブジェクトに対する権限の割り当てには、一貫性のあるロール ベースのユーザー インターフェイスとオブジェクト モデルが使用されます。結果として、リスト レベル、フォルダー レベル、またはアイテム レ ベルのセキュリティに、Web サイト レベルのセキュリティと同じユーザー モデルが実装され、Web サイト全体でのユーザー権限とグループ権限の管理が容易になります。また、SharePoint Foundation では、リスト ライブラリとドキュメント ライブラリに含まれるフォルダーとアイテムに対する一意な権限もサポートされます。

承認とは、あるオブジェクトに対してどのユーザーが特定のアクションを実行できるかを決定することによって SharePoint Foundation が Web サイト、リスト、フォルダー、またはアイテムにセキュリティを提供するプロセスです。承認プロセスでは、ユーザーが認証済みであることを前提としています。認証とは、SharePoint Foundation が現在のユーザーを識別するプロセスです。SharePoint Foundation では、認証や ID 管理に独自のシステムを実装しておらず、代わりに外部システム (Windows 認証または Windows 以外の認証) に依存しています。

SharePoint Foundation では、以下の種類の認証をサポートしています。

  • Windows : 基本、ダイジェスト、証明書、NTLM (Windows NT LAN Manager)、および Kerberos を含めたすべての Microsoft Internet Information Services (IIS) と Windows 認証の統合オプションです。Windows 認証では、IIS を使用して SharePoint Foundation の認証を実行できます。

    Windows クレーム モードを使用した SharePoint へのサインインについては、「受信クレーム: SharePoint にサインインする」を参照してください。

    重要重要

    偽装の一時中断については、「呼び出し元ユーザーの偽装を一時中断しないようにする」を参照してください。

  • ASP.NET フォーム: プラグ可能な Microsoft ASP.NET フォーム ベースの認証システムを使用する、Windows 以外の ID 管理システムです。このモードでは、SharePoint Foundation はライトウェイト ディレクトリ アクセス プロトコル (LDAP)、ライトウェイト データベース ID 管理システムなど、外部に定義されたグループまたはロールを含めたさまざまな ID 管理システムを操作できます。フォーム認証では、ASP.NET を使用して SharePoint Foundation の認証を実行できます。多くの場合、ログオン ページにリダイレクトすることになります。SharePoint Foundation では、ASP.NET フォームはクレーム認証でのみサポートされています。フォーム プロバイダーは、クレーム用に構成された Web アプリケーション内で登録する必要があります。ASP.NET メンバーシップおよびロール パッシブ サインインを使用した SharePoint へのサインインについては、「受信クレーム: SharePoint にサインインする」を参照してください。

注意

SharePoint Foundation では、大文字と小文字を区別するメンバーシップ プロバイダーの操作をサポートしておらず、メンバーシップ プロバイダーに関係なく、データベース内のすべてのユーザーに対して大文字と小文字を区別しない SQL ストレージが使用されます。

クレーム ベースの ID および認証

クレームベース ID は SharePoint Foundation および Microsoft SharePoint Server 2010 の ID モデルで、Windows ベース システムと非 Windows ベース システムの両方にまたがるユーザー認証、複数種類の認証方式、リアルタイム認証の強化、プリンシパルの種類の拡充、アプリケーション間でのユーザー ID 委任など、さまざまな機能が含まれます。

ユーザーが SharePoint Foundation と SharePoint Server 2010 にサインインするときに、ユーザーのトークンが検証され、ユーザーはそのトークンを使用して SharePoint にサインインします。ユーザーのトークンは、クレーム プロバイダーによって発行されるセキュリティ トークンです。SharePoint Foundation と SharePoint Server 2010 でサポートされるサインイン、あるいはアクセス モードには以下の 5 つの種類があります。

  • Windows クラシック モードでのサインイン

  • Windows クレーム モードでのサインイン

  • SAML パッシブ サインイン モード

  • ASP.NET メンバーシップおよびロール パッシブ サインイン

  • 匿名アクセス

注意

SharePoint へのサインインおよびさまざまなサインイン モードの詳細については、「受信クレーム: SharePoint にサインインする」を参照してください。

クレームを処理できるアプリケーションを構築する場合、ユーザーはアプリケーションに ID を一連のクレームとして提示します。あるクレームはユーザー名、また別のクレームは電子メール アドレスなどであることがあります。このしくみの基本にあるのは、何らかの外部 ID システムが構成され、そこからアプリケーションに対して、ユーザーに関するすべての必要な情報 (および、受け取った ID データが信頼できる提供元から得られたものであることを示す暗号化済みの証拠) が個々の要求と共に提供されるという考え方です。

このモデルでは、シングル サインオンの実現が非常に容易になり、ユーザーのアプリケーションは以下の点を考慮する必要がなくなります。

  • ユーザーの認証

  • ユーザー アカウントおよびパスワードの保存

  • ユーザー ID の詳細を検索するために企業のディレクトリを呼び出す

  • その他のプラットフォームあるいは企業の ID システムとの統合

このモデルでは、アプリケーションはユーザーによって提供されたクレームに対して、ID に関連する判断をします。これには、ユーザーのファースト ネームによる簡単なアプリケーションの個人用設定から、アプリケーションのより高度な機能およびリソースにアクセスするためのユーザー認証に至るまで、幅広い用途が含まれます。

注意

クレーム ベースの ID とクレーム プロバイダーの詳細については、「クレームベース ID の概要と概念」と「クレーム プロバイダー」を参照してください。

フォームベースの認証

フォームベースの認証では、メンバーシップ プロバイダーとロール マネージャーを実装することによって SharePoint Foundation でのカスタム ID 管理を提供します。メンバーシップ プロバイダーは個別のユーザーを識別および認証するためのインターフェイスを定義し、ロール マネージャーは個別のユーザーを論理グループまたはロールにグループ化するためのインターフェイスを定義します。SharePoint Foundation では、メンバーシップ プロバイダーが、必須の System.Web.Security.Membership.ValidateUser メソッドを実装する必要があります。ユーザー名が指定されると、ロール プロバイダー システムは、そのユーザーが属するロールのリストを返します。

メンバーシップ プロバイダーは、System.Web.Security.Membership.ValidateUser メソッドを使用して資格情報を検証します (SharePoint Foundation では必須)。ただし、実際のユーザー トークンは、セキュリティ トークン サービス (STS) によって作成されます。STS は、メンバーシップ プロバイダーによって検証されたユーザー名、およびメンバーシップ プロバイダーによって提供されるユーザー名に関連付けられている一連のグループ メンバーシップからユーザー トークンを作成します。

注意

STS の詳細については、「クレームベース ID の概要と概念」を参照してください。

ロール マネージャーはオプションです。カスタムの認証システムがグループをサポートしない場合、ロール マネージャーは不要です。SharePoint Foundation では、URL ゾーン (SPUrlZone) ごとにメンバーシップ プロバイダーとロール マネージャーを 1 つずつサポートします。ASP.NET フォームのロールには、権限の継承は関連付けられていません。代わりに、SharePoint Foundation では、そのポリシーと承認によって権限をフォームのロールに割り当てます。SharePoint Foundation では、フォーム ベースの認証はクレーム ベース ID モデルに統合されています。追加拡張によって URL ゾーンごとに 1 つのロール プロバイダーという制限を回避する必要がある場合は、クレーム プロバイダーを利用できます。

注意

クレーム ベースの ID とクレーム プロバイダーの詳細については、「クレームベース ID の概要と概念」と「クレーム プロバイダー」を参照してください。

ASP.NET メンバーシップおよびロール パッシブ サインインでは、クライアントを、ASP.NET ログイン コントロールがホストされている Web ページにリダイレクトすることによってサインインが行われます。ユーザー ID を示す ID オブジェクトが作成されたら、そのオブジェクトは、SharePoint Foundation 2010 でユーザーのクレームベースの表現を表す ClaimsIdentity オブジェクトに変換されます。

注意

SharePoint へのサインインの詳細については、「受信クレーム: SharePoint にサインインする」を参照してください。

SharePoint Foundation では標準の ASP.NET 2.0 ロール プロバイダ インターフェイスを使用して、現在のユーザーのグループ情報を収集します。認証目的としては、ロールとグループは同じものです。どちらも承認用の論理セットにユーザーをグループ化するための方法です。それぞれの ASP.NET ロールは、SharePoint Foundation によってドメイン グループとして扱われます。

ASP.NET によって提供されるプラグ可能な認証フレームワークについては、「New Security Features in ASP.NET 2.0」を参照してください。

注意

フォーム ベースの認証の詳細については、「Forms Authentication in SharePoint Products and Technologies (Part 1): Introduction」を参照してください。

関連項目

概念

SharePoint クレームベース ID