質問の更新で述べたように、サービスアカウントをDomain2
に変更します 問題を解決しました。では、何が起こっていたのでしょうか?
問題-説明
サービスアカウントは元々Domain1
だったので、私が知る限り(Microsoftの担当者の助けも借りて) ユーザーがKerberosを介して認証しているときに、接続しているユーザーがどのドメインローカルグループのメンバーであるかを判別できませんでした。これがKerberosの問題である主な原因は、NTLM認証を使用しているため、「名前付きパイプ」を使用して正常に接続したときでした。
全体的なソリューション
すべてをまとめて、Domain1
からユーザーを正常に追加するには およびDomain3
Domain2
のグループのメンバーとして グループをWindows認証でSQLServerログインとして使用できるように、要件のリストを次に示します(または少なくとも強く推奨します)。
- ドメイン間に確立された信頼関係
- 少なくとも、
Domain2
になるように、一方向の信頼を設定する必要があります。Domain1
を信頼します およびDomain3
- 少なくとも、
-
Domain2
のグループ スコープは「ドメインローカル」である必要があります- これは、
Domain1
からユーザーとグループを追加できるようにするためです。 およびDomain3
- 詳細についてはこちらをご覧ください
- これは、
- SQL Server Configuration Managerを使用して、管理者以外の
Domain2
を指定します サービスアカウントIDとしてのユーザー- MSDNは、ドメインユーザーアカウントの使用が推奨される理由を文書化しています
- 構成マネージャーはユーザーをローカルのSQLServer2005固有のグループ(つまり、SQLServer2005MSSQLUser $ MY_MACHINE $ MY_INSTANCE)に追加することになっていますが、そうでない場合がいくつかあります。したがって、ローカルグループをチェックして、
Domain2
で適切に更新されていることを確認してください。 ユーザーアカウント。 - SQL Serverのセットアップでは、ローカルグループに適切なアクセス許可が自動的に割り当てられるはずですが、これも当てはまらないいくつかのインスタンスに遭遇しました。これが発生した場合は、許可要件について、前述の記事と一緒にこのMSDNの記事を参照できます。
- SQL Serverインスタンスホスト(エイリアスを含む)と
Domain2
のサービスプリンシパル名(SPN)を構成します サービスアカウント- クライアントとサーバーホスト間の相互認証にはSPNが必要です
- 詳細については、このTechNetの記事を参照してください
- 偽装の使用方法によっては、
Domain2
を有効にすることをお勧めします。 委任に対して信頼されるサービスアカウント- 詳細については、このTechNetの記事を参照してください
- SQLサービスインスタンスのリモート接続を有効にする
- 最後に、目的の
Domain2
のログインを作成します グループと任意のDomain1
またはDomain3
メンバーはリモートで接続できる必要があります!
注
他のリモートネットワークアクティビティと同様に、ファイアウォールをチェックして、SQLServerポートがブロックされていないことを確認します。デフォルトのポートは1433ですが、ポートがクリアになっていることを確認してください。