LDAP データストアに対してフォーム ベース認証を使用する Project Web Access サイトを作成する

更新日: 2007年6月

 

トピックの最終更新日: 2008-04-11

ここでは、LDAP (Lightweight Directory Access Protocol) データストアに対してフォーム ベース認証を使用する Project Web Access サイトを作成することについて説明します。このような認証を行うための以下の手順について、この記事の中で詳細に説明します。

  1. 使用できる LDAP データ ストアを用意する

  2. サイトの Web.config ファイルをバックアップする

  3. Web アプリケーションを拡張してフォーム認証サイトを作成する

  4. サイトの認証方法を指定する

  5. 新しいサイトと SharePoint サーバーの全体管理 Web サイトのために Web.config ファイルを編集する

  6. LDAP ディレクトリとの通信を確認する

  7. Project Server にユーザー アカウントを追加する

    [!メモ] これらの手順はサーバーの全体管理、Project Web Access の [サーバー設定]、およびインターネット インフォメーション サービス マネージャを通じて行います。これらの手順を実行するために適切な権限を持っていることを確認してください。

使用できる LDAP データ ストアを用意する

Project Server ユーザーの認証先として使用できる LDAP データ ストアを用意する必要があります。LDAP データ ストアはネットワーク オペレーティング システム (NOS) のディレクトリ サービスによって既に存在している場合もあります。または、外部の LDAP ディレクトリ サービスによってデータ ストアを作成することもできます。

ADAM (Active Directory Application Mode) は、LDAP ディレクトリ サービスの一例です。詳細については、「Active Directory Application Mode (ADAM) ディレクトリ サービスを使用して LDAP データ ストアを作成する」を参照してください。

サイトの Web.config ファイルをバックアップする

LDAP データ ストアに対するフォーム ベース認証を有効にするには、インターネット インフォメーション サービス (IIS) Web サイトの構成ファイルをいくつか編集する必要があります。これらの各ファイルのバックアップ コピーを保存しておくことをお勧めします。

IIS Web 構成ファイルのバックアップ コピーを作成する

  1. Windows エクスプローラで、<ドライブ>\Inetpub\wwwroot\wss\VirtualDirectories\ を参照します。このディレクトリには、それぞれの Windows SharePoint Services Web アプリケーション サイト用のファイルが含まれています。

    既定では、この段階で少なくとも 3 つのサブディレクトリが存在します。1 つのサブディレクトリの名前は、Project Web Access の既定のサイト用の Web アプリケーションが使用するポートに由来しています。もう 1 つのサブディレクトリの名前は、共有サービス プロバイダ用の Web アプリケーションが使用するポートに由来しています。3 つ目のサブディレクトリは、サーバーの全体管理用の Web アプリケーションが使用するポートに由来しています。

    [!メモ] 各 Web アプリケーションで使用されているポートを確認する必要がある場合は、インターネット インフォメーション サービス マネージャを実行します。

  2. Project Web Access サイト用の Web アプリケーションが使用しているフォルダを開き、Web.config ファイルをコピーして、そのコピーを異なる場所に保存します。このファイルは別の名前に変更することをお勧めします (たとえば、この Web アプリケーションがポート 80 を使用している場合、Web.config80 という名前で保存します)。

  3. サーバーの全体管理用のフォルダを開き、Web.config ファイルをコピーして、そのコピーを異なる場所に保存します。このファイルは別の名前に変更することをお勧めします (たとえば、Web.configCA という名前で保存します)。

    これらのファイルをバックアップから保存する必要がある場合は、ファイルを元のフォルダにコピーして名前を変更し、置き換えるコピーを上書きします。

    [!メモ] サイトの Web.config ファイルをバックアップしている間に、Windows SharePoint Services で構成変更を行わないように注意してください。Windows SharePoint Services で構成変更を行おうとしているとき Web.config ファイルが開かれていると、変更が無効になる可能性があります。

Web アプリケーションを拡張する

既定の領域で使用している Project Web Access サイトには Web アプリケーションと構成データベースがあります。

[!メモ] この Web アプリケーションは多数のポートのうち、どのポートでも使用できます。この記事の後で、この Web アプリケーションを簡単に参照するため、ポート 80 を使用していると仮定します。

Web アプリケーションを拡張して、フォーム ベース認証を利用する予定のユーザーのために新しいサイトを作成する必要があります。このサイトは、既定のサイトと同じ構成データベースを使用しますが、異なるポート経由で Project Server にアクセスすることになります。このサイトのユーザーは、前に作成した LDAP データ ストアに対して認証されます。

この手順はサーバーの全体管理を使用して実行します。

Web アプリケーションを拡張する

  1. サーバーの全体管理で、[アプリケーション構成の管理] に移動します。[SharePoint Web アプリケーション構成の管理] セクションで、[Web アプリケーションの作成または拡張] をクリックします。

  2. [Web アプリケーションの作成または拡張] ページで、[既存の Web アプリケーションの拡張] をクリックします。

  3. [別の IIS Web サイトへの Web アプリケーションの拡張] ページの [Web アプリケーション] セクションで、[Web アプリケーション] の一覧の [Web アプリケーションの変更] を選択します。Project Web Access の既定のサイトを表す Web アプリケーションをクリックします。

  4. [IIS Web サイト] セクションで、[ポート] ボックスに一意のポート番号を入力します (たとえば「90」)。このポート番号は、新しいサイトの説明に反映されます (たとえば "SharePoint - 90")。

  5. [負荷分散される URL] セクションの [領域] で、サイトを作成しようとしている領域を選択します。

  6. [OK] をクリックします。

サイトの認証方法を指定する

以下の手順で、新しい Web サイトの認証方法を指定できます。

サイトの認証方法を指定する

  1. SharePoint サーバーの全体管理 Web サイトで、[アプリケーション構成の管理] に移動します。[アプリケーション セキュリティ] セクションで、[認証プロバイダ] をクリックします。

  2. [認証プロバイダ] ページの [Web アプリケーション] メニューで、Project Web Access サイト用の Web アプリケーションが選択されていることを確認します (前のセクションで参照したポート 80 を使用しているもの)。

  3. 作成したばかりの拡張サイトのために使用される領域を選択します (たとえば "Extranet")。

  4. [認証の編集] ページの [認証の種類] で、[フォーム] を選択します。この選択によって、ページ上で選択することができるその他の構成オプションが変化します。

  5. [メンバシップ プロバイダ名] セクションの [メンバシップ プロバイダ名] ボックスに、メンバシップ プロバイダの名前を入力します。

    Important重要
    入力する名前は、サイトの Web.config ファイルに入力されているメンバシップ プロバイダ名と正確に一致している必要があります。この設定は <add> 要素の "name" 属性で指定されています。Web.config ファイルの編集の詳細については、「LDAP フォーム ベース認証用の Web.config ファイルの例」を参照してください。
  6. [保存] をクリックします。

サイトの Web.config ファイルを編集する

サイトを作成してそのサイトの認証プロバイダを指定したら、サイトの Web.config ファイルを編集できます。これらの変更によって、LDAP データ ストアが置かれている場所と、サイトのユーザー アカウントをディレクトリ構造内のどこに格納するかを指定します。

以下のサイトの Web.config ファイルを編集する必要があります。

  • LDAP データストアに対してフォーム ベース認証を使用する、新しく作成したサイト

  • SharePoint サーバーの全体管理 Web サイト

Windows SharePoint Services によって追加されたユーザーの認証を行う場所をサーバーの全体管理サービスで識別できるように、サーバーの全体管理の Web.config ファイルを構成する必要があります。

フォーム ベース認証のサイトが 1 つだけの場合、このサイトの Web.config ファイルに対する変更と、サーバーの全体管理の Web.config ファイルに対する変更の内容は同じになります。フォーム ベース認証のサイトが複数ある場合、サーバーの全体管理の Web.config ファイルには、両方のサイトの情報が必要です。詳細については、「LDAP フォーム ベース認証用の Web.config ファイルの例」を参照してください。

以下の手順は、フォーム ベース認証のサイトが 1 つであることを前提としています。

LDAP フォーム認証プロバイダを使用するように Web.config ファイルを編集する

  1. Windows エクスプローラで、<ドライブ>:\Inetpub\wwwroot\wss\VirtualDirectories**\** を参照し、新しいフォーム ベース認証サイトのフォルダを参照します。フォルダ名には、ポート番号が反映されます。たとえば、サイトのポートが 90 であれば、対応するフォルダは 90 です。

  2. このサイトのフォルダで、テキスト エディタを使用して Web.config ファイルを開きます。

  3. <configuration> <system.web> </system.web> </configuration> 要素内に、認証先として使用する予定の LDAP データ ストアの構成情報を入力します。たとえば、次の構成情報では、「Active Directory Application Mode (ADAM) ディレクトリ サービスを使用して LDAP データ ストアを作成する」で ADAM ユーティリティを使用して作成されたサンプル LDAP データ ストアが使用されます。

    <membership defaultProvider="ADAMMembership">
      <providers>
       <add     
        name="ADAMMembership"
        type="Microsoft.Office.Server.Security.LDAPMembershipProvider, 
            Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral, 
            PublicKeyToken=71E9BCE111E9429C"
        server="ps2007ldap"
        port="50000"
        useSSL="false"
        userDNAttribute="distinguishedName"
        userNameAttribute="cn"
        userContainer="CN=Users,OU=Support,O=fabricam,C=US"
        userObjectClass="user"
        userFilter="(ObjectClass=user)"
        scope="Subtree"
        otherRequiredUserAttributes="sn,givenname,cn" />
      </providers>
    </membership>
    

    加える変更によって他の XML データが影響を受けないように、閉じる側の </system.web> タグの直前に、このテキストを挿入します。XML ファイル内のより深い位置に他の <system.web> タグが存在するため、必ず正しい位置にテキストを挿入するようにします。

    [!メモ] Web.config ファイルの編集の詳細については、「LDAP フォーム ベース認証用の Web.config ファイルの例」を参照してください。

  4. 変更をファイルに保存します。

  5. Windows エクスプローラで、サーバーの全体管理用の Web.config ファイルを開きます。手順 3. で入力したのと同じテキスト情報を、このファイルの同じ位置に入力します。

  6. 変更をファイルに保存します。

LDAP ディレクトリとの通信を確認する

両方のサイトの Web.config ファイルを編集したら、LDAP ディレクトリとの通信を確認することができます。これは、サーバーの全体管理の [ユーザーの追加] ページから行います。LDAP ディレクトリに対していずれかのユーザーを検証できるかどうかをテストします。アカウントが認識されず、そのアカウントが LDAP ディレクトリ内に存在していることがわかっている場合は、Web.config ファイル内の設定を確認します。

この手順は省略可能であることに注意してください。この手順を省略し、Project Web Access を介して Project Server にユーザーを直接追加することができます。ただし、この手順を実行して LDAP ディレクトリとの通信を確認することをベスト プラクティスとしてお勧めします。フォーム ベース認証を使用して Project Web Access でユーザーを追加している場合は、LDAP ディレクトリとの通信を確認する方法はありません。

LDAP ディレクトリとの通信を確認する

  1. サーバーの全体管理で、[アプリケーション構成の管理] に移動します。[アプリケーション セキュリティ] セクションで、[Web アプリケーションのポリシー] をクリックします。

  2. [Web アプリケーションのポリシー] ページで、[Web アプリケーション] の一覧に移動し、正しいアプリケーションが選択されていることを確認します (Project Web Access 用の Web アプリケーション)。

  3. [ユーザーの追加] をクリックします。

  4. [ユーザーの追加] ページの [領域の選択] セクションで、正しい領域を選択し、[次へ] をクリックします。

  5. 同じページの [ユーザーの選択] セクションの [ユーザー] ボックスで、ユーザーを次の形式でサイトに追加します。

    <MembershipProviderName>:<Username>

    次に例を示します。

    ADAMMembership:PeterKrebs

    [名前の確認] アイコンをクリックし、LDAP ディレクトリに対してユーザー名を確認します。認証先として構成した LDAP ディレクトリによって確認されたユーザー名は下線付きで表示されます。名前が確認されない場合は、サーバーの全体管理の Web サイトの Web.config ファイルに入力した情報をチェックします。

  6. 権限を選択する必要はありません。LDAP ディレクトリとの通信を確認しているだけで、実際に Windows SharePoint Services にユーザーを追加しているのではないためです。[戻る] をクリックします。

  7. [ユーザーの追加] ページで [キャンセル] をクリックします。

Project Server にユーザー アカウントを追加する

LDAP ディレクトリへの通信を確認したら、フォーム認証を行うユーザー アカウントを Project Web Access を介して Office Project Server 2007 に追加できます。

LDAP フォーム認証を行うユーザーを Project Server に追加する

  1. 既定の領域で Project Web Access サイトにログオンします。[サーバー設定] をクリックします。

  2. [ユーザーの管理] をクリックします。

  3. [ユーザーの管理] ページで、[新しいユーザー] をクリックします。

  4. [新しいユーザー] ページで、ユーザーの表示名を入力します。次に、[フォーム認証] を選択します。

  5. ユーザーのログオン アカウントを入力します。たとえば、「ADAMMembership:User1」と入力します。

  6. ユーザーのその他のセキュリティ設定を構成します。次に、[保存] をクリックします。

これで、指定したログオン情報を使用して、LDAP で認証されるサイトにログオンできます。