クライアント IP アドレスに基づいて、SQL Server 2008 データベース上の特定のデータベースへのアクセスを制限できますか? もしそうなら、どうすればいいですか?このサーバーには複数のデータベースがあるため、特定のデータベースだけで、IP に基づいてサーバーへのアクセスをブロックすることはできません。
3 に答える
You absolutely cannot do this at database granularity. You are talking about detecting things like queries using three part names ([banned_db].[dbo].[table]
) and synonyms referencing the protected DB while using an unprotected DB. There just isn't any framework in place to do such. You must rely on access security (GRANT/DENY/REVOKE). At best, do what gbn suggests and separate the protected DB into it's own instance and then use Firewall rules to protect its ports.
個人的には、セキュリティを使用してこれを行います。IP 経由ではなく、許可によってアクセスを制限します。
本当に IP アドレスのセキュリティが必要な場合 (たとえば、スイスやシンガポールのような銀行の秘密管轄区域の場合)、別のサーバーを使用してください。
現在、アクセス元のネットワーク セグメントに基づいて特定のデータベースへのアクセスを制限する方法はありません。ステージ サーバーから本番 DB へのアクセスを制限するには、これが必要であることがわかります。これが、環境ごとに異なる SQL サーバーを構築する必要がある理由だと思います。
アプリケーションごとに SQL アクセスを制限できると思いますhttp://msdn.microsoft.com/en-us/library/bb669062.aspx