Sql-Server-2008-R2

通過使用者和機器(在域內或不在域內)限制伺服器登錄:可能嗎?

  • April 23, 2020

我正在嘗試設置一個 SQL Server 2008 R2 實例,限制對我的數據庫的訪問,因此只有特定機器上的特定使用者才能登錄那裡。

假設我們有 3 個開發人員:John、Jill 和 Steve,有 3 台機器:JohnPC、JillPC 和 StevePC。John 和 Jill 在域內使用他們的機器,但 Steve 沒有。因此,機器“全名”是:MYDOMAIN\JohnPC、MYDOMAIN\JillPC 和 StevePC,因為 Steve 不在 MYDOMAIN 中,而是在 windows 預設的“WorkGroup”中。

我知道我可以創建帳戶來限制來自機器的訪問,例如

$$ MYDOMAIN\JohnPC$ $$. 但就我而言,我不想讓 Jill 從 JohnPC 登錄。

我正在使用混合模式登錄到伺服器,所以我啟用了“sa”帳戶(它應該只能在伺服器的 localhost 環境中訪問)。

我讀過這篇文章,展示瞭如何在域中為電腦創建帳戶,但這不適用於我的情況

$$ Edit: because it doesn’t tell how to restrict user to each computer, and it doesn’t tell how to create an account for a computer with no domain $$. 搜尋Google關於它,並找不到任何可以遠端適合我正在嘗試做的答案。 那麼,這有可能實現嗎?如果是,我該怎麼做?

您可以為 LOGON 創建伺服器級觸發器,並在其中使用sys.dm_exec_sessions檢查使用者、域和客戶端主機名,以確定是否允許使用者。(如果需要,我們可以在單獨的表格中列出允許的組合)

我做了類似的事情來阻止使用者使用帶有任何 SQL 登錄名的 SSMS 訪問 SQL Server 數據庫。僅允許域使用者通過 SSMS。

希望這對您有所幫助。

引用自:https://dba.stackexchange.com/questions/265632