権限が有効な検索が不完全な検索結果を返す可能性がある


解説

Sitecore XP 9.3より、「権限が有効な検索(permission-enabled search)」機能が実装されました。デフォルトでは、この機能はsitecore_master_index検索インデックスに対して有効化されています。「権限が有効な検索」機能は、コンテキスト ユーザーのアイテムの読み取りアクセス権を元に検索結果をフィルタリングします。

いくつかの場合に、ユーザーが対応するアイテムの読み取り権限を持っているにもかかわらず、この機能が検索結果からそれをフィルタリングして除去してしまう可能性があります。

この問題は、そのユーザーのロールの一つが、アイテムの読み取りアクセス権限を拒否している場合に発生します。

解決策

この問題を解決するには、以下を実施してください。

または、「権限が有効な検索」機能を無効化することも可能です。この機能をsitecore_master_indexで無効化するには、以下を実施してください。

  1. \App_Config\Include\zzzフォルダーに設定パッチ ファイルを作成して、enableReadAccessIndexing設定の値をtrueからfalseに変更します。
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:role="http://www.sitecore.net/xmlconfig/role/" xmlns:search="http://www.sitecore.net/xmlconfig/search/">
      <sitecore role:require="Standalone or ContentManagement or XMCloud" search:require="solr">
        <contentSearch>
          <configuration>
            <indexes hint="list:AddIndex">
              <index id="sitecore_master_index">
                <configuration>
                  <enableReadAccessIndexing>false</enableReadAccessIndexing>
                </configuration>
              </index>
            </indexes>
          </configuration>
        </contentSearch>
      </sitecore>
    </configuration>
  2. sitecore_master_indexを再構築します(オプション)。

註: 機能が無効化された後で、Sitecoreクライアント側でセキュリティ チェックが実施されます。これにより、以下のような副作用が起きる可能性があります。