SQL ServerサービスアカウントWindowsの特権と権利


12

私の質問は、SQL Serverプロセスごとに新しいドメインユーザーアカウントを作成する場合、各アカウントにどのようなアクセス許可を設定する必要があるかということです。または、SQL構成マネージャーが実際にこれを処理し、予期しない問題が発生しましたか?

Microsoft SQL Serverをセットアップする必要が頻繁にあり、サービスを実行するアカウントの構成に関するアドバイスを誰かが提供できるかどうか疑問に思いました。IMOは、Microsoftによって漠然と文書化されていますが、彼らはあなたに正しい方向を示していますが、具体的な例を見つけることはできませんでした。

これまで見てきたことを要約すると:

単純な展開\開発環境では、インストーラーが使用する仮想アカウントのデフォルトを使用してもかまいません。 NT SERVICE\MSSQLSERVER

SYSTEMアカウントの使用は避けてください。これは安全ではありません。

実稼働環境およびドメイン環境では、管理されたサービスアカウントを使用するか、サービスごとにドメインユーザーアカウント(管理者ではない)を作成することをお勧めします。伝えられるところでは、インストール時にドメインアカウントを使用すると、インストーラーが必要な権限を設定します。

既存のインストールのサービスアカウントを仮想アカウントからドメインアカウントに変更する場合、SQL Server構成マネージャーを使用して新しいサービスアカウントを設定することをお勧めします。これにより、必要な権限が設定されます。

既存のインストールのサービスアカウントをドメインアカウントに変更しようとしましたが、アカウントlog on as serviceアクセス許可を付与するまでログオンに失敗します。これは、SQL Server構成マネージャーが必要なアクセス許可を設定する部分と矛盾します。(GPOがこのローカルセキュリティポリシーの設定に干渉したかどうかはわかりませんが)

Microsoftは、SQL Serverセットアップがこのページで付与する権限のリストを提供しています

しかし、サービスを実行するために作成したユーザーがそれを手動で行う必要があるかどうか、またはSQL構成マネージャーを使用してこれらのアクセス許可を自動的に設定するかどうかは明確ではありません。

SQL Server 2014、ドメインコントローラーはWindows Server 2008 R2上にあります。


SQLのバージョン これはAD環境ですか?もしそうなら、ドメインレベルは何ですか?
キャサリンビリヤード

おかげで、質問にバージョンを追加しました。SQL Serverの2014は、ドメインコントローラは、Windows Server 2008 R2の機能レベルにある

1
これは私にはあいまいな文書のようには見えません。これはかなり包括的に見えます。- msdn.microsoft.com/en-us/library/ms143504.aspx

はい、私は同意します、ドキュメントは全体的には良いですが、私が不確かな部分は曖昧だったことは私が意味していたことです。あなたは正しいです、ドキュメントは概して非常に詳細です。
プラムドッグ

回答:


10

MS SQL Serverをセットアップする必要が頻繁にあり、サービスを実行するアカウントの構成に関するアドバイスを誰かが提供できるかどうか疑問に思いました。IMOは、Microsoftによって漠然と文書化されていますが、彼らはあなたに正しい方向を示していますが、具体的な例を見つけることはできませんでした。

実際には完全に文書化されています:http : //msdn.microsoft.com/en-us/library/ms143504.aspx

よくわからない部分はありますか?

単純な展開\開発環境では、インストーラが使用する仮想アカウントのデフォルトを使用しても問題ありません。例:NT SERVICE \ MSSQLSERVER

これは環境に依存します。個人的には、誰かがローカルアカウントを使用して設定したサーバーを見つけて、将来のある時点でネットワークリソースへのアクセスを取得することを求めることを嫌います。

運用環境およびドメイン環境では、管理されたサービスアカウントを使用するか、サービスごとにドメインユーザーアカウント(管理者ではない)を作成することをお勧めします。

繰り返しますが、一般的には同意します(反例は可用性グループで、すべてのインスタンスで単一のドメインアカウントを使用するのが理にかなっています)。

伝えられるところでは、インストール時にドメインアカウントを使用すると、インストーラーが必要な権限を設定します。

障害などがない限り、そうします。「疑わしい」部分がなぜなのかわかりません。

既存のインストールのサービスアカウントを仮想アカウントからドメインアカウントに変更する場合、SQL Server構成マネージャーを使用して新しいサービスアカウントを設定することをお勧めします。これにより、必要な権限が設定されます。

SQL Serverのサービスを変更するときは、常にSSCMを使用してください。常に。限目。新しいアカウントの権限を基本に設定します。ローカルシステムアカウントが使用され、システム上のすべてに対する無制限のアクセス許可が与えられる前であれば、厳重に管理されたセキュリティのため、変更後に何かがアクセス許可に失敗することが予想されます。これはSQL Server SSCMの障害ではなく、適切なEXTRA権限(ネットワーク共有、制限されたフォルダー、SQL Serverインストール範囲外のアイテムへのアクセスなど)を付与しない管理者の障害です

既存のインストールのサービスアカウントをドメインアカウントに変更しようとしましたが、アカウントに「サービスとしてログオン」権限を付与するまでログオンに失敗しました。これは、SQL Server構成マネージャーが必要な設定を行う部分と矛盾します許可。(GPOがこのローカルセキュリティポリシーの設定に干渉したかどうかはわかりませんが)

GPOが問題(IMHO)を引き起こしているように聞こえます。初めてではないだろう:)

私の質問は、SQL Serverプロセスごとに新しいドメインユーザーアカウントを作成する場合、各アカウントに設定する権限はどれですか?

上記のmsdnリンク(@joeqwertyとOPでも指定)に記載されている以外のアクセス許可を明示的に設定します。たとえば、ネットワーク共有の「バックアップ」フォルダー、新しいデータベースを保持するために追加された新しいドライブ(セットアップは既に実行されているがドライブは存在しなかった)など。

しかし、サービスを実行するために作成したユーザーがそれを手動で行う必要があるかどうか、またはSQL構成マネージャーを使用してこれらのアクセス許可を自動的に設定するかどうかは明確ではありません。

サーバーで何かが極端に壊れていない限り、これらを手動で指定する必要はありません。


返信いただきありがとうございます。コメントに同意します。これを確認するために別のクリーンなVMでSQLサーバーをセットアップし、仮想アカウントNT SERVICE / MSSQLSERVERからドメインユーザーアカウントにスワップすることができ、問題なく機能しました。したがって、答えはあなたが言ったように、SQL Server Configuration Managerを使用してサービスユーザーアカウントのログオンを変更し、追加の権限は必要ないはずだと思います。
プラムドッグ

さらにコメントを1つ追加します。申し訳ありませんが、今後の投稿の先頭に私の要点を記載することで、質問をより明確にすることができました。よくわからなかった主な質問は次のとおりです。[SQL Serverプロセスごとに新しいドメインユーザーアカウントを作成する場合、各アカウントにどのアクセス許可を設定する必要がありますか?...]。この部分でドキュメントが曖昧だと感じた理由は、設定されているアクセス許可のリストがあるためですが、SSCMがこれらを設定するかどうかは明確ではありません。
プラムドッグ

@plumdog 2番目のコメントごとに、ほとんどの権限はインストーラーによって与えられます。仮想サービスアカウントとsidはそれに関連付けられているため、SSCMを常に使用して、それに関連付けられたアクセス許可の内外への転送が正しく行われるようにします。たとえば、サービスマスターキー暗号化に関連付けられたセキュリティなど。
ショーンGallardy
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.