Chapter 1 Securing Your Server and Network(3):使用託管服務帳號,chaptersecuring

來源:互聯網
上載者:User

Chapter 1 Securing Your Server and Network(3):使用託管服務帳號,chaptersecuring
原文出處:http://blog.csdn.net/dba_huangzj/article/details/38017703,專題目錄:http://blog.csdn.net/dba_huangzj/article/details/37906349

未經作者同意,任何人不得以“原創”形式發布,也不得已用於商業用途,本人不負責任何法律責任。

        前一篇:http://blog.csdn.net/dba_huangzj/article/details/37927319

 

前言:

 

託管服務帳號(Managed Servcie Account)從Windows Server 2008 R2出現, 它的目的是使用於運行服務的活動目錄帳號更加容易管理。在此之前,必須建立用於作為服務帳號的域帳號相同類型的使用者,但是需要禁用密碼原則以免密碼到期導致服務運行發生錯誤。但是禁用密碼原則又會降低安全性。

為瞭解決這些問題,出現了託管服務帳號,它是一個綁定到特定電腦上的活動目錄帳號,它的密碼由活動目錄自動管理,並且可以在不影響服務啟動並執行情況下定期修改密碼。另外還能簡化Service Principal Name(SPN/服務主體名稱,用戶端的唯一標識,在後續詳細介紹)。

 

實現:

 

託管服務帳號必須運行在Windows Server 2008R2或Win 7以上,並且需要打上一個熱修複補丁:http://support.microsoft.com/kb/2494158 。了另外,建立託管服務帳號需要使用PowerShell實現,並且在活動目錄上安裝PowerShell 嵌入式管理單元(Snap-In):

1.如果沒安裝PowerShell嵌入式管理單元,可以在活動目錄上,開啟伺服器管理員,右鍵【功能】節點,選擇【添加功能】,在【遠端伺服器管理工具】→【角色管理工具 】→【AD DS 和AD LDS 工具】節點上勾選【Windows PowerShell 的 Active Directory 模組】並進行安裝,如:

 


 

2. 以活動目錄下有足夠許可權的帳號開啟PowerShell ,匯入ActiveDirectory模組:

Import-Module ActiveDirectory



如果發生上面的警告,是因為ADWS服務沒有啟動,這種問題一般出現在虛擬機器,臨時解決方案就是在Powershell裡面輸入

restart-service adws

根本解決方案就是把adws服務設定成延時啟動。

3. 建立託管帳號:

New-ADServiceAccount -Name SQL-SRV1 -Enabled $true

其中SQL-SRV1就是建立的帳號名。

 

4. 把新加的帳號關聯到SQL Server電腦上,本例關聯到機器名為【SQL-A】上。

Add-ADComputerServiceAccount -Identity SQL-A -ServiceAccount SQL-SRV1


5.託管服務帳號必須安裝在運行有SQL Server的伺服器上,所以在SQL-A上開啟PowerShell,先匯入ActiveDirectory模組(步驟2),然後輸入下面命令:

Install-ADServiceAccount -Identity SQL-SRV1

如果此過程報錯,可以在SQL-A(也就是域成員伺服器上)的PowerShell中輸入:

Import-Module ServerManagerAdd-WindowsFeature RSAT-AD-PowerShell



然後再根據步驟2的命令匯入模版,再輸入:


Install-ADServiceAccount -Identity SQL-SRV1

即可,


 

 

6. 注意不要建立超過15個字元的託管帳號名,否則會存在Bug。

現在你可以用這個帳號來作為服務帳號,帳號名必須使用$符號,比如:(DOMAIN\SQL-SRV1$)。密碼和確認密碼留空。參考http://blog.csdn.net/dba_huangzj/article/details/37924127 進行配置,需要提醒的是這裡先要在Windows上的服務管理員配置帳號,而不能直接在SQL Server組態管理員中配置,否則報錯。


 

在服務管理員中配置完之後,在SQL Server組態管理員中重啟SQL Server服務即可,不需要再次配置:


 

原理:

 

託管服務帳號是綁定到單獨的機器上,並且僅用於服務所用,所以不能用來登入,也不能用於叢集服務,因為群集需要需要服務帳號能夠跨多個叢集節點。但是和本地內建帳號不同,託管帳號的名字在網路中發現,同時可以用於訪問網際網路共用資源。

當你建立一個託管帳號在活動目錄上時,不需要指定密碼,密碼會由活動目錄自動管理。並且根據密碼原則(預設30天)自動重新整理,期間不影響SQL Server 服務。

在建立完之後,可以在活動目錄的【Active Directory 使用者和電腦】工具中的【Managed Service Accounts】節點看到你的帳號,但是只能看不能改,一切操作都需要使用PowerShell。


 

在上面過程中,使用New-ADServiceAccount命令可能會出現拒絕訪問(Access is denied error)錯誤,這是因為使用者帳號控制(User Account Control,UAC)策略導致的,可以使用網域系統管理員帳號登入操作,或者臨時禁用Admin Approval Mode。

禁用Admin Approval Mode 可以在域管理器中運行【secpol.msc】,然後找到中的配置,並禁用,然後重啟電腦。




更多資訊:

 

如果你不再使用託管服務帳號,應該把它移除:

移除託管帳號:

在對應伺服器上運行:

Uninstall-ADServiceAccount -Identity SQL-SRV1


 

在AD上運行:

Remove-ADServiceAccount -Identity SQL-SRV1


 

更多資訊可以訪問:

Service Accounts Step-by-Step Guide  http://technet.microsoft.com/en-us/library/dd548356%28WS.10%29.aspx


相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.