最近接到需要進行SQL Server與Oracle的連接需求,想當然可以透過 Linked Server來進行解決,但是需要管控那些人可以存取,所以在權限上的設定就需要進行一些調整,而目前上可以設定那些使用者可以執行 Linked Server,無法單一設定是否可執行,所以Oracle上的帳號密碼就需要特別小心管控,以免利用此為跳板造成資料查詢上的漏洞,下列就介紹一下如何進行權限上的設定。
Linked Server 架構:
1、新增使用者,並設定最小權限:
2、因為此帳號不需太大的權限,所以請記得下列的 [sysadmin] 不要勾選,要不然也會直接給予Linked Server執行的權限,也等同DBA的權限。
3、由於只有簡單的查詢資料而已,所以建議可以只要再勾選設定db_datareader即可。
4、因為在開啟Linked Server的單獨權限時,需要可以進行Master的權限,所以Master的部份只需給予預設的 [public] 的權限,其他的權限都不用給。
5、新增完成使用者後,由於只有最低權限,雖然可以看到Linked Server,但是當要展開細部的資訊時,由於沒有執行的權限,但是執行後會看到下列的警告訊息:
6、最後執行下列的指令後,就可以讓使用者 [caryhsu] 執行Linked Server了。
Use masterGRANT EXECUTE ON sys.xp_prop_oledb_provider TO [caryhsu]
GO
關鍵字:SQL Server、Linked Server、Linking Server、連結伺服器、最小權限設定
沒有留言:
張貼留言