SharePoint 2010/SharePoint 2013 でひと検索ができない場合

SharePoint の環境を構築して、検索も動作するようになったのだけど、人検索だけが反映されない…こんな問題が以前 msdn フォーラムで質問されていました。その際の回答がどうやらビンゴだったのと、またある方が SharePoint 2013 でも同じ問題に遭遇されていたので、ここでご紹介しておきます。

SharePoint Products and Technologies フォーラム: 人の検索
http://social.technet.microsoft.com/Forums/ja-JP/sharepoint2010generalja/thread/4112c31a-957e-4349-bbf1-3d7d71309ab8/

こちらがその際のエラーメッセージ:

アクセスが拒否されました。既定のコンテンツ アクセス アカウントにこのリポジトリへのアクセス権が付与されていることを確認するか、このリポジトリをクロールするためのクロール ルールを追加してください。クロール対象のリポジトリが SharePoint リポジトリである場合は、使用しているアカウントに、クロール対象の SharePoint Web アプリケーションに対する “すべて読み取り” のアクセス許可があることを確認してください。 (HttpStatusCode Unauthorized HTTP ステータス 401: Unauthorized で要求が失敗しました。)

検索が上手くいかない理由は本当にケースバイケースなのですが、この場合は、クロールに利用されるアカウントが、User Profile サービスアプリケーション対して適切な権限を権限を持っていないことが原因ですね。

解決方法は、海外の msdn フォーラムで提起されていました。
Search crawl to SPS3://mysite.domain.com gives “Access Denied”

Go to manage service applications, select user profile service application, and click administrators. You will see your old content access account in there with ‘Retrieve people and data for search crawlers’ permission, add your new content access account and run a full crawl.

全体管理画面で[サービスアプリケーションの管理]からユーザプロファイルを選択し、リボンから[管理者]をクリック。

ダイアログで、クロールアカウントに適切な権限(検索クローラー用ユーザーデータの所得)を付与してあげれば良いはずです。

SharePoint 2013 のほうはあとで確認したいと思います(汗)でも中の方から「それであってます」とお墨付き頂きましたので、たぶん、大丈夫です(笑)

参考:Deploy people search in SharePoint Server 2013
参考:Configuring the User Profile Service in SharePoint 2010


Author

中村 和彦(シンプレッソ・コンサルティング株式会社 代表)が「ユーザ視点の SharePoint 情報」を発信します。元大手製造業 SharePoint 運用担当。現SharePoint コンサルタント。お仕事のお問い合わせはこちらまでお願いします。当ブログにおける発信内容は個人に帰属し所属組織の公式発信/見解ではありません。
FB : 中村 和彦
blog: Be・Better!
MS MVP SharePoint 2009/10-2011/9
MS MVP Office 365 2012/10-2014/9