web-dev-qa-db-ja.com

Active Directoryアカウントを使用してリンクサーバーを作成する

MSSQLでActive Directoryグループにアクセス権を付与し、そのグループにサービスアカウントを追加する ができました。 MSSQLと.Net exeから、個人アカウントとサービスアカウントの両方を使用して、信頼できる接続でMSSQLにログインできます。

次に、このADサービスアカウントを使用して、別のインスタンスのリンクサーバーをこのインスタンスに構成する必要があります。

ローカルMSSQLアカウントでリンクサーバーを作成するには、[新しいリンクサーバー]ダイアログを開き、MSSQLホストを提供し、サーバータイプをMSSQLに設定し、セキュリティセットBe made using this security context、ユーザー名とパスワードを入力し、サーバーオプションでtrueをRPCおよびRPC Outに設定します。

しかし、ADアカウントでそれを行おうとすると、ログインに失敗したというエラーが表示されます。

ADアカウントを使用してリンクサーバーを構成する方法はありますか?

4
Hikari

リンクサーバーを介したセキュリティの最も一般的な2つのシナリオは次のとおりです。

  1. ターゲットSQL ServerでSQLログインを作成し、リンクされたサーバーの定義でそのログインを使用します。次に、必要に応じて、ターゲットサーバーオブジェクトのログインにGRANTおよびDENYアクセスします 最小権限の原則 を使用します。

  2. 「ログインの現在のセキュリティコンテキストを使用して」セキュリティを構成することにより、「パススルー」認証を許可するようにSQL Serverを定義します。これにより、ユーザー間でセキュリティを変えることができ、はるかに柔軟になります。から [〜#〜] msdn [〜#〜]

SQL Serverは、sp_addlinkedsrvloginを使用して所定のログインマッピングを作成する代わりに、クエリを発行するユーザーのWindowsセキュリティ資格情報(Windowsログイン名とパスワード)を自動的に使用して、次のすべての条件に該当する場合にリンクサーバーに接続できます。

  • ユーザーは、Windows認証モードを使用してSQL Serverに接続されています。

  • セキュリティアカウントの委任は、クライアントと送信サーバーで使用できます。

  • プロバイダーはWindows認証モードをサポートしています。たとえば、Windowsで実行されているSQL Server。

上記のオプション#2を使用するには、マルチホップ認証シナリオで、Kerberos認証をサポートするためにいくつかを有効にする必要があります。 MSDNには、要件に関するすばらしいブログがあり、利用可能です ここ

この質問 もご覧ください。

3
Max Vernon