[SQL]Managed Service Accounts

[SQL]Managed Service Accounts

在 Windows 2008R2 之後有提供 Managed Service Accounts,原本只覺得這沒有特別需要注意的,但這幾天在幫忙查看架設 SQL 2012 的 AlwaysOn 的功能時,才發覺這個服務還真是不錯的,以往我們要讓 Windows 上面的 Services 能夠存取區域網路上的相關資源時,則會建立一個 Domain Account 來讓服務使用,但有時因為資安管理需要去變更密碼,或者是要不允許讓別人使用這個帳號去登入,則會變得很麻煩。而 Managed Service Accounts 就是因應這樣的需求下所產生的,當我們在 AD 上面建立一個這樣的帳號時,這個帳號只能綁定給單一的電腦所使用,而且不用受到密碼變更的影響,也可以很方便的設定權限。為了怕自己忘記相關步驟,把程序給記錄下來

 

1. 首先在 AD 的環境上建立帳號( SQL1 和 SQL2 ),並且將這兩個帳號綁定給特定的電腦 ( SQL1 → AlwaysON_1 , SQL2 → AlwaysON_2 ),這個部分我們可以利用 PowerShell 的指令來建立。

MSA00

 

2. 接著我們要在目的端的電腦上,同樣也是透過 PowerShell 的指令來設定,此部分要先透過伺服器管理員的新增功能的方式來加入,這樣才可以讓 PowerShell 使用 AD 的相關指令。

MSA01

 

3. 在還沒有使用上述步驟的,那麼當你用 PowerShell 指令來查看能使用的 Module 的時候,會類似下圖沒有 ActiveDirectory 這個 Module 可以使用

MSA02

 

4. 但如果第 2 個部分有順利安裝的時候,則會類似下圖會出現有 ActiveDirectory 這個模組可以提供使用

 MSA03

 

5. 接下來就利用 Install-ADServiceAccount 這個指令在目錄端電腦上來執行,下面的範例是因為我在第 1 個步驟的時候,已經將 SQL2 這個帳號綁定給 AlwaysON_2 這台電腦,因此這個時候我就會在 AlwaysON_2 上,利用 Install-ADServiceAccount  設定可以在該電腦上使用 SQL2 這個 Managed Service Account

MSA04

 

6. 接下來我們就要更改 SQL Server 的服務所使用的帳號,按照 SQL Server 的說明文件,當要做這樣的處理的時候,不建議使用 Windows Services 來改變,而是應該利用 SQL Server 的組態管理員來進行變更,這樣他會順便幫你設定相關帳號的權限,會比較合適。下面的第一個圖片是還沒有更改之前,此時我們所使用的帳號是安裝 SQL Server 時預設的虛擬帳號,但這個帳號無法去存取網路資源。

MSA05

 

而在當我們選擇一個服務帳號的時候,他會跟一般的網域帳號有點不同,下圖中我們在 Always_ON1 這台電腦上設定 SQL1 這個服務帳號,帶出來在畫面上看到的會是 MYLAB\SQL1$ ( MYLAB 是我個人試驗用的網域名稱 )

MSA06

 

透過上述的部分設定好之後,那麼當我們要建立 SQL Server AlwaysON 的時候,他需要一個所有 SQL 主機都可以共同存取的目錄的時候,這個時候我們就可以在分享目錄的權限上,指定讓 MYLAB\SQL1$ 和 MYLAB\SQL2$ 可以完全控制,就可以正常運作了。如果想要更了解 SQL Server AlwaysON 的安裝與相關功能,可以參考 Cary 的另外一篇文章,上面有很詳細的描述。

http://caryhsu.blogspot.tw/2012/04/sql-server-2012-alwayson.html