SharePoint 2013 Active Directory セキュリティ グループを使用した権限設定時の留意点

こんにちは、SharePoint サポートの大関です。

本日は、SharePoint 2013 をご利用のお客様に、Active Directory セキュリティ グループを使用した権限設定時の留意点をご案内したいと思います。

セキュリティ グループを使用して、SharePoint にユーザー アクセス権を設定されているお客様は多くいらっしゃると思います。
人事異動のタイミングや、新入社員の方が入ってこられた際に、セキュリティ グループ メンバーの追加・変更・削除が実施された場合、SharePoint 上にそれらの変更内容は即時反映されません。

SharePoint 2013をご利用いただいているお客様から、お問い合わせいただくことも多いこちらの現象について、先日技術情報が公開されました。

参考情報

タイトル:SharePoint Server 2013 にActive Directory セキュリティ グループを使用して権限を付与している場合、権限の変更反映に時間がかかる
アドレス:https://support.microsoft.com/kb/3028822/ja

現象が発生する要因などについては、上記技術資料をご参照いただければ幸いですが、ブログではもうひとつの対処方法についてご案内したいと思います。

上記資料に記載のとおり、権限設定が即時反映しない現象はセキュリティ トークンのキャッシュが、SharePoint サーバー上に存在するために発生します。
技術情報内では、キャッシュの有効期限を短縮する方法をご案内しているのですが、別の方法として「キャッシュを手動で削除する」方法も有効です。

セキュリティ トークンのキャッシュ情報は、IIS のワーカー プロセス上、および分散キャッシュ サービス上にキャッシュされます。これらのキャッシュをフラッシュすることで、セキュリティ グループ変更後の権限を SharePoint に即時に反映させることが可能となります。

以下にキャッシュ情報をフラッシュする手順をご案内いたします。

手順
1. SharePoint の Web サーバーにローカルの管理者権限でログオンして、[スタート]-[管理ツール]-[インターネット インフォメーション サービス (IIS) マネージャ] を起動します。
2. 左側のツリーから [サーバー名]-[アプリケーション プール] をクリックします。
3. 中央ペインに表示されたアプリケーション プールの一覧から、権限を反映させたいアプリケーション プールを特定し、右クリック [リサイクル] をクリックします。
4. 上記をすべての Web サーバーで実行します。
5. 次に、分散キャッシュ サービスをホストする SharePoint サーバーにログオンし、管理者権限で SharePoint 2013 管理シェルを起動します。
6. 以下のコマンドを実行します。

> Clear-SPDistributedCacheItem -ContainerType DistributedLogonTokenCache

※実行後に「Not all items were cleared.」という警告メッセージが表示されますが、問題ございません。

タイトル:Clear-SPDistributedCacheItem
アドレス:https://technet.microsoft.com/ja-jp/library/jj219715(v=office.15).aspx

7. 分散キャッシュ サービスをホストしているファーム内のすべてのサーバーで、上記コマンドをご実施ください。

- 補足
アプリケーション プールのリサイクルによる影響について
--------------------------------------------------------------------------------------------

アプリケーション プールのリサイクルは、再起動と異なり既存のプロセスが停止および再開される前に、新しい要求をすべて受け付ける新しいプロセスが開始されます。既存ワーカープロセスは、既存の要求で必要な処理が完了するか、または既定のシャットダウン制限時間を超えた場合にシャットダウンされます。なお、リサイクル後の初回アクセスは初期化処理のため通常よりもアクセス時に時間がかかりますが、リサイクル後のリクエストは新しいワーカープロセスで処理されてクライアントに応答が返される動作となりますので、ユーザーがサイトにアクセスした際にエラーが返るといった状況は発生しません。

 

DistributedLogonTokenCache のフラッシュによる影響について
------------------------------------------------------------------------------------

分散キャッシュ上には、DistributedLogonTokenCache 以外にもニュースフィードの表示に使用される DistributedActivityFeedCache など様々なキャッシュが保持されています。上述のコマンドでは、そのうちの DistributedLogonTokenCache のみを削除するため、ニュースフィードの表示やその他機能で使用されるキャッシュへの影響はありません。
また、DistributedLogonTokenCache が存在しない場合、次回ユーザーがアクセスしたタイミングでキャッシュを生成する処理が実行されます。

上記を実施いただいた後、権限が変更されたユーザーに変更後の権限が反映されているかご確認ください。

技術情報にて紹介されております方法、または今回ご案内しました方法にてご対応いただけますと幸いです。