2017-07-26 132 views
0

我似乎無法找到這個問題的明確答案。NT AUTHORITY System應該被授予sysadmin角色嗎?

問題:我正在使用Octopus Deploy來運行將運行我的數據庫遷移腳本的可執行文件。 Octopus「Tentacle」Windows服務運行時會出現錯誤localsystem,其轉換爲NT AUTHORITY\System

一個解決方案是更改SQL Server安全設置,併爲NT AUTHORITY\System用戶授予適當的角色,允許以localsystem用戶身份運行進程來創建數據庫。

進行此更改的安全含義是什麼?它會允許任何運行的進程作爲localsystem在數據庫上執行操作,但是這是一件壞事,因爲我控制了安裝到服務器上的內容?

它會出現一個大約爲SQL Server 2012的更改,其中localsystem帳戶之前默認爲sysadmin,但發生了更改。我看到的一件事是,這種更改阻止了服務器管理員訪問服務器,但我無法看到這是可能的,因爲無論如何您都無法登錄爲localsystem

我錯過了什麼?

參考文獻:

https://support.microsoft.com/en-us/help/932881/how-to-make-unwanted-access-to-sql-server-2005-by-an-operating-system

https://dba.stackexchange.com/questions/142166/grant-sysadmin-permissions-to-nt-authority-system

https://serverfault.com/questions/130958/implications-and-benefits-of-removing-nt-authority-system-from-sysadmin-role

+1

我想創建一個用於您服務,並只授予最小權限用戶特定的帳戶。根據[this](https://octopus.com/docs/installation/installing-octopus/sql-server-database-requirements),_運行該向導的用戶必須擁有SQL Server上的權限才能創建數據庫並授予權限_ – Tanner

回答

0

我回答這一個:我看到

的一件事是,這一變化將阻止服務器管理員 有權訪問服務器,但我無法看到這是可能的,因爲 您無法以本地系統身份登錄。

本地Windows管理員反正可以訪問服務器,啓動在單用戶模式的SQL Server,他將有超過它的完全控制:Connect to SQL Server When System Administrators Are Locked Out

但是這需要重新啓動服務器。

另一種以不帶任何重啓的方式作爲系統管理員訪問服務器的方法是使用PsExec(-s):即使通過SSMS也可以以本地系統的身份登錄。如果此登錄名是系統管理員,則可以完全控制服務器

0

如果有人能夠危害您的Octopus實例部署,SA角色提供了足夠的訪問權限來刪除服務器上的每個數據庫。

我想象創建初始數據庫是一個藍色的月亮事件。更安全的選擇是手動創建數據庫並授予NT Authority最少的權限來運行遷移腳本。

我們採取了這一做法,並從SA的工作回來,或db_owner,以自定義角色與

[db_datareader] 
[db_datawriter] 
[db_ddladmin] 
相關問題