SharePoint での認証、承認、およびセキュリティ
SharePoint の認証、承認、およびセキュリティの新機能
以下に、SharePoint に追加された強化機能をいくつか挙げます。
ユーザー サインイン
SharePointは、クレーム認証とクラシック認証の両方の認証モードを引き続きサポートします。 クレーム認証は SharePointの既定の認証オプションです。 クラシックモード認証は使用されなくなり、Windows PowerShell の使用によってのみ管理できます。 SharePointの多くの機能でクレームモードを使用する必要があります。
SharePoint 2010 の MigrateUsers メソッドは使用されなくなり、アカウントを移行するための正しい手段ではなくなりました。 アカウントを移行するには、
Convert-SPWebApplication
という Windows PowerShell の新しいコマンドレットを使用します。 詳細については、「 SharePoint でクラシック モードからクレーム ベースの認証に移行する」を参照してください。クレーム プロバイダーを登録するための要件は除外されています。 ただし、クレームの種類を事前に設定しておく必要があります。 クレームの種類の文字を選択でき、クレームの種類の順序に制約はありません。
SharePointは、Windows Server AppFabric キャッシュ機能を使用して、新しい分散キャッシュ サービスの FedAuth クッキーを追跡します。
認証の問題のトラブルシューティングに役立つように、以前よりもはるかに多くのログが提供されます。
サービスおよびアプリケーションの認証
SharePointでは、SharePoint 用のアプリケーションを作成できるようになりました。 SharePoint アドインには独自の ID があり、アプリ プリンシパルというセキュリティ プリンシパルと関連付けられています。 ユーザーやグループと同様に、アプリ プリンシパルにも特定のアクセス許可および権限があります。
SharePointでは、サーバー間のセキュリティ トークン サービス (STS) がサーバー間認証用のアクセス トークンを提供します。 サーバー間の STS は、一時アクセス トークンを有効にして、Exchange Server 2013および Microsoft Lync 2013 などの他のアプリケーション サービスや、SharePoint用アプリケーションへのアクセスを可能にします。
認証と承認
SharePoint では、Web サイト、リスト、リスト フォルダーまたはライブラリ フォルダー、およびアイテム レベルでのユーザー アクセスのセキュリティがサポートされています。 セキュリティ管理は、すべてのレベルでロールベースであり、SharePoint プラットフォーム全体で一貫したセキュリティ管理を提供し、オブジェクトに対するアクセス許可を割り当てるための一貫性のあるロールベースのユーザー インターフェイスとオブジェクト モデルを提供します。 その結果、リスト レベル、フォルダー レベル、またはアイテム レベルのセキュリティでは、Web サイト レベルのセキュリティと同じユーザー モデルが実装されるため、Web サイト全体でユーザー権限とグループ権限を簡単に管理できます。 SharePoint では、リストやドキュメント ライブラリに含まれるフォルダーとアイテムに対する一意のアクセス許可もサポートされています。
注:
SharePoint アドインに関連する承認の詳細については、「 SharePoint アドインの承認と認証」を参照してください。
承認とは、特定のオブジェクトに対して特定のアクションを実行できるユーザーを決定することで、SharePoint が Web サイト、リスト、フォルダー、またはアイテムのセキュリティを提供するプロセスを指します。 承認プロセスでは、ユーザーが既に認証されていることを前提としています。これは、SharePoint が現在のユーザーを識別するプロセスを指します。 SharePoint では、認証または ID 管理用に独自のシステムを実装するのではなく、Windows 認証か非Windows 認証かに関係なく、外部システムに依存します。
SharePointでは、以下の種類の認証をサポートしています。
Windows: 基本、ダイジェスト、証明書、NTLM (Windows NT LAN Manager)、および Kerberos を含めたすべての Internet Information Services (IIS) と Windows 認証の統合オプションがサポートされています。 Windows 認証では、IIS を使用して SharePointの認証を実行できます。
Windows 要求モードを使用した SharePoint へのサインインの詳細については、「 受信要求: SharePoint へのサインイン」を参照してください。
重要
偽装の一時中断については、「呼び出し元ユーザーの偽装を一時中断しないようにする」を参照してください。
ASP.NET フォーム: プラグ可能な ASP.NET フォーム ベースの認証システムを使用する Windows 以外の ID 管理システムがサポートされています。 このモードを使用すると、SharePoint は、外部で定義されたグループや、ライトウェイト ディレクトリ アクセス プロトコル (LDAP) や軽量データベース ID 管理システムなどのロールなど、さまざまな ID 管理システムと連携できます。 フォーム認証を使用すると、ASP.NET は SharePoint の認証を実行できます。多くの場合、ログオン ページへのリダイレクトが含まれます。 SharePoint では、ASP.NET フォームは要求認証でのみサポートされます。 フォーム プロバイダーは、クレーム用に構成された Web アプリケーション内に登録する必要があります。
メンバーシップとロールのパッシブ サインイン ASP.NET 使用して SharePoint にサインインする方法については、「 受信要求: SharePoint へのサインイン」を参照してください。
注:
SharePoint では、大文字と小文字を区別するメンバーシップ プロバイダーの使用をサポートしていません。 メンバーシップ プロバイダーに関係なく、データベース内のすべてのユーザーに対して大文字と小文字を区別しない SQL ストレージが使用されます。
クレームベースの ID および認証
クレームベース ID は SharePointの ID モデルで、Windows ベース システムと Windows 以外のベース システムにまたがるユーザーの認証、複数種類の認証方式、リアルタイム認証の強化、プリンシパルの種類の拡充、アプリケーション間でのユーザー ID 委任など、さまざまな機能が含まれます。
ユーザーが SharePointにサインインするときに、ユーザーのトークンが検証され、そのトークンを使用して SharePoint にサインインします。 ユーザーのトークンは、クレーム プロバイダーによって発行されるセキュリティ トークンです。 サポートされているサインインあるいはアクセス モードは以下のとおりです。
Windows クレームモードでのサインイン (既定)
SAML パッシブ サインイン モード
ASP.NET メンバーシップおよびロール パッシブ サインイン
Windows クラシックモード サインイン (このリリースでは非推奨)
注:
SharePoint へのサインインとさまざまなサインイン モードの詳細については、「 受信要求: SharePoint へのサインイン」を参照してください。
クレームを処理できるアプリケーションを構築する場合、ユーザーはアプリケーションに ID を一連のクレームとして提示します。 クレームはそれぞれ、ユーザー名、電子メール アドレスなどです。 このしくみの基本にあるのは、何らかの外部 ID システムが構成され、そこからアプリケーションに対して、ユーザーに関するすべての必要な情報 (および、受け取った ID データが信頼できる提供元から得られたものであることを示す暗号化済みの証拠) が個々の要求と共に提供されるという考え方です。
このモデルでは、シングル サインオンの実現が非常に容易になり、ユーザーのアプリケーションは以下の点を考慮する必要がなくなります。
ユーザーの認証
ユーザー アカウントおよびパスワードの保存
ユーザー ID の詳細を検索するために企業のディレクトリを呼び出す
その他のプラットフォームあるいは企業の ID システムとの統合
このモデルでは、アプリケーションはユーザーによって提供されたクレームに基づいて、ID に関連する判断をします。 これには、ユーザーの名前による簡単なアプリケーションの個人用設定から、アプリケーションのより高度な機能およびリソースにアクセスするためのユーザー認証に至るまで、幅広い用途が含まれます。
注:
クレーム ベースの ID プロバイダーとクレーム プロバイダーの詳細については、「SharePoint のクレーム ベースの ID と概念」と「SharePoint のクレーム プロバイダー」を参照してください。
フォームベース認証
フォーム ベースの認証は、個々のユーザーを識別および認証するためのインターフェイスを定義するメンバーシップ プロバイダーと、個々のユーザーを論理グループまたはロールにグループ化するためのインターフェイスを定義するロール マネージャーを実装することで、SharePoint でカスタム ID 管理を提供します。 SharePoint では、メンバーシップ プロバイダーが必要な System.Web.Security.Membership.ValidateUser メソッドを 実装する必要があります。 ユーザー名が指定されると、ロール プロバイダー システムは、そのユーザーが属するロールのリストを返します。
メンバーシップ プロバイダーは、 System.Web.Security.Membership.ValidateUser メソッド (現在は SharePoint で必要) を使用して資格情報を検証する役割を担います。 ただし、実際のユーザー トークンは、セキュリティ トークン サービス (STS) によって作成されます。 STS は、メンバーシップ プロバイダーによって検証されたユーザー名、およびメンバーシップ プロバイダーによって提供されるユーザー名に関連付けられている一連のグループ メンバーシップからユーザー トークンを作成します。
注:
STS の詳細については、「 SharePoint での要求ベースの ID と概念」を参照してください。
ロール マネージャーはオプションです。 カスタムの認証システムがグループをサポートしない場合、ロール マネージャーは不要です。 SharePointでは、URL ゾーン ( SPUrlZone ) ごとにメンバーシップ プロバイダーとロール マネージャーを 1 つずつサポートします。 ASP.NET フォームのロールには、権限の継承は関連付けられていません。 代わりに、SharePointでは、そのポリシーと承認によって権限をフォームのロールに割り当てます。 SharePointでは、フォーム ベースの認証はクレーム ベース ID モデルに統合されています。 追加拡張によって URL ゾーンごとに 1 つのロール プロバイダーという制限を回避する必要がある場合は、クレーム プロバイダーを利用できます。
注:
クレーム ベースの ID プロバイダーとクレーム プロバイダーの詳細については、「SharePoint のクレーム ベースの ID と概念」と「SharePoint のクレーム プロバイダー」を参照してください。
ASP.NET メンバーシップおよびロール パッシブ サインインでは、クライアントを、ASP.NET ログイン コントロールがホストされている Web ページにリダイレクトすることによってサインインが行われます。 ユーザー ID を表す ID オブジェクトを作成した後、SharePoint はそれを ClaimsIdentity オブジェクト (ユーザーのクレーム ベースの表現を表します) に変換します。
注:
SharePoint へのサインインの詳細については、「 受信要求: SharePoint へのサインイン」を参照してください。
SharePoint では、標準の ASP.NET ロール プロバイダー インターフェイスを使用して、現在のユーザーに関するグループ情報を収集します。 認証のために、ロールとグループは同じものです。承認のためにユーザーを論理セットにグループ化する方法です。 各 ASP.NET ロールは、SharePoint によってドメイン グループとして扱われます。
ASP.NET によって提供されるプラグ可能な認証フレームワークの詳細については、ASP.NET の開発者向けドキュメントを参照してください。
注:
フォーム ベース認証の詳細については、「SharePoint 製品とテクノロジのフォーム認証 (パート 1): 概要」を参照してください。