次の方法で共有


SharePoint Server で最小特権管理を計画する

適用対象:yes-img-13 2013yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

"最小特権による管理" の概念とは、承認されたタスクを完了するために必要な最小の権限をユーザーに割り当てるというものです。 最小特権による管理の目的は、安全に環境を制御できる体制を構成して維持することです。 その結果、サービスを実行する各アカウントには、必要なリソースにのみアクセス権が付与されます。

Microsoft では、最小限の特権を持つ管理を使用して SharePoint Server を展開することをお勧めします。 最小限の特権管理を実装すると、このレベルの管理を維持するために他のリソースが必要になる可能性があるため、運用コストが増加する可能性があります。 さらに、セキュリティの問題をトラブルシューティングする機能がより複雑になります。

概要

組織では、通常推奨されるよりも優れたセキュリティを実現するために、最小特権による管理を実装します。 最小限の特権を持つ管理を維持するリソース コストのため、このレベルのセキュリティを必要とする組織の割合はごくわずかです。 この高いレベルのセキュリティが必要な可能性のある展開には、政府機関、セキュリティ組織、財務サービス業界の組織などがあります。 最小限の特権を持つ環境の実装は、ベスト プラクティスと混同しないでください。 最小限の特権を持つ環境では、管理者は、他の強化されたレベルのセキュリティと共にベスト プラクティスを実装します。

アカウントおよびサービスの最小特権環境

最小特権の管理者権限を計画する場合は、アカウント、ロール、およびサービスを考慮する必要があります。 たとえば、SQL Server に適用されるものや、SharePoint Serverに適用されるものがあります。 管理者が他のアカウントやサービスをロックダウンすると、毎日の運用コストが増加する可能性があります。

SQL Server のロール

SharePoint Server 環境では、いくつかのアカウントに次の 2 つの SQL Server のサーバー レベル ロールが付与されます。 最小特権の SharePoint Server 環境では、これらの特権を、Microsoft SharePoint Foundation ワークフロー タイマー サービスを実行するアカウントにのみ付与することをお勧めします。 通常、タイマー サービスは、サーバー ファーム アカウントで実行されます。 通常運用では、次の 2 つの SQL Server のサーバー レベル ロールを、SharePoint 管理に使用する他のすべてのアカウントから削除することをお勧めします。

  • Dbcreator - dbcreator 固定サーバー ロールのメンバーは、任意のデータベースを作成、変更、削除、および復元できます。

  • Securityadmin - securityadmin 固定サーバー ロールのメンバーは、ログインとそのプロパティを管理します。 このメンバーは、サーバー レベルの権限を付与および拒否したり、取り消したりできます。 また、データベースにアクセスできる場合は、データベース レベルの権限の付与、拒否、取り消しもできます。 さらに、SQL Server ログインのパスワードをリセットすることもできます。

注:

securityadmin は、データベース エンジンに対するアクセス権の付与と、ユーザー権限の構成が可能なため、ほとんどのサーバー権限を割り当てることができます。 securityadmin ロールは sysadmin ロールと同等に扱う必要があります。

SQL Server サーバー レベルのロールの詳細については、「 サーバー レベルのロール」を参照してください。

これらの SQL Server ロールを 1 つ以上削除すると、"予期しない" エラー メッセージが サーバーの全体管理 の Web サイトに表示される可能性があります。 また、次のメッセージが統合ログ サービス (ULS) のログ ファイルに記録される場合があります。

System.Data.SqlClient.SqlException...<データベース <database> で拒否された操作の種類>アクセス許可。 テーブル <テーブル>

エラー メッセージが表示されたうえに、次のタスクを実行できなくなる可能性があります。

  • ファームのバックアップを復元する (データベースへの書き込みができないため)

  • サービス インスタンスまたは Web アプリケーションをプロビジョニングする

  • 管理アカウントを構成する

  • Web アプリケーションの管理アカウントを変更する

  • サーバーの全体管理 Web サイトを必要とするすべてのデータベース、管理アカウント、またはサービスに対して処理を実行する

状況によっては、データベース管理者 (DBA) は SharePoint Server の管理者から独立して運用を行い、すべてのデータベースの作成および管理を行う場合があります。 その典型は、セキュリティ要件や企業のポリシーによって管理者の役割の分離が求められる IT 環境です。 ファーム管理者は SharePoint Server データベース要件を DBA に提供し、DBA が必要なデータベースを作成し、そのファームに必要なログインを設定します。

既定では、DBA は、SQL Server インスタンスに対するすべての権限を所有しますが、SharePoint Server にアクセスするには追加の権限が必要です。 DBA は、SharePoint データベースの追加、作成、移動、または名前変更を行うときに一般に Windows PowerShell 3.0 を使用するため、次のアカウントのメンバーである必要があります。

  • SQL Server インスタンスの Securityadmin 固定サーバー ロール。

  • SharePoint ファーム内のすべてのデータベースの Db_owner 固定データベース ロール。

  • PowerShell コマンドレットを実行するコンピューターの Administrators グループ。

また、SharePoint コンテンツ データベースにアクセスする DBA は、 SharePoint_Shell_Access ロールのメンバーである必要もあります。 状況によっては、DBA は、セットアップ ユーザー アカウントを db_owner ロールに追加する必要があります。

SharePoint Server のロールとサービス

一般に、SharePoint Server サービス アカウントから新しいデータベースを作成する機能を削除する必要があります。 SQL Server インスタンスに sysadmin ロールを持つ SharePoint Server サービス アカウントは必要ありません。また、SQL Server を実行するサーバー上のローカル管理者である SharePoint Server サービス アカウントは必要ありません。

SharePoint Server アカウントの詳細については、「SharePoint Server 2016 のアカウントのアクセス許可とセキュリティ設定」をご覧ください。

SharePoint Server 2013 のアカウント情報については、「SharePoint 2013 のアカウントのアクセス許可とセキュリティ設定」を参照してください。

次のリストに、その他の SharePoint Server のロールおよびサービスのロックに関する情報を示します。

  • SharePoint_Shell_Access role

    この SQL Server ロールを削除すると、構成およびコンテンツ データベースにエントリを書き込む能力と、Microsoft PowerShell を使用してタスクを実行する能力が削除されます。 このロールの詳細については、「 Add-SPShellAdmin」を参照してください。

  • SharePoint Timer Service (SPTimerV4)

    このサービスを実行するアカウントに付与される既定のアクセス許可を制限せず、このアカウントを無効にしないことをお勧めします。 代わりに、パスワードが広く知られていないセキュリティで保護されたユーザー アカウントを使用し、サービスを実行したままにします。 既定では、SharePoint Server をインストールすると、このサービスがインストールされ、構成キャッシュ情報が維持されます。 このサービスの種類を無効に設定すると、次の事象が見られる場合があります。

    • タイマー ジョブが実行されない

    • Health Analyzer ルールが実行されない

    • メンテナンスとファーム構成が期限切れになる

  • SharePoint Administration service (SPAdminV4)

    このサービスは、サーバーのローカル管理者のアクセス許可を必要とする自動変更を実行します。 サービスが実行されていない場合は、サーバー レベルの管理変更を手動で処理する必要があります。 このサービスを実行するアカウントに付与される既定のアクセス許可を制限せず、このアカウントを無効にしないことをお勧めします。 代わりに、パスワードが広く知られていないセキュリティで保護されたユーザー アカウントを使用し、サービスを実行したままにします。 このサービスの種類を無効に設定すると、次の事象が見られる場合があります。

    • 管理権限によるタイマー ジョブが実行されない

    • Web 構成ファイルが更新されない

    • セキュリティおよびローカル グループが更新されない

    • レジストリの値およびキーが書き込まれない

    • サービスが起動または再起動されない可能性がある

    • サービスの準備を完了できない可能性がある

  • SPUserCodeV4 Service

    このサービスを使用すると、サイト コレクション管理者はサンドボックス ソリューションをソリューション ギャラリーにアップロードできます。 サンド ボックス ソリューションを使用していない場合は、このサービスを無効にできます。

  • Claims To Windows Token service (C2WTS)

    既定では、このサービスは無効になっています。 C2WTS サービスは、SharePoint セキュリティ トークンと Windows ベースの ID の間で変換する必要がある Excel Services、PerformancePoint Services、または SharePoint 共有サービスを使用した展開に必要な場合があります。 たとえば、外部データ ソースにアクセスするために Kerberos の制約付き委任を構成する場合に、このサービスを使用します。 C2WTS の詳細については、「SharePoint Server で Kerberos 認証を計画する」を参照してください。

状況によっては、次の機能についても問題が発生する場合があります。

  • バックアップと復元

    データベース権限を削除した場合、バックアップからの復元の実行が失敗する可能性があります。

  • アップグレード

    アップグレード プロセスは正しく開始されますが、データベースに対する適切なアクセス許可がない場合は失敗します。 組織が既に最小特権環境になっている場合は、回避策として、ベスト プラクティスの環境に移行し、アップグレードを完了した後に、最小特権環境に戻してください。

  • Update

    ファームにソフトウェア更新プログラムを適用する機能は、構成データベースのスキーマに対して成功しますが、コンテンツ データベースとサービスでは失敗します。

最小特権環境についてのその他の考慮事項

前述の考慮事項の他にも、考慮が必要な操作がある可能性があります。 次に示す一覧は不完全なものです。 考慮が必要だと判断した事項について検討してください。

  • Setup user account - このアカウントは、ファーム内の各サーバーをセットアップするときに使用されます。 これは、SharePoint Server ファーム内の各サーバーの Administrators グループのメンバーである必要があります。 このアカウントの詳細については、「 SharePoint Sever での初期展開の管理およびサービス アカウント」を参照してください。

    新しい SharePoint ファームをビルドし、ベースのビルドに 2022 年 10 月の CU または新しいスリップストリームがビルド プロセスに含まれている場合は、最小限の特権のセキュリティ モデルを使用します。 ファーム内の最初のサーバーで psconfig を完了した後、ファーム構成ウィザードを実行するか、他のコンポーネントをプロビジョニングする前に、SharePoint データベースへのアクセスを確保するために次のコマンドを実行する必要があります。

    Get-SPDatabase | %{$_.GrantOwnerAccessToDatabaseAccount()}
    
  • 同期アカウント - SharePoint Server の場合、このアカウントはディレクトリ サービスへの接続に使用されます。 このサービスを実行するアカウントに付与される既定のアクセス許可を制限せず、このアカウントを無効にしないことをお勧めします。 代わりに、パスワードが広く知られていないセキュリティで保護されたユーザー アカウントを使用し、サービスを実行したままにします。 このアカウントには、AD DS に対するディレクトリ変更のレプリケートアクセス許可も必要です。これにより、アカウントは AD DS オブジェクトを読み取り、ドメイン内で変更された AD DS オブジェクトを検出できます。 [ディレクトリの変更をレプリケートする] アクセス許可では、アカウントで AD DS オブジェクトを作成、変更、または削除することはできません。

  • My Site host application pool account - これは、個人用サイト アプリケーション プールを実行するアカウントです。 このアカウントを構成するには、Farm Administrators グループのメンバーでなければなりません。 このアカウントの権限を制限することができます。

  • Built-in user group - 組み込みのユーザー セキュリティ グループを削除したり、アクセス許可を変更したりすると、予期しない結果になる可能性があります。 組み込みのアカウントまたはグループに特権を制限しないことをお勧めします。

  • Group permissions - 既定では、 WSS_ADMIN_WPG SharePoint グループには、ローカル リソースに対する読み取りおよび書き込みアクセス権が付与されています。 次 のWSS_ADMIN_WPG ファイル システムの場所である %WINDIR%\System32\drivers\etc\Hosts%WINDIR%\Tasks は、SharePoint Server が正常に動作するために必要です。 他のサービスまたはアプリケーションがサーバーで実行されている場合は、それらが Tasks または Hosts フォルダーの場所にどのようにアクセスするかを考慮してください。 SharePoint Server のアカウントの設定の詳細については、「 SharePoint Server 2016 のアカウントのアクセス許可とセキュリティ設定」を参照してください。

    SharePoint Server 2013 のアカウント情報については、「SharePoint 2013 のアカウントのアクセス許可とセキュリティ設定」を参照してください。

  • Change permission of a service - サービスの権限を変更すると、予期しない結果になる可能性があります。 たとえば、レジストリ キー HKLM\System\CurrentControlSet\Services\PerfProc\Performance\Disable Performance Counters の値が 0 の場合、User Code Host サービスが無効になり、これが原因でサンドボックス ソリューションの動作が停止します。

関連項目

その他のリソース

SharePoint 2013 で Workflow Manager を使用するための最小特権構成