原創地址:http://www.cnblogs.com/jfzhu/p/4007472.htmlhtml
轉載請註明出處數據庫
(一)Windows服務使用的登錄賬號安全
Windows服務只有登陸到某一賬戶的狀況下才能訪問操做系統中的資源和對象。服務通常不要更改默認的登陸賬戶,不然可能致使服務失敗。若是選定賬戶沒有足夠的權限,Microsoft 管理控制檯(MMC)的服務管理單元將自動爲該賬戶授予登陸所管理計算機中服務的用戶權限。Windows Server 的服務能夠用域賬戶或者三個內置的本地賬戶做爲各系統服務的登陸賬戶,三個內置賬戶沒有密碼:網絡
(1) 本地系統賬戶(Local System):本地系統賬戶功能強大,它可對系統進行徹底訪問app
(2) 本地服務賬戶(NT AUTHORITY\Local Service)post
(3) 網絡服務賬戶(NT AUTHORITY\Network Service)spa
系統中絕大多數的服務都是使用上述三個內置本地賬戶做爲登錄賬戶。操作系統
(二)Managed Service Accounthtm
在一些狀況下使用域賬戶和內置賬戶存在一些問題,假設SQL Server的服務使用的是Local System賬號,那麼其餘使用Local System賬號的服務均可以鏈接到SQL Server數據庫;若是使用的是域賬戶,那麼域賬戶的密碼在更改後,還須要在services.msc中手動相應更改這些服務的登錄賬戶密碼;若是服務所使用的域賬戶的密碼設置爲永不過時,又會留下系統安全隱患,因此從Windows Server 2008 R2和Windows 7開始,一個新功能Managed Service Account(託管服務賬戶)應運而生。託管服務賬戶的密碼由系統生成,每30天更改一次,使用託管服務賬戶做爲Windows服務的登錄賬戶不須要設置密碼。託管服務賬戶要只能綁定在一臺計算機上使用。爲了將不一樣的Windows服務隔離開,一個託管服務賬戶應該只給一個服務來使用。對象
(三)SQL Server 2012中的Managed Service Account
SQL Server 2012爲每一個SQL Server相關的服務都建立了一個託管服務賬戶(SQL Server Browser和Analysis Service除外。如何安裝SQL Server,請參見《Step by step SQL Server 2012的安裝》)。
SQL Server所使用的託管服務賬戶命名規範以下表
Service Name |
Instance |
Service Account Naming Convention |
Database Engine | Default | MSSQLServer |
Agent Service | Default | SQLSERVERAgent |
Reporting Server | Default | ReportServer |
Analysis Service | Default | MSSQLServerOLAPService |
Fulltext Service | Default | MSSQLFDLauncher |
Database Engine | InstanceName | MSSQL$InstanceName |
Agent Service | InstanceName | SQLAgent$InstanceName |
Reporting Server | InstanceName | ReportServer$InstanceName |
Analysis Service | InstanceName | MSOLAP$InstanceName |
Fulltext Service | InstanceName | MSSQLFDLauncher$InstanceName |
Integration Service | Not applicable | MSDtsServer110 |
檢查一下,SQL Server中,Database Engine和SQL Server Agent所使用的服務賬戶都被賦予了Sa角色。
總結:
(1) 在之前的系統中,Windows服務能夠使用域賬戶,也能夠使用三個內置的本地賬戶做爲登錄賬戶。這三個本地賬戶分別爲 Local System、NT AUTHORITY\Local Service 和 NT AUTHORITY\Network Service。選定Windows服務登錄賬戶時,該賬戶能夠不具備任何權限,MMC的服務管理單元將自動爲該賬戶授予登陸所管理計算機中服務的用戶權限。
(2) 從Windows 7和Windows 2008 R2開始出現了Managed Service Account,使用這種類型的賬戶,系統能夠自動爲你處理賬戶密碼。
(3) SQL Server 2012爲每一個SQL Server相關的服務都建立了一個託管服務賬戶(SQL Server Browser和Analysis Service除外)。