フォームベースの認証を構成する (Office SharePoint Server)
この記事の内容 :
フォームベースの認証について
複数の領域にまたがるフォームベースの認証を構成する
個人用サイト Web アプリケーション用にフォームベースの認証を構成する
フォームベースの認証用に SSP を構成する
ユーザー プロファイルおよびユーザー検索を構成する
Microsoft Office SharePoint Server 2007 の認証は、使用できる認証プロバイダのいずれかがサポートする認証機構によって実行されます。プロバイダ**は、要求者の資格情報を認証するために必要なコードを含むモジュールです。Office SharePoint Server 2007 の認証には ASP.NET 認証モデルに基づく次の 3 つの認証プロバイダがあります。
Windows 認証プロバイダ
フォームベースの認証プロバイダ
Web シングル サインオン (SSO) 認証プロバイダ
また、ASP.NET ではプラグ可能な認証プロバイダの使用もサポートされます。つまり、使用する資格情報ストアをサポートする認証プロバイダを作成できます。
フォームベースの認証について
フォームベースの認証プロバイダは、Active Directory 内に格納されている資格情報、SQL Server データベースなどのデータベースに格納されている資格情報、または Novell eDirectory、Novell Directory Services (NDS)、Sun ONE など、LDAP (ライトウェイト ディレクトリ アクセス プロトコル) データ ストア内に格納されている資格情報との照合による認証をサポートします。フォームベースの認証では、ログオン フォームに入力された資格情報の検証に基づいてユーザー認証を行うことができます。認証されていない要求はログオン ページにリダイレクトされ、このページでユーザーは有効な資格情報の入力とフォームの送信を求められます。要求が認証されると、その後の要求で使用する ID を再確立するためのキーを含む Cookie が発行されます。
フォームベースの認証プロバイダでは、次のいずれかに格納されている資格情報との照合による認証がサポートされます。
Active Directory ディレクトリ サービス
データベース
LDAP データ ストア
Office SharePoint Server 2007 Web サイトでフォームベースの認証を有効にし、ユーザーをユーザー アカウント データベースに追加するには、次の手順を実行します。
新しいサイトを作成する
SharePoint サーバーの全体管理 Web サイトのホーム ページで、[アプリケーション構成の管理] をクリックします。
[アプリケーション構成の管理] ページで、[SharePoint Web アプリケーション構成の管理] セクションの [Web アプリケーションの作成または拡張] をクリックします。
[Web アプリケーションの作成または拡張] ページで [新しい Web アプリケーションの作成] をクリックします。
[新しい Web アプリケーションの作成] ページの [セキュリティの構成] セクションにある [認証プロバイダ] で、[NTLM] が選択されていることを確認します。また、[匿名アクセスを許可する] で [はい] を選択します。
既定のエントリを使用して新しい Web アプリケーションの作成手順を実行し、[OK] をクリックします。
この時点で、新しいサイトのプレースホルダが作成されました。次の手順を使用して、サイト コレクションを作成します。
サイト コレクションを作成する
トップ リンク バーの [アプリケーション構成の管理] をクリックします。
[アプリケーション構成の管理] ページで、[SharePoint サイトの管理] セクションの [サイト コレクションの作成] をクリックします。
[サイト コレクションの作成] ページの [Web アプリケーション] セクションで、サイト コレクションを作成する Web アプリケーションが選択されていることを確認します。
選択されていない場合は、[Web アプリケーション] メニューの [Web アプリケーションの変更] をクリックします。次に、[Web アプリケーションの選択] ページで、サイト コレクションを作成する Web アプリケーションをクリックします。
[タイトルと説明] セクションで、サイト コレクションのタイトルと説明を入力します。
[Web サイトのアドレス] セクションの [URL] で、URL に使用するパスを選択します。
注意
ワイルドカードを含むパスを選択する場合は、サイトの URL で使用するサイト名も入力する必要があります。URL オプションに使用可能なパスは、ワイルドカードを使用した管理対象パスであると定義されている管理パスの一覧から取得されます。
[テンプレートの選択] セクションの [テンプレートの選択] 一覧で、サイト コレクションのトップレベル サイトに使用するテンプレートを選択します。
[サイト コレクションの管理者] セクションで、サイト コレクション管理者となるユーザーのユーザー名 (domain\username の形式) を入力します。
新しいトップレベル Web サイトの代理所有者として別のユーザーを識別する場合は (推奨)、[サイト コレクションの代理の管理者] セクションにサイト コレクションの代理管理者のユーザー名を入力します。
クォータを使用してサイト コレクションのリソース使用を制限する場合は、[クォータ テンプレート] セクションの [クォータ テンプレートの選択] 一覧でテンプレートをクリックします。
[OK] をクリックします。
これで、新しいサイト コレクションが作成されました。次の手順を使用して、フォームベースの認証プロバイダを構成します。
フォームベースの認証プロバイダを構成する
SharePoint サーバーの全体管理 Web サイトのホーム ページで、[アプリケーション構成の管理] をクリックします。
[アプリケーション構成の管理] ページで、[SharePoint Web アプリケーション構成の管理] セクションの [Web アプリケーションのリスト] をクリックします。
[Web アプリケーションのリスト] ページで、前の手順で作成した新しい Web アプリケーションをクリックします。
[アプリケーション構成の管理] ページの [アプリケーション セキュリティ] セクションで、[認証プロバイダ] をクリックします。
[認証プロバイダ] ページで、設定を構成する認証プロバイダの領域名をクリックします。
[認証の編集] ページの [認証の種類] セクションで、[フォーム] を選択します。
サイト コレクションへの匿名アクセスを明示的に許可する必要がある場合は、[匿名アクセス] セクションで、Web アプリケーション内のすべてのサイトの [匿名アクセスの有効化] チェック ボックスをオンにします。Web アプリケーション内のすべてのサイトで匿名アクセスを無効にするには、[匿名アクセスの有効化] チェック ボックスをオフにします。
注意
ここで匿名アクセスを有効にしても、サイト コレクション レベルまたはサイト レベルで匿名アクセスを拒否できます。一方、ここで匿名アクセスを無効にすると、Web アプリケーション内のすべてのレベルで匿名アクセスが無効になります。
[メンバシップ プロバイダ名] セクションの [メンバシップ プロバイダ名] ボックスに、使用するメンバシップ プロバイダの名前を入力します。
注意
Web アプリケーションでフォームベースの認証をサポートするには、各 Web サーバーの SharePoint コンテンツをホストする IIS Web アプリケーションの Web.config ファイルに、メンバシップ プロバイダが正しく構成されている必要があります。また、サーバーの全体管理をホストする IIS Web アプリケーションの Web.config ファイルにも、メンバシップ プロバイダを追加する必要があります。
[クライアント統合] セクションの [クライアント統合を有効にする] で [いいえ] が選択されていることを確認し、[保存] をクリックします。
[はい] を選択すると、ドキュメントの種類に従ってクライアント アプリケーションを起動する機能が有効になります。このオプションは、一部の種類のフォームベース認証では正常に機能しません。
[いいえ] を選択すると、ドキュメントの種類に従ってクライアント アプリケーションを起動する機能が無効になります。ユーザーがドキュメントをダウンロードし、変更してからアップロードする必要があります。
Microsoft Office SharePoint Server 2007 Service Pack 2 (SP2) をインストールしていない場合、フォームベース認証の使用時に、クライアント統合は既定で無効になっています。これは、クライアント統合が、Office SharePoint Server 2007 SP2 より前のフォームベース認証をネイティブにはサポートしないからです。クライアント統合が無効になっている場合、クライアント アプリケーションへのリンクが表示されず、クライアント アプリケーションでドキュメントを開くことができません。ドキュメントは、Web ブラウザ内でのみ開くことができます。ただし、ユーザーはドキュメントをダウンロードし、ローカルのクライアント アプリケーションで編集してから、サイトへアップロードできます。
Office SharePoint Server 2007 SP2 がインストールされている場合、Outlook 統合を除くクライアント統合がサポートされます。SharePoint Designer の作成など、Outlook 統合以外のクライアント統合はすべてサポートされます。
ユーザーが資格情報を送信すると、ユーザーを識別する Cookie がシステムによって発行されます。この後の要求では、システムは最初に Cookie を調べてユーザーが既に認証されているかどうかを確認するため、ユーザーが資格情報を再度入力する必要がありません。
ユーザーがログオン ページの [資格情報を記憶する] ボックスを選択しなかった場合、資格情報はクライアント コンピュータにキャッシュされず、そのセッションの間のみ有効になります。これは、ユーザーの資格情報がキャッシュされるべきでない公共のコンピュータや端末からユーザーが接続している状況では特に重要です。ブラウザを閉じたり、セッションからログオフしたり、別の Web サイトに移動したりすると、ユーザーは再認証を要求されます。また、アイドル状態でのセッション タイムアウトの最大値を構成して、ユーザーがセッション中に長時間にわたってアイドル状態になった場合に、再認証を強制することもできます。
複数の領域にまたがるフォームベースの認証を構成する
フォームベースの認証を実装すると、エンタープライズ検索機能の妨げになる可能性があります。カスタム認証機構を使用して認証されたコンテンツ間での検索を有効にするには、NTLM 認証をサポートするように既定の領域を構成する必要があります。Office SharePoint Server 2007 検索クローラは、次の順序で領域をポーリングします。
既定の領域
イントラネット領域
インターネット領域
ユーザー設定領域
エクストラネット領域
注意
フォームベースの認証を使用する場合に、Office SharePoint Server 2007 検索クローラが Kerberos 認証をサポートするように構成された領域をポーリングすると、Office SharePoint Server 2007 検索クローラのポーリングが失敗します。フォームベースの認証を使用する場合に、Office SharePoint Server 2007 検索クローラが基本認証または証明書認証をサポートするように構成された領域をポーリングするときには、共有サービス プロバイダ (SSP) の検索設定で、クロール ルールを構成し、資格情報または証明書を設定する必要があります。クロール ルールが構成されていない場合、クローラは NTLM で構成されている領域が見つかるまですべての領域を繰り返しポーリングします。NTLM で構成されている領域が見つかるとクロールは成功します。Kerberos またはダイジェスト認証で構成されている領域が見つかると、クロールが失敗し、ポーリングが停止します。
Office SharePoint Server 2007 では、Web アプリケーションが複数の領域にわたって同じプロバイダ名を使用することが許可されません。各領域で同じプロバイダを使用するように Web.config ファイルを構成できますが、プロバイダ名は領域ごとに一意である必要があります。
認証機構の詳細と、フォームベースの認証を複数プロバイダで構成する例については、「認証を計画する (Office SharePoint Server)」を参照してください。
個人用サイト Web アプリケーション用にフォームベースの認証を構成する
Office SharePoint Server 2007 展開全体にわたってフォームベースの認証を実装するように計画している場合、フォームベースの認証を個人用サイト Web アプリケーションと相互運用できるように構成する方法を決定する必要があります。フォームベースの認証によって認証されたユーザーがユーザー検索を実行し、Office SharePoint Server 2007 ファーム内に個人用サイト Web アプリケーションを作成できるようにするには、次の手順を実行します。
既定の領域に対して NTLM 認証を構成した Web アプリケーションを作成します。Web アプリケーションの作成の詳細については、「Web アプリケーションを作成または拡張する」を参照してください。
SSP を作成します。SSP の作成の詳細については「この章の概要 : 共有サービス プロバイダを作成および構成する」を参照してください。
この時点で、すべての Web アプリケーションが既定の領域まで拡張され、認証機構は NTLM に構成されます。
クローラがコンテンツにアクセスできるようにするには、次の図に示すように、サーバーの全体管理の Web アプリケーションのリストで Web アプリケーションを選択して、拡張されたコンテンツの Web アプリケーションをフォームベースの認証用に構成します。
[Web アプリケーションの作成または拡張] へのリンクをたどって、Web アプリケーションを拡張するオプションを選択します。IIS が新しい Web アプリケーションをホストする際に使用するポート番号の選択、この拡張された Web アプリケーションを配置する領域の選択など、詳細情報を入力します。
次の図は、既定の領域に常に作成される元の Web アプリケーションと、ユーザー設定領域に作成される拡張された Web アプリケーションを示しています。
それぞれの領域では、同じコンテンツに対して論理的に独立したアクセス制限がかかります。
注意
領域の数を増やすことはできません。
次の図に示すように、フォームベースの認証用に拡張された Web アプリケーションのメンバシップ プロバイダ名を構成します。
コンテンツの Web アプリケーションを別の領域まで拡張した後で、認証プロバイダを構成し、別の URL を使用する別の認証機構を有効にできます。この時点で、拡張された Web アプリケーションの Web.config ファイルにプロバイダ セクションを追加します。
注意
既定の領域の Web.config ファイルにプロバイダ セクションを追加しても、Office SharePoint Server 2007 が認識する新しい領域のプロバイダには影響を与えません。IIS Web サイトに関する限り、2 つの領域が同じアプリケーション プールを共有している場合であっても、これらの領域は実質的に互いに隔離されています。
[認証プロバイダ] ページへのリンクをたどって、認証プロバイダを変更します。このページでは、Web アプリケーションが拡張されたすべての領域を表示します。適切な領域を選択し、認証プロバイダを構成します。前の例の場合、ユーザー設定領域の認証プロバイダを [PeopleDCLDAPMemberShipProvider] と構成します。
Web アプリケーション内のすべてのサイト コレクションに対して管理アクセス権を持つ、最初の管理ユーザーを追加します。この例では、拡張されたすべての領域 (既定およびカスタム) でコンテンツが同じで、サイト コレクションが同一ですが、URL は異なります。Web アプリケーションが最初に作成されたときに、アプリケーション プール ID にはすべての領域の Web アプリケーションに対するすべて読み取り権限が付与されます。既定の領域では、Web アプリケーションのルートにサイト コレクションを作成したときに指定したサイト コレクションの管理者によってアクセスが制御されます。拡張された領域では、サイト コレクションに最初にログオンして管理作業を実行する、Web アプリケーションに対するフル コントロール権限を持つ特定のユーザーを追加する必要があります。ユーザーを追加するには、[Web アプリケーション] ページの [ポリシー] で [ユーザーの追加] をクリックし、領域を選択します。ユーザー選択ウィンドウを実行して、ユーザーの名前を解決します。
注意
ユーザー選択ウィンドウでは、拡張された Web アプリケーションの Web.config ファイルに構成されているプロバイダを使用してユーザーが解決されるため、ユーザーは "プロバイダ**:ユーザー名**" として追加されます。[領域] ボックスで [すべての領域] が選択されている場合、Office SharePoint Server 2007 ではカスタム プロバイダが無視されます。したがって、適切な領域が選択されていることを確認することが非常に重要です。
ユーザーを追加した後で、フォームベースの認証が機能していることを確認し、拡張された領域の URL を参照します。この例では、コンテンツの Web アプリケーションはポート 2000 の既定の領域にあり、ポート 2001 のユーザー設定領域に拡張されています。拡張されたポートに移動します。
この時点で、フォームベースの認証のログオン画面が表示されます。前の手順で追加したユーザーの資格情報を入力し、[送信] をクリックします。これにより、サイトの Default.aspx ページにリダイレクトされます。
Default.aspx ページは、既定の領域サイトの標準 Default.aspx ページに非常に似ています。しかし、この例では、個人用サイトの作成用リンクが表示されません。個人用サイトと個人用設定は、共有サービス プロバイダ (SSP) によって提供されるサービスです。これらのサービスをこの Web アプリケーションに対して提供する既存の SSP があります。しかし、この手順のこの時点では、SSP はログインに使用された資格情報を持つ新しいユーザーを認識していません。この例では、リンクはセキュリティ上の観点から削除されるため表示されず、SSP は現在のユーザーを認識していません。この状況を解決するには、次の手順で説明するように、フォームベースの認証用に SSP を有効にする必要があります。
フォームベースの認証用に SSP を構成する
フォームベースの認証用に共有サービス プロバイダ (SSP) を構成するには、SSP 管理 Web アプリケーションを拡張し、コンテンツ Web アプリケーションと同じ領域にマップします。[このファームの共有サービスの管理] ページでは、SSP をホストする管理サイトはポート 80 に表示され、SSP が認識するのは NTLM 認証のみです。SSP がカスタム プロバイダを認識できるようにするには、SSP をフォームベース認証用に構成します。
コンテンツ Web アプリケーションを拡張した領域まで、ポート 80 (管理サイトのホスト) の Web アプリケーションを拡張し、拡張した Web アプリケーションをフォームベース認証用に構成します。
注意
通常、ユーザーがこの新しい Web アプリケーションを認識することはありません。この Web アプリケーションによって、SSP がフォームベース認証を認識できるようになるだけです。
新しい SSP 管理サイトに移動します。管理 Web アプリケーションでフォームベースの認証を有効にした後に、http://<サーバー>:<拡張したポート>/ssp/admin/default.aspx という URL をブラウザに指定できます。これは、SSP 管理サイトの URL に似ています (ポート番号が異なります)。ただし、フォームベースの認証用ログオン ページで資格情報の入力が求められます。
[Web アプリケーション] ページの [ポリシー] のユーザー追加手順を使用して追加されたユーザーの資格情報を入力すると、[管理] ページにリダイレクトされます。
注意
[共有サービスの管理] ページの [ユーザー プロファイルと個人用サイト] セクションを参照しようとすると、アクセスが拒否されます。これは、ログオンしたユーザーがフォームベースの認証で認証されたユーザーであり、サイトを参照する権限があっても、ユーザーの権限の設定を変更する権限はないためです。この動作を変更するには、ユーザーが別のアカウントで明示的に提供された権限を持ち、アカウント自体にユーザーの権限設定を変更する権限がある必要があります。この例では、SSP に対するフル コントロールを設定して追加した 1 つのアカウントを使用して参照しているため、この構成は困難です。Windows 認証で認証された領域のユーザーにのみ、ユーザーの権限設定を編集する権限があります。フォームベースの認証で認証されたユーザーが、ユーザーの権限設定を編集できるようにするには、Windows 認証で認証された領域のユーザーとしてログオンする必要があります。
既定の領域を使用して SSP 管理サイトにログインし、個人用設定リンクの権限を追加します。
注意
ウェルカム コントロールに Windows ユーザーの ID が表示されていることを確認します。
[ユーザーの権限の設定] ページに移動し、ユーザー選択ウィンドウを開きます。
ここで、フォームベース認証で認証されたユーザーの解決が試行されます。この領域では、フォームベース認証で認証されたユーザーの検索に使用できる別のプロバイダの存在が認識されていないため、ユーザー選択ウィンドウではフォームベース認証で認証されたユーザーが解決されません。
この領域でプロバイダが認識されるようにするには、この領域の Web.config ファイルを編集して、フォームベースの認証を有効にするために追加したプロバイダ セクションと同じプロバイダ セクションを追加します。
重要
Web.config ファイルで、
defaultProvider
属性を設定しないでください。この属性を設定すると、ユーザー選択ウィンドウおよびセキュリティ トリマでのユーザーの解決と認証に、常にこのプロバイダが使用されます。[ユーザーの権限の設定] ページに戻り、ユーザー選択ウィンドウを開きます。今度は、フォームベース認証で認証されたユーザーが解決され、同じ条件に一致するすべてのユーザーが表示されます。
ユーザーを選択し、このユーザーに割り当てる権限を選択します。
[個人用サイトの作成] : [個人用サイト] リンクを表示し、ユーザーが個人用サイトを作成できるようにするには、この権限が必要です。
[個人機能の使用] : この権限があるユーザーは、SSP および個人用サイト機能にアクセスできます。
[ユーザー プロファイルの管理] : この権限があるユーザーは、プロファイル ストアのユーザー プロファイルを表示および管理できます。
[対象ユーザーの管理] : この権限があるユーザーは、対象ユーザーを管理できます。
[権限の管理] : この権限があるユーザーは、SSP に対する権限を管理できます。
[利用状況分析の管理] : この権限があるユーザーは、利用状況分析を管理および構成できます。
[保存] をクリックします。
この時点で、ユーザー設定領域の SSP サイトにフォームベース認証で認証されたユーザーとして再びログオンし、さらにユーザーを追加できます。また、追加したそれらのユーザーに対する権限を構成することもできます。個人用サイトの作成権限を有効にしたユーザーには、[個人用サイト] リンクが表示されます。フォームベース認証で認証されたユーザーを使用してユーザー設定領域のポータルを表示し、ウェルカム コントロールに [個人用サイト] リンクが表示されることを確認できます。ただし、リンクをクリックしても、実際に個人用サイトは作成されません。これは、SSP がユーザー設定領域に拡張されていても、個人用サイトのホストとして既定の領域のみをまだ参照しているからです。Web アプリケーションでは、フォーム認証で認証されたユーザーがまだ認識されていません。この問題は、個人用サイトの Web アプリケーションを拡張し、フォームベース認証用に構成することで解決できます。
個人用サイトのホストは SSP 内から手動で設定できるため、SSP 管理 Web アプリケーション以外の領域に個人用サイトのホストを拡張する場合は問題になりません。これらの 2 つの領域を別々にする必要があるシナリオを実装する場合は、フォームベース認証を使用して SSP を参照し、個人用サイトのホストを手動で設定できます。フォームベースの認証を使用して SSP 管理 Web サイトに移動し、[個人用サイトの設定] ページに移動します。
これで、新しく拡張した個人用サイト Web アプリケーションを指すように、個人用サイト プロバイダを編集できます。個人用サイト Web アプリケーションを SSP 管理 Web アプリケーションと同じ領域に拡張する場合、Office SharePoint Server 2007 によって自動的に個人用サイトが再配置されるため、この構成を手動で実行する必要はありません。
また、コンテンツ サイトに移動し、フォームベース認証を使用してログオンして、フォームベース認証で認証されたユーザーの個人用サイトも作成できます。
ユーザー プロファイルおよびユーザー検索を構成する
Office SharePoint Server 2007 展開全体にわたってフォームベースの認証を実装することを計画している場合、フォームベースの認証をユーザー プロファイルおよびユーザー検索と相互運用できるように構成する方法を決定する必要があります。Office SharePoint Server 2007 では、アクティブな認証プロバイダを使用してユーザー プロファイルがインポートされます。ユーザー検索がフォームベースの認証と共に動作するには、フォームベースの認証プロバイダによってユーザー プロファイルがインポートされる必要があります。既定の領域で Windows 認証を使用してインポートされた一連のユーザーと、ユーザー設定領域でフォームベースの認証を使用してインポートされた一連のユーザーが同じ場合、プロファイル インポートでは同じユーザーが同時にインポートされますが、それらのユーザーは個別に識別されます。たとえば、"domain\user1" というユーザーは、"プロバイダ:user1" というユーザーとは別のユーザーとして扱われます。これは、インポート元を含め、すべてのプロパティが同じ場合にも当てはまります。プロバイダによって 2 人のユーザーが区別され、2 人の個別のユーザーとして扱われます。
既に SSP 管理 Web アプリケーションがフォームベース認証と連携するように構成されている場合、ユーザー検索を有効にするには、次の手順を実行します。SSP 管理 Web アプリケーションが拡張され、フォームベースの認証を使用するように正しく構成されていることを確認します。また、[ユーザーの権限の設定] ページで、ユーザー プロファイルを管理する権限を管理ユーザーに明示的に割り当てる必要もあります。
ユーザー プロファイル インポートを構成するには、ユーザー設定領域の SSP 管理サイトに移動します。ここは既に、フォームベースの認証と連携するように構成されているため、管理ユーザーの資格情報を使用してログオンできます。
[ユーザー プロファイルとプロパティ] をクリックして、新しいインポート接続を構成します。
Active Directory、LDAP ディレクトリ、Active Directory リソース、ビジネス データ カタログから選択できます。この例では、インポート元がドメイン上のユーザー ストアのため、接続の種類として LDAP ディレクトリが選択されます。
プロバイダ セクションで定義されているとおりに、接続名と LDAP サーバー名を入力します。
Web.config ファイルに記載されているプロバイダ名と、プロバイダ セクションのユーザー名属性を入力します。残りの情報は、自動的に入力されます。
新しく追加したインポート接続を使用して、インポートを開始します。
次の図に示すように、[ユーザー プロファイルの表示] をクリックして、プロファイルがインポートされたことを確認します。
インポートが実行されると、Office SharePoint Server 2007 のユーザー プロファイル ストアが新しいプロファイルで更新されます。ユーザー検索を有効にするには、次の手順を実行します。
ユーザー コンテンツ ソースのクロールを開始します。クロールが終了すると、フォームベースの認証サイトでユーザー検索を実行できるようになります。
このブックのダウンロード
このトピックは、簡単に読んだり印刷したりできるように、次のダウンロード可能なブックに収録されています。
入手可能なドキュメントの詳細な一覧については、「Office SharePoint Server 2007 (英語)」を参照してください。