Office SharePoint Server サイトのロックダウン

ロックダウン モードを Microsoft Office SharePoint Server 2007 サイトで有効にすることにより、匿名ユーザーに対するアクセス許可を制限できます。Office SharePoint Server 2007 におけるロックダウン モードの詳細については、「外部の匿名アクセス環境のセキュリティを計画する (Office SharePoint Server)」の「ロックダウン モードを使用する」のセクションを参照してください。

ただし、ロックダウン モードが有効なときでも、匿名ユーザーは、_layouts ディレクトリにあるページや、_vti_bin ディレクトリに公開された Web サービスなど、特定の Office SharePoint Server アプリケーションの URL にアクセスできます。このトピックでは、Web.config ファイルを変更してこのような追加的なリソースへのアクセスを制限する方法について説明します。

注意

Office SharePoint Server サイトでのセキュリティを向上するには、ロックダウン モードを有効にし、このトピックで説明する方法に従って Web.config ファイルを変更する必要があります。

Web.config ファイルを使用したアクセスの許可と拒否

location 要素を Web.config に追加することにより、Web リソースへのアクセス許可と拒否の両方設定できます。たとえば、location 要素を追加して匿名ユーザーによる _layouts ディレクトリへのアクセスを拒否した上で、2 番目の location 要素を追加して、匿名ユーザーが _layouts/login.aspx ページにアクセスできるよう明示的に許可を与えることができます。2 番目の location 要素は最初の location 要素よりも優先され、ログイン ページへのアクセス拒否の例外が作成されます。

location 要素の詳細については、「外部の匿名アクセス環境のセキュリティを計画する (Office SharePoint Server)」の「ロックダウン モードを使用する」のセクションを参照してください。

注意

Web.config ファイルを直接編集することはお勧めしません。Web.config ファイルを直接編集した場合には、Office SharePoint Server のインストールをアップグレードしたときに変更内容が上書きされたり、修正された Web.config ファイルがファームにあるすべてのフロント エンド Web サーバーにコピーされない可能性があります。その代わりに、特別な XML ファイルを作成して \Config ディレクトリに保存しておきます。アップグレードのときには、Windows SharePoint Services 3.0 と Office SharePoint Server 2007 の両方とも、このディレクトリにあるファイルを探し、ファイルに記述された変更内容を Web.config ファイルに適用するので、変更内容が失われずに済みます。Windows SharePoint Services 3.0 および Office SharePoint Server 2007 の Web.config ファイルに対するカスタマイズ内容を持続させる方法の詳細については、「[方法] カスタムの構成設定を追加して Web アプリケーションを拡張する」(http://go.microsoft.com/fwlink/?linkid=157096&clcid=0x411) を参照してください。

匿名ユーザーがアクセスできるページ

匿名ユーザーがサーバーに対して認証を許可できるようにするには、匿名ユーザーが次のページにアクセスできるようにしておく必要があります。

  • _layouts/login.aspx

  • _layouts/accessdenied.aspx

  • _layouts/error.aspx

匿名ユーザーがこれらのページにアクセスできない場合は、Office SharePoint Server は正しく機能しません。

匿名ユーザーが _layouts ディレクトリの追加のページ、または_vti_bin ディレクトリの追加のサービスにアクセスする必要があるような、カスタマイズされたソリューションを展開している場合、そのようなリソースに対しても匿名アクセスが可能となるように明示的に設定します。

このセクションで紹介する例の最初の 2 つでは、匿名アクセスを制限するのに利用できる戦略について説明します。読みやすくするため、どちらの例でも Web.config ファイルに出てくる XML を使用します。3 番目の例では、Windows SharePoint Services および Office SharePoint Server の Web.config ファイルに XML 要素を追加する正しい方法について説明します。

重要

最初の 2 つの例にある XML 文を Web.config ファイルに直接追加することはやめてください。その場合は、代わりに、「[方法] カスタムの構成設定を追加して Web アプリケーションを拡張する」(http://go.microsoft.com/fwlink/?linkid=157096&clcid=0x411) の説明に従って、3 番目の例のようなファイルを作成して \Config ディレクトリに保存します。

例 1: すべてのリソースに対するアクセスを拒否し、特定のリソースに対してのみ選択的にアクセスを許可する場合

次の部分的な XML では、まず最初に匿名ユーザーに対して _layouts および _vti_bin ディレクトリのすべてのページへのアクセスを拒否し、次に _layouts ディレクトリの特定の 4 つのページへのアクセスを許可しています。疑問符 (?) は匿名ユーザーを表しています。このような制限は、認証済みのユーザーには適用されません。

<configuration>

  <location path="_layouts">
    <system.web>                  
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
  </location>

  <location path="_vti_bin">
    <system.web>                  
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
  </location>

  <location path="_layouts/login.aspx">
    <system.web>
      <authorization>
        <allow users="?" />
      </authorization>
    </system.web>
  </location>

  <location path="_layouts/error.aspx">
    <system.web>
      <authorization>
        <allow users="?" />
      </authorization>
    </system.web>
  </location>
 
  <location path="_layouts/accessdenied.aspx">
    <system.web>
      <authorization>
        <allow users="?" />
      </authorization>
    </system.web>
  </location>


</configuration>

例 2: 特定のリソースに対するアクセスを拒否する場合

次の部分的な XML では、匿名ユーザーが _layouts/error.aspx および _layouts/SearchResults.aspx にアクセスすることを拒否しています。_layouts ディレクトリにある他のページへのアクセスは、サイトのロックダウン モードの状態により管理されています。疑問符 (?) は匿名ユーザーを表しています。このような制限は、認証済みのユーザーには適用されません。

<configuration>

  <location path="_layouts/error.aspx">
    <system.web>
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
  </location>

  <location path="_layouts/SearchResults.aspx">
    <system.web>
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
  </location>

<configuration>

例 3: 例 1 の実装で推奨する方法

次の XML 文では、例 1 で紹介した XML 文を Web.config ファイルに追加する方法について説明します。この方法では、Windows SharePoint Services または Office SharePoint Server が更新されたときにも、追加した内容が保持されます。詳しくは、「[方法] カスタムの構成設定を追加して Web アプリケーションを拡張する」(http://go.microsoft.com/fwlink/?linkid=157096&clcid=0x411) を参照してください。

<?xml version="1.0" encoding="utf-8" ?>
<actions>

  <add path="configuration">
  <location path="_layouts">
    <system.web>                  
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
  </location>

  <location path="_vti_bin">
    <system.web>                  
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
  </location>

  <location path="_layouts/login.aspx">
    <system.web>
      <authorization>
        <allow users="?" />
      </authorization>
    </system.web>
  </location>

  <location path="_layouts/error.aspx">
    <system.web>
      <authorization>
        <allow users="?" />
      </authorization>
    </system.web>
  </location>

  <location path="_layouts/accessdenied.aspx">
    <system.web>
      <authorization>
        <allow users="?" />
      </authorization>
    </system.web>
  </location>


  </add>
</actions>

例 3 で紹介したような XML 文を含むファイルを作成後、そのファイルを \Config ディレクトリに webconfig. <名前>.xml という形式の名前で保存します。変更内容をファームに適用するには、Stsadm の copyappobincontent 操作をそれぞれのフロント エンド Web サーバーで実行します。詳細については、「Copyappbincontent : Stsadm 操作 (Office SharePoint Server)」を参照してください。

関連項目

概念

外部の匿名アクセス環境のセキュリティを計画する (Office SharePoint Server)