首页 > 代码库 > Chapter 1 Securing Your Server and Network(3):使用托管服务帐号

Chapter 1 Securing Your Server and Network(3):使用托管服务帐号

原文出处: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出现。 它的目的是使用于执行服务的活动文件夹帐号更加easy管理。在此之前。必须创建用于作为服务帐号的域帐号同样类型的用户,可是须要禁用password策略以免password过期导致服务执行错误发生。可是禁用password策略又会减少安全性。

为了解决这些问题,出现了托管服务帐号。它是一个绑定到特定计算机上的活动文件夹帐号,它的password由活动文件夹自己主动管理,而且能够在不影响服务执行的情况下定期改动password。

另外还能简化Service Principal Name(SPN/服务主体名称。client的唯一标识,在兴许具体介绍)。

 

实现:

 

托管服务帐号必须执行在Windows Server 2008R2或Win 7以上,而且须要打上一个热修复补丁:http://support.microsoft.com/kb/2494158 。

了另外。创建托管服务帐号须要使用PowerShell实现,而且在活动文件夹上安装PowerShell 管理单元(Snap-In):

1.假设没安装PowerShell管理单元。能够在活动文件夹上,打开server管理器,右键【功能】节点,选择【加入功能】,在【远程server管理工具】→【角色管理工具 】→【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的server上,所以在SQL-A上打开PowerShell,先导入ActiveDirectory模块(步骤2)。然后输入以下命令:

Install-ADServiceAccount -Identity SQL-SRV1

假设此过程报错,能够在SQL-A(也就是域成员server上)的PowerShell中输入:

Import-Module ServerManager
Add-WindowsFeature RSAT-AD-PowerShell


技术分享


然后再依据步骤2的命令导入模版。再输入:


Install-ADServiceAccount -Identity SQL-SRV1

就可以,如图:


技术分享

 

 

6. 注意不要创建超过15个字符的托管帐号名,否则会存在Bug。

如今你能够用这个帐号来作为服务帐号,帐号名必须使用$符号,比方:(DOMAIN\SQL-SRV1$)。password和确认password留空。參考http://blog.csdn.net/dba_huangzj/article/details/37924127 进行配置。须要提醒的是这里先要在Windows上的服务管理器配置帐号,而不能直接在SQL Server配置管理器中配置。否则报错。


技术分享

 

在服务管理器中配置完之后。在SQL Server配置管理器中重新启动SQL Server服务就可以,不须要再次配置:


技术分享

 

原理:

 

托管服务帐号是绑定到单独的机器上,而且仅用于服务所用,所以不能用来登录,也不能用于群集服务,由于群集须要须要服务帐号能够跨多个群集节点。

可是和本地内置帐号不同,托管帐号的名字在网络中发现。同一时候能够用于訪问网络共享资源。

当你创建一个托管帐号在活动文件夹上时,不须要指定password。password会由活动文件夹自己主动管理。而且依据password策略(默认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】。然后找到下图中的配置。并禁用,然后重新启动计算机。


技术分享



很多其它信息:

 

假设你不再使用托管服务帐号,应该把它移除:

移除托管帐号:

在相应server上执行:

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


下一篇:http://blog.csdn.net/dba_huangzj/article/details/38037457

Chapter 1 Securing Your Server and Network(3):使用托管服务帐号