リンク サーバーのセキュリティ
更新 : 2006 年 12 月 12 日
たとえば、分散クエリの処理時など、リンク サーバーに接続する場合、送信側サーバーは受信側サーバーに接続するためにログイン名とパスワードをリンク サーバーに代わって提供します。この接続を機能させるには、SQL Server システム ストアド プロシージャを使用して、リンク サーバー間でログイン マッピングを作成する必要があります。
リンク サーバーのログイン マッピングを追加するには sp_addlinkedsrvlogin を使用し、削除するには sp_droplinkedsrvlogin を使用します。リンク サーバーのログイン マッピングによって、指定したリンク サーバーとローカル ログインにリモート ログインとリモート パスワードが設定されます。SQL Server が分散クエリまたはストアド プロシージャを実行するためにリンク サーバーに接続すると、プロシージャのクエリを実行している現在のログインに対応するログイン マッピングが SQL Server で検索されます。SQL Server では、ログイン マッピングが存在すると、リンク サーバーに接続するときに、対応するリモート ログインとパスワードが送信されます。
たとえば、リンク サーバー S1 のマッピングが、ローカル ログイン U1 とリモート ログイン U2 (リモート パスワード 8r4li034j7$) に設定されているとします。ローカル ログイン U1 がリンク サーバー S1 に格納されたテーブルにアクセスする分散クエリを実行すると、SQL Server ではリンク サーバー S1 に接続するときに、ユーザー ID U2、パスワード 8r4li034j7$ が渡されます。
リンク サーバー構成の既定のマッピングでは、ログインに関する現在のセキュリティ資格情報をエミュレートします。このようなマッピングを自己マッピングと呼びます。sp_addlinkedserver を使用してリンク サーバーを追加すると、すべてのローカル ログインに対して既定の自己マッピングが追加されます。セキュリティ アカウントの委任が使用でき、リンク サーバーが Windows 認証をサポートしている場合は、Windows 認証済みログインに対する自己マッピングがサポートされます。
メモ : |
---|
可能な場合は、Windows 認証を使用してください。 |
クライアント サーバーまたは送信側のサーバーでセキュリティ アカウントの委任を使用できない場合、またはリンク サーバーやプロバイダで Windows 認証モードが認識されない場合は、Windows 認証を使用するログインに対しては自己マッピングが機能しません。したがって、Windows 認証を使用するログインから、リンク サーバーの Windows 認証されるログインではない特定のログインに、ローカル ログイン マッピングを設定する必要があります。この場合、リンク サーバーが SQL Server のインスタンスであれば、リモート ログインに SQL Server 認証が使用されます。
分散クエリは、リモート テーブル上のリンク サーバーによってリモート ログインに許可される権限を必要とします。ただし、SQL Server ではコンパイル時に権限の検証は行われません。権限違反は、クエリの実行時にプロバイダが報告することによって検出されます。
リンク サーバーのテスト
SQL Server 2005 Service Pack 2 では、リンク サーバーに接続できるかどうかをテストできます。オブジェクト エクスプローラでリンク サーバーを右クリックし、[接続テスト] をクリックします。
参照
概念
その他の技術情報
sp_addlinkedserver (Transact-SQL)
sp_addlinkedsrvlogin (Transact-SQL)
sp_droplinkedsrvlogin (Transact-SQL)
sp_dropserver (Transact-SQL)
sp_linkedservers (Transact-SQL)
sp_serveroption (Transact-SQL)
ヘルプおよび情報
変更履歴
リリース | 履歴 |
---|---|
2006 年 12 月 12 日 |
|