步骤 2 - 准备第一个 PRIV 域控制器

在此步骤中,你将创建一个新域,该域将为管理员身份验证提供堡垒环境。 此林至少需要一个域控制器、一个成员工作站和至少一个成员服务器。 成员服务器将在下一步骤中进行配置。

创建一个新的 Privileged Access Management 域控制器

在本部分中,将虚拟机设置为充当新林的域控制器。

安装Windows Server 2016或更高版本

在另一台未安装软件的新虚拟机上,安装 Windows Server 2016 或更高版本,使计算机成为“PRIVDC”。

  1. 选择执行 Windows Server 的自定义(非升级)安装。 安装时,请指定具有桌面体验的 Windows Server 2016 (Server) ;不要选择“数据中心”或“服务器核心”。

  2. 查看并接受许可条款。

  3. 因为磁盘将为空,所以请选择“自定义: 仅安装 Windows”并使用未初始化的磁盘空间。

  4. 安装操作系统版本后,以新管理员的身份登录此新计算机。 使用 控制面板 将计算机名设置为 PRIVDC。 在网络设置中,为它提供虚拟网络上的静态 IP 地址,并将 DNS 服务器配置为上一步中安装的域控制器的服务器。 需要重启服务器。

  5. 重启服务器后,以管理员身份登录。 使用“控制面板”,配置计算机以检查更新,并安装所需的任何更新。 安装更新可能需要重启服务器。

添加角色

添加 Active Directory 域服务 (AD DS) 和 DNS 服务器角色。

  1. 以管理员身份启动 PowerShell。

  2. 键入以下命令以准备安装 Windows Server Active Directory。

    import-module ServerManager
    
    Install-WindowsFeature AD-Domain-Services,DNS –restart –IncludeAllSubFeature -IncludeManagementTools
    

配置 SID 历史记录迁移所需的注册表设置

启动 PowerShell 并键入以下命令,以便将源域配置为允许远程过程调用 (RPC) 访问安全帐户管理器 (SAM) 数据库。

New-ItemProperty –Path HKLM:SYSTEM\CurrentControlSet\Control\Lsa –Name TcpipClientSupport –PropertyType DWORD –Value 1

创建一个新的 Privileged Access Management 林

然后,将此服务器提升为新林中的域控制器。

在本指南中,名称 priv.contoso.local 用作新林的域名。 林的名称并不重要,并且不需要从属于组织中的现有林名称。 但是,新林的域名和 NetBIOS 名称必须具有唯一性且不同于组织中任何其他域的名称。

创建一个域和林

  1. 在“PowerShell”窗口中,键入以下命令以创建新域。 这些命令还将在上一步中创建的 contoso.local) (高级域中创建 DNS 委派。 如果想要在以后配置 DNS,则忽略 CreateDNSDelegation -DNSDelegationCredential $ca 参数。

    $ca= get-credential
    Install-ADDSForest –DomainMode 7 –ForestMode 7 –DomainName priv.contoso.local –DomainNetbiosName priv –Force –CreateDNSDelegation –DNSDelegationCredential $ca
    
  2. 当弹出窗口显示以配置 DNS 委派时,请提供 CORP 林管理员的凭据(本指南中的用户名 CONTOSO\Administrator)和步骤 1 中的相应密码。

  3. “PowerShell”窗口将提示你使用安全模式管理员密码。 输入两次新密码。 将出现 DNS 委派和加密设置的警告消息;这些是正常的。

完成林创建后,服务器将自动重新启动。

创建用户和服务帐户

创建用于 MIM 服务和门户设置的用户和服务帐户。 这些帐户都将置于 priv.contoso.local 域的用户容器中。

  1. 服务器重启后,以域管理员身份登录到 PRIVDC, (PRIV\Administrator) 。

  2. 启动 PowerShell,键入以下命令。 密码 Pass@word1 只是一个示例,应为帐户使用不同的密码。

    import-module activedirectory
    
    $sp = ConvertTo-SecureString "Pass@word1" –asplaintext –force
    
    New-ADUser –SamAccountName MIMMA –name MIMMA
    
    Set-ADAccountPassword –identity MIMMA –NewPassword $sp
    
    Set-ADUser –identity MIMMA –Enabled 1 –PasswordNeverExpires 1
    
    New-ADUser –SamAccountName MIMMonitor –name MIMMonitor -DisplayName MIMMonitor
    
    Set-ADAccountPassword –identity MIMMonitor –NewPassword $sp
    
    Set-ADUser –identity MIMMonitor –Enabled 1 –PasswordNeverExpires 1
    
    New-ADUser –SamAccountName MIMComponent –name MIMComponent -DisplayName MIMComponent
    
    Set-ADAccountPassword –identity MIMComponent –NewPassword $sp
    
    Set-ADUser –identity MIMComponent –Enabled 1 –PasswordNeverExpires 1
    
    New-ADUser –SamAccountName MIMSync –name MIMSync
    
    Set-ADAccountPassword –identity MIMSync –NewPassword $sp
    
    Set-ADUser –identity MIMSync –Enabled 1 –PasswordNeverExpires 1
    
    New-ADUser –SamAccountName MIMService –name MIMService
    
    Set-ADAccountPassword –identity MIMService –NewPassword $sp
    
    Set-ADUser –identity MIMService –Enabled 1 –PasswordNeverExpires 1
    
    New-ADUser –SamAccountName SharePoint –name SharePoint
    
    Set-ADAccountPassword –identity SharePoint –NewPassword $sp
    
    Set-ADUser –identity SharePoint –Enabled 1 –PasswordNeverExpires 1
    
    New-ADUser –SamAccountName SqlServer –name SqlServer
    
    Set-ADAccountPassword –identity SqlServer –NewPassword $sp
    
    Set-ADUser –identity SqlServer –Enabled 1 –PasswordNeverExpires 1
    
    New-ADUser –SamAccountName BackupAdmin –name BackupAdmin
    
    Set-ADAccountPassword –identity BackupAdmin –NewPassword $sp
    
    Set-ADUser –identity BackupAdmin –Enabled 1 -PasswordNeverExpires 1
    
    New-ADUser -SamAccountName MIMAdmin -name MIMAdmin
    
    Set-ADAccountPassword –identity MIMAdmin  -NewPassword $sp
    
    Set-ADUser -identity MIMAdmin -Enabled 1 -PasswordNeverExpires 1
    
    Add-ADGroupMember "Domain Admins" SharePoint
    
    Add-ADGroupMember "Domain Admins" MIMService
    

配置审核和登录权限

你需要设置审核权限,以便跨林实现 PAM 配置。

  1. 确保以域管理员身份登录, (PRIV\Administrator) 。

  2. 转到“启动>Windows 管理工具>组策略管理”。

  3. 导航到“ 林:priv.contoso.local>域”>priv.contoso.local>域控制器>默认域控制器策略。 将显示一条警告消息。

  4. 右键单击“默认域控制器策略”,然后选择“编辑”

  5. 在组策略管理编辑器控制台树中,导航到“计算机配置>策略”“>Windows 设置”“>安全设置”“>本地策略”“>审核策略”。

  6. 在“详细信息”窗格中,右键单击“审核帐户管理”并选择“属性”。 单击“定义这些策略设置”,依次选中“成功”、“失败”复选框,然后依次单击“应用”和“确定”

  7. 在“详细信息”窗格中,右键单击“审核目录服务访问”并选择“属性”。 单击“定义这些策略设置”,依次选中“成功”、“失败”复选框,然后依次单击“应用”和“确定”

  8. 导航到 “计算机配置>策略”>“Windows 设置”“>安全设置”“>帐户策略>”“Kerberos 策略”。

  9. 在“详细信息”窗格中,右键单击“用户票证最长寿命”并选择“属性”。 单击“定义这些策略设置”,然后将小时数设置为 1,再依次单击“应用”和“确定”。 请注意,窗口中的其他设置也会更改。

  10. 在“组策略管理” 窗口中,选择“默认域策略” ,右键单击并选择“编辑”

  11. 展开“计算机配置>策略”>“Windows 设置”“>安全设置”“>本地策略”,然后选择“用户权限分配”。

  12. 在“详细信息”窗格中,右键单击“ 拒绝作为批处理作业登录 ”,然后选择“ 属性”。

  13. 选中“ 定义这些策略设置” 复选框,单击“ 添加用户或组”,然后在“用户和组名称”字段中键入 priv\mimmonitor; priv\MIMService; priv\mimcomponent ,然后单击“ 确定”。

  14. 单击“确定” 以关闭该窗口。

  15. 在“详细信息”窗格中,右键单击“ 拒绝通过远程桌面服务登录 ”,然后选择“ 属性”。

  16. 单击“ 定义这些策略设置” 复选框,单击“ 添加用户或组”,然后在“用户和组名称”字段中键入 priv\mimmonitor; priv\MIMService; priv\mimcomponent ,然后单击“ 确定”。

  17. 单击“确定” 以关闭该窗口。

  18. 关闭“组策略管理编辑器”窗口和“组策略管理”窗口。

  19. 以管理员身份启动 PowerShell 窗口,并键入以下命令以从组策略设置中更新 DC。

    gpupdate /force /target:computer
    

    一分钟后,它将完成并显示消息“计算机策略更新已成功完成”。

在 PRIVDC 上配置 DNS 名称转发

使用 PRIVDC 中的 PowerShell,配置 DNS 名称转发以使 PRIV 域能够识别其他现有的林。

  1. 启动 PowerShell。

  2. 对于每个现有林顶部的每个域,键入以下命令。 在该命令中,指定现有 DNS 域 (,例如 contoso.local) ,以及该域的主 DNS 服务器的 IP 地址。

    如果在上一步中使用 10.1.1.31 作为其 IP 地址创建了一个域 contoso.local,则为 CORPDC 计算机的虚拟网络 IP 地址指定 10.1.1.31

    Add-DnsServerConditionalForwarderZone –name "contoso.local" –masterservers 10.1.1.31
    

注意

其他林也必须能够按指定路线将 PRIV 林的 DNS 查询发送到此域控制器。 如果具有多个现有的 Active Directory 林,则还必须为这些林的每一个添加一个 DNS 条件转发器。

配置 Kerberos

  1. 使用 PowerShell 添加 SPN,以便 SharePoint、PAM REST API 和 MIM 服务可以使用 Kerberos 身份验证。

    setspn -S http/pamsrv.priv.contoso.local PRIV\SharePoint
    setspn -S http/pamsrv PRIV\SharePoint
    setspn -S FIMService/pamsrv.priv.contoso.local PRIV\MIMService
    setspn -S FIMService/pamsrv PRIV\MIMService
    

注意

本文的后续步骤将介绍如何在单台计算机上安装 MIM 2016 服务器组件。 如果打算添加另一台服务器以实现高可用性,则将需要如 FIM 2010: Kerberos Authentication Setup(FIM 2010:Kerberos 身份验证设置)中所述的其他 Kerberos 配置。

配置委派以提供 MIM 服务帐户访问权限

以域管理员身份在 PRIVDC 上执行以下步骤。

  1. 启动“Active Directory 用户和计算机”

  2. 右键单击域“priv.contoso.local”并选择“委托控件”

  3. 在“所选用户和组”选项卡上,单击“ 添加”。

  4. 在“选择用户、计算机或组”窗口中,键入 mimcomponent; mimmonitor; mimservice 并单击“ 检查名称”。 在名称带有下划线后,单击“ 确定 ”,然后单击“ 下一步”。

  5. 在常见任务列表中,选择“创建、删除和管理用户帐户”和“修改组成员身份”,然后单击“下一步”和“完成”

  6. 再次右键单击域“priv.contoso.local”并选择“委派控制”

  7. 在“所选用户和组”选项卡上,单击“ 添加”。

  8. 在“选择用户、计算机或组”窗口中,输入“MIMAdmin”,然后单击“检查名称”。 在名称带有下划线后,单击“ 确定 ”,然后单击“ 下一步”。

  9. 选择“自定义任务”,使用“常规权限”应用到“此文件夹”

  10. 在权限列表中,选择以下权限:

    • 读取
    • 写入
    • 创建所有子对象
    • 删除所有子对象
    • 读取所有属性
    • 写入所有属性
    • 迁移 SID 历史记录
  11. 单击“ 下一步”,然后单击 “完成”。

  12. 再次右键单击域“priv.contoso.local”并选择“委派控制”

  13. 在“所选用户和组”选项卡上,单击“ 添加”。

  14. 在“选择用户、计算机或组”窗口中,输入“MIMAdmin”然后单击“检查名称”。 在名称带有下划线后,单击“确定”,然后单击“下一步”

  15. 选择“自定义任务”,应用到“此文件夹”,然后单击“仅用户对象”

  16. 在权限列表中,选择“更改密码”和“重置密码”。 然后依次单击“下一步”和“完成”

  17. 关闭“Active Directory 用户和计算机”。

  18. 打开命令提示符。

  19. 查看 PRIV 域中 Admin SD Holder 对象上的访问控制列表。 例如,如果域为“priv.contoso.local”,请键入命令:

    dsacls "cn=adminsdholder,cn=system,dc=priv,dc=contoso,dc=local"
    
  20. 根据需要更新访问控制列表,以确保 MIM 服务和 MIM PAM 组件服务可以更新受此 ACL 保护的组的成员身份。 键入命令:

    dsacls "cn=adminsdholder,cn=system,dc=priv,dc=contoso,dc=local" /G priv\mimservice:WP;"member"
    dsacls "cn=adminsdholder,cn=system,dc=priv,dc=contoso,dc=local" /G priv\mimcomponent:WP;"member"
    

在 Windows Server 2016 中配置 PAM

接下来,授权 MIM 管理员和 MIM 服务帐户创建和更新影子主体。

  1. 在 PRIV 林中启用Windows Server 2016 Active Directory 中启用的特权访问管理功能。 以管理员身份启动 PowerShell 窗口并键入以下命令。

    $of = get-ADOptionalFeature -filter "name -eq 'privileged access management feature'"
    Enable-ADOptionalFeature $of -scope ForestOrConfigurationSet -target "priv.contoso.local"
    
  2. 启动 PowerShell 窗口并键入 ADSIEdit。

  3. 打开“操作”菜单并单击“连接到”。 在连接点设置上,将命名上下文从“默认命名上下文”更改为“配置”,然后单击“确定”。

  4. 连接后,在 ADSI 编辑器下方的窗口左侧,展开“配置”节点以查看“CN=Configuration,DC=priv,....”。 展开 CN=Configuration,然后展开 CN=Services。

  5. 右键单击“CN=Shadow Principal Configuration”,然后单击“属性”。 属性对话框出现时,更改为“安全性”选项卡。

  6. 单击“添加”。 指定帐户“MIMService”,并指定稍后将执行 New-PAMGroup 以创建其他 PAM 组的所有其他 MIM 管理员。 对于每位用户,请在允许的权限列表中添加“写入”、“创建所有子对象”和“删除所有子对象”。 添加权限。

  7. 更改为高级安全设置。 在允许 MIMService 访问的行上,单击“编辑”。 将“适用于”设置更改为“对此对象及所有后代”。 更新此权限设置并关闭“安全性”对话框。

  8. 关闭 ADSI 编辑器。

  9. 接下来,授权 MIM 管理员创建和更新身份验证策略。 启动提升的命令提示符,然后键入以下命令,将每行(共 4 行)中 MIM 管理员帐户的名称替换为“mimadmin”:

    dsacls "CN=AuthN Policies,CN=AuthN Policy Configuration,CN=Services,CN=configuration,DC=priv,DC=contoso,DC=local" /g mimadmin:RPWPRCWD;;msDS-AuthNPolicy /i:s
    
    dsacls "CN=AuthN Policies,CN=AuthN Policy Configuration,CN=Services,CN=configuration,DC=priv,DC=contoso,DC=local" /g mimadmin:CCDC;msDS-AuthNPolicy
    
    dsacls "CN=AuthN Silos,CN=AuthN Policy Configuration,CN=Services,CN=configuration,DC=priv,DC=contoso,DC=local" /g mimadmin:RPWPRCWD;;msDS-AuthNPolicySilo /i:s
    
    dsacls "CN=AuthN Silos,CN=AuthN Policy Configuration,CN=Services,CN=configuration,DC=priv,DC=contoso,DC=local" /g mimadmin:CCDC;msDS-AuthNPolicySilo
    
  10. 重新启动 PRIVDC 服务器以使这些更改起效。

准备 PRIV 工作站

按照这些说明准备工作站。 此工作站将加入 PRIV 域,以执行 PRIV 资源维护 (,例如 MIM) 。

安装Windows 10 企业版

在另一台未安装软件的新虚拟机上,安装 Windows 10 企业版,使计算机成为“PRIVWKSTN”。

  1. 在安装过程中使用快速设置。

  2. 请注意,安装可能无法连接到 Internet。 单击“创建本地帐户”。 指定不同的用户名;不要使用“Administrator”或“Jen”。

  3. 使用“控制面板”,为这台计算机提供虚拟网络上的一个静态 IP 地址,并将接口的首选 DNS 服务器设置为 PRIVDC 服务器。

  4. 使用“控制面板”,将 PRIVWKSTN 计算机加入到 priv.contoso.local 域。 此步骤需要提供 PRIV 域管理员凭据。 完成此步骤后,重启计算机 PRIVWKSTN。

  5. 安装适用于 64 位 Windows 的 Visual C++ 2013 可再发行程序包

若要了解更多详细信息,请参阅保护访问特权工作站

在下一步中,你将准备 PAM 服务器。