台灣最大程式設計社群網站
線上人數
2180
 
會員總數:246479
討論主題:189988
歡迎您免費加入會員
討論區列表 >> MS SQL >> 如何決定MS SQL2005的服務帳戶??
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
如何決定MS SQL2005的服務帳戶??
價值 : 200 QP  點閱數:4227 回應數:3
樓主

老鄧
門外漢
0 92
1096 223
發送站內信

捐贈 VP 給 老鄧
您好,想請教個問題--

環境--
OS:Windows 2003 Server
DB:MS SQL 2005

問題1:
MS SQL Serve在安裝時(或是服務中的啟動帳戶)要決定帳戶,如果我想做較嚴格的帳戶控管,SQL Server服務與SQL Server Agent服務各應使用那種帳號較合適使用在中型公司。(因目前這台Server在大陸,想給大陸IT人員可以做維運;但又不想給sa的權限)

問題2:目前在server中有發現這些MS SQL的服務,它們分別要用什麼帳號最適合??
1.SQL Server (MSSQLSERVER)
2.SQL Server Agent (MSSQLSERVER)
3.SQL Server Analysis Services (MSSQLSERVER)
4.SQL Server FullText Search (MSSQLSERVER)
5.SQL Server Integration Services
6.SQL Server Reporting Services (MSSQLSERVER)
7.SQL Server VSS Writer

問題3:
我有在網路上爬文,其中有些不是很明瞭,可否協助釐清
原文:在決定SQL Server與SQL Server Agent服務是否要使用相同的服務帳戶時,限制SQLServer服務帳戶權限的必要性,通常會是決定性的因素。

你可以從三種帳戶中選擇其一,供SQL Server與SQL Server Agent服務使用:網路服務帳戶、本機帳戶或專用的網域使用者帳戶。

網路服務帳戶(Network Service account)
是特殊的內建系統帳戶,有點類似驗證的使用者帳戶。在存取系統資源與物件方面,這個帳戶與Users群組成員擁有相同的等級。在這個帳戶下執行的服務,會使用電腦帳戶的認證存取網路資源。我們不建議你將這個帳戶,供SQL Server或SQL ServerAgent服務使用。

本機帳戶(local system account)
屬於Windows OS帳戶,對本機電腦擁有完整的管理權限,但沒有網路存取的權限。你可以使用這個帳戶對伺服器進行開發或測試的作業,這些伺服器通常不需要與其他伺服器應用程式整合,或與任何網路資源展開互動。不過,由於授予這個帳戶的權限,我們不建議你將這個帳戶,供SQL Server或SQL Server Agent服務使用。

專用的網域使用者帳戶
在大多數正式的SQL Server 2005環境中,你都會建立一個或兩個專用的網域使用者帳戶,供SQL Server與SQL Server Agent服務使用。使用網域使用者帳戶時,可以讓這些服務與其他SQL Server環境溝通,存取網路資源,並與其他Windows應用程式進行互動。你可以透過手動方式,將SQL Server與SQL Server Agent服務需要的權限,授予網域使用者帳戶。不過,你在安裝SQL Server 2005過程中指派這些帳戶時,這些帳戶需要的所有權限,都會自動授予你所指定的網域使用者帳戶。??==>這段紅色部份是什麼意思??

CAUTION∣系統帳戶擁有的權限太多網路服務帳戶與本機帳戶會將太多權限授予SQL Server與SQL Server Agent服務,所以不建議將該帳戶供這些服務使用。
==>文未又說,這個帳戶會授與太多權限,那建議帳戶為何??







====================網路上的"決定服務帳戶"的原文===============================
決定服務帳戶
當安裝SQL Server 2005時,你需要做成的重要決策之一,就是SQL Server
與SQL Server Agent服務要使用的服務帳戶。這兩項SQL Server 2005服務
會在使用者帳戶的安全性內容中執行,而且判斷使用哪個帳戶是很重要的
決定。當安裝SQL Server 2005時,你需要回答兩個有關服務帳戶的主要問
題:
■ 你應該為SQL Server服務與SQL Server Agent服務使用個別的帳戶,
還是應該使用相同的帳戶?
■ 你應該使用內建的系統帳戶或網域(domain)使用者帳戶?
SQL Server與SQL Server Agent服務是否要使用相同的服務帳戶?
當決定SQL Server與SQL Server Agent服務是否要使用相同的服務帳戶時,
你應該考慮SQL Server Agent服務的功能。SQL Server服務很少需要與其他
伺服器互動,但SQL Server的作業、複寫程序、記錄傳送設定與其他功能,
通常會要求SQL Server Agent服務與不同伺服器進行互動。
學習本課程之後,你將能夠:
■ 決定你的安裝中要使用的服務帳戶。
■ 決定你的安裝中要使用的驗證模式。
■ 決定你的安裝中要使用的定序設定。
課程預估學習時間:30分鐘
課程4∣安裝新的SQL Server 2005執行個體
第1章 安裝SQL Server 2005
22
當SQL Server Agent服務必須與不同伺服器進行互動時,DBA通常會幫這兩
項服務建立個別的帳戶,避免提供SQL Server服務超過它所需要的權限。
IMPORTANT∣受限制的權限
在決定SQL Server與SQL Server Agent服務是否要使用相同的服務帳戶時,限制SQL
Server服務帳戶權限的必要性,通常會是決定性的因素。
SQL Server與SQL Server Agent服務應該使用內建的系統帳戶或網
域使用者帳戶?
你可以從三種帳戶中選擇其一,供SQL Server與SQL Server Agent服務使
用:網路服務帳戶、本機帳戶或專用的網域使用者帳戶。
網路服務帳戶(Network Service account)是特殊的內建系統帳戶,有點類
似驗證的使用者帳戶。在存取系統資源與物件方面,這個帳戶與Users群
組成員擁有相同的等級。在這個帳戶下執行的服務,會使用電腦帳戶的認
證存取網路資源。我們不建議你將這個帳戶,供SQL Server或SQL Server
Agent服務使用。
本機帳戶(local system account)屬於Windows OS帳戶,對本機電腦擁有
完整的管理權限,但沒有網路存取的權限。你可以使用這個帳戶對伺服器
進行開發或測試的作業,這些伺服器通常不需要與其他伺服器應用程式整
合,或與任何網路資源展開互動。不過,由於授予這個帳戶的權限,我們
不建議你將這個帳戶,供SQL Server或SQL Server Agent服務使用。
在大多數正式的SQL Server 2005環境中,你都會建立一個或兩個專用的網
域使用者帳戶,供SQL Server與SQL Server Agent服務使用。使用網域使用
者帳戶時,可以讓這些服務與其他SQL Server環境溝通,存取網路資源,並
與其他Windows應用程式進行互動。你可以透過手動方式,將SQL Server與
SQL Server Agent服務需要的權限,授予網域使用者帳戶。不過,你在安裝
SQL Server 2005過程中指派這些帳戶時,這些帳戶需要的所有權限,都會
自動授予你所指定的網域使用者帳戶。

CAUTION∣系統帳戶擁有的權限太多網路服務帳戶與本機帳戶會將太多權限授予SQL Server與SQL Server Agent服務,所以不建議將該帳戶供這些服務使用。

本篇文章發表於2010-10-11 18:59
1樓
最有價值解答

hunterpo
捐贈 VP 給 hunterpo 檢舉此回應
To 樓主:
不知道您那篇「決定服務帳戶」是哪來的?有點好奇,方便提供連結嗎?...Anyway,建議對照 SQL Server 2005 線上叢書這一篇:
設定 Windows 服務帳戶看看。

這問題有很多值得討論與評估的地方,我先做個概略性回覆...

1.
因為你說想做較嚴格的帳戶控管,我會建議 SQL Server 服務與 SQL Agent 服務都採用網域帳戶,但應為不同的兩個帳戶,
牽涉到安全性的話,基本原則都是盡可能授予最低使用權限,而 SQL Server 服務與 SQL Agent 服務性質不太相同,最好分開
兩個帳戶。

2.
考量點是只會存取伺服器本機資源還是需存取網路資源,基本上可以確定的是 SQL Agent 有相當大的機會存取網路資源,所以最好獨
立一個帳戶,SSRS 若是連接到遠端 SQL Server 上的報表伺服器資料庫,也應該使用網域帳戶(權限要夠),其他服務基本上都只會存
取本機資源。(SSIS 似乎也有機會存取外部資源,可請其他高手補充)

3.
你可以透過手動方式,將SQL Server與SQL Server Agent服務需要的權限,授予網域使用者帳戶。不過,你在安裝SQL Server 2005過程中指派這些帳戶時,這些帳戶需要的所有權限,都會自動授予你所指定的網域使用者帳戶。??==>這段紅色部份是什麼意思??

意思是說,最好在安裝前就將要使用的帳戶決定好,安裝時一併指派,這樣安裝程式就會自動授予指定帳戶適當的權限,否則後續須
手動自行一一設定。要知道 SQL Server 安裝程式幫你設定了哪些權限,你可以翻閱上述提供的連結,從「檢閱授與 SQL Server 服
務帳戶的 Windows NT 權利和權限」一直到「檢閱 SQL Server 服務的 Windows 權限」這幾個小節都是在講這些。

CAUTION∣系統帳戶擁有的權限太多網路服務帳戶與本機帳戶會將太多權限授予SQL Server與SQL Server Agent服務,所以不建議將該帳戶供這些服務使用。
==>文未又說,這個帳戶會授與太多權限,那建議帳戶為何??

簡單的說,內建的幾個特殊帳戶用在開發環境倒還好,但不適合用在正式環境,最好的作法就是建立幾個網域帳號,針對 SQL Server
各種服務授予適當權限,達到控管的目的。

有問題可以再討論,會就我所知給予回應。
本篇文章回覆於2010-10-12 02:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
不錯的參考

Dreamyi
捐贈 VP 給 Dreamyi 檢舉此回應
其實這個問題沒有一個很標準的答案,但 hunterpo 版主講到一個很重要的通則:『牽涉到安全性的話,基本原則都是盡可能授予最低使用權限』,這不管是在系統管理或是程式撰寫都通用。

網路服務帳戶(Network Service account):這個我不了解,也沒用過,所以我不針對這點來談。
而本機帳戶(local system account)跟專用的網域使用者帳戶基本上小弟認為他們只是管控的方式不同,並不會有誰比較安全的問題,不過以前上課時我們老師做了一個很有趣的比喻,他說:如果您考量到主機會被偷抱走再慢慢破解的話,那麼網域使用者帳戶的方式還是有比較安全的。當然網域使用者的方式還是有其他的好處,譬如:集中管控、統一佈署等,在跨不同的 SQL Server 伺服器時也可以用相同的帳號,這對在做 Database mirror 之類的機制時很好用。

基本上小弟是比較偷懶,有網域服務時一律用網域帳號,沒有時一律用本機帳號,當然針對不同的服務還是會用不同的帳號,大致原則就如 hunterpo 版主所說的,至於 SSIS 的部分,打個比喻:如果說您會透過 SSIS 定期產生的一個檔案(例如 EXCEL 檔),然後會將他存到另一台電腦 Share 的資料夾,那當然也會存取到外部資源囉。
本篇文章回覆於2010-10-13 16:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

老鄧
捐贈 VP 給 老鄧 檢舉此回應
我目前發現這個議題有點大,兩位版主沒時間回也沒關係,二天後會將此文章結案,謝謝。

To 1F您好:
1.謝謝您回覆,依連結連下去看,才發現各項服務再去細分還真的"很複雜"。

2.我看的那篇是在以下連結
http://download.microsoft.com/download/9/1/5/9151ba6d-6c37-4b6a-bef4-efab001d2929/sktd00001_test.pdf
(說實話,它有看,但看不太了,因為大原則我也知道要用最小但又可以執行的權限)

3.依您的回答逐一做整理
您的回答1:重點為
A.SQL Server 服務與 SQL Agent 服務都採用網域帳戶
B.基本原則都是盡可能授予最低使用權限
==>其實這是我最大的疑問?
SQL Server 服務 => 方式 1.建一個Domain user 2.加到那台SQL Server 的本機administrators group中(這樣做是否可以正常啟動QL Server,且又為最底使用權限?)
SQL Agent 服務 ==>方式 1.建一個Domain user ??要加到什麼group才是最低使用權限??要看有Agent相當大的機會存取網路資源這我想要各別看了.

您的回答2:重點為
目前我的認知SQL Server Agent、SQL Server Integration Services、SQL Server Reporting Services、SQL Server Analysis Services等均有很高的機會存取網路資源 ==> 那個權限才是最底的??

1.SQL Server (MSSQLSERVER)=>不會存取網路資源
4.SQL Server FullText Search (MSSQLSERVER)??
7.SQL Server VSS Writer??

To 2F您好:
也非常謝謝您的補充,在觀念上我也習慣有網域服務時一律用網域帳號,沒有時一律用本機帳號(以前老師也這樣講過),但那個[盡可能授予最低使用權限],真的有點難.
謝謝您的說明,也讓我釐清了一些觀念.
(因為發生大陸IT自己偷改出勤檔,主管要求弄清楚,進而產生了這個議題)

本篇文章回覆於2010-10-15 17:49
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.