适用于:Azure Local 2311.2 及更高版本
本文介绍 Azure Local 实例部署所需的权限和 DNS 记录。 本文还提供了一些示例,其中包含有关如何手动分配权限以及为 Active Directory 环境创建 DNS 记录的详细步骤。
Azure Local 解决方案会部署在大型 Active Directory 中,且附带用于分配权限的既定流程和工具。 Microsoft 提供 Active Directory 准备脚本,而后者可选择性用于 Azure Local 部署。 Active Directory 所需的权限、组织单位的创建以及 GPO 继承的阻止 - 也全都可以手动配置。
此外,还可选择要使用的 DNS 服务器;例如,可使用支持与 Active Directory 集成的 Microsoft DNS 服务器来充分利用安全的动态更新。 如果未使用 Microsoft DNS 服务器,则必须创建一组 DNS 记录来部署和更新 Azure Local 解决方案。
关于 Active Directory 要求
Azure Local 部署的部分 Active Directory 要求如下。
需要一个专门的组织单位 (OU) 来优化对象发现的查询时间。 此优化对于跨多个站点的大型 Active Directory 至关重要。 只有计算机对象和 Windows 故障转移集群 CNO 才需要此专用 OU。
用户(也称为部署用户)需要针对专用 OU 的必要权限。 用户可驻留在此目录中的任意位置。
需阻止组策略继承,以免出现来自组策略对象的任意设置冲突。 Azure Local 引入的新引擎会管理安全默认值,包括偏移保护。 有关详细信息,请参阅 Azure Local 实例的安全功能。
计算机帐户对象和集群 CNO 可进行预创建,具体方法是将部署用户用作为部署本身创建它们的替代方案。
所需的权限
作为部署用户引用的用户对象所需的权限范围仅限于专用 OU。 这些权限可概括为读取、创建和删除具有检索 BitLocker 恢复信息能力的计算机对象。
下表包含部署用户和集群 CNO 对 OU 和所有后代对象所需的权限。
角色 | 已分配权限的描述 |
---|---|
针对 OU 和所有后代对象的部署用户 | 列出内容。 读取所有属性。 读取权限。 创建计算机对象。 删除计算机对象。 |
OU 上的部署用户,但仅适用于后代 msFVE-Recoveryinformation 对象。 | 完全控制。 列出内容。 读取所有属性。 写入所有属性。 删除。 读取权限。 修改权限。 修改所有者。 所有经验证的写入。 |
应用于此对象及其所有后代对象的 OU 上的群集 CNO | 读取所有属性。 创建计算机对象。 |
使用 PowerShell 分配权限
可使用 PowerShell cmdlet 并通过 OU 为部署用户分配相应的权限。 以下示例展示了如何通过驻留在 Active Directory 域 contoso.com 中的 OU HCI001 将所需权限分配给 deploymentuser。
注意
该脚本要求在 Active Directory 中预先创建用户对象 New-ADUser 和 OU。 必须通过 PowerShell 设置 msFVE-RecoveryInformation。 使用 Active Directory 委派向导不适用于该方案。
有关如何阻止组策略继承的详细信息,请参阅 Set-GPInheritance。
运行以下 PowerShell cmdlet 以导入 Active Directory 模块并分配所需的权限:
#Import required module
import-module ActiveDirectory
#Input parameters
$ouPath ="OU=HCI001,DC=contoso,DC=com"
$DeploymentUser="deploymentuser"
#Assign required permissions
$userSecurityIdentifier = Get-ADuser -Identity $Deploymentuser
$userSID = [System.Security.Principal.SecurityIdentifier] $userSecurityIdentifier.SID
$acl = Get-Acl -Path "AD:$ouPath"
$userIdentityReference = [System.Security.Principal.IdentityReference] $userSID
$adRight = [System.DirectoryServices.ActiveDirectoryRights]::CreateChild -bor [System.DirectoryServices.ActiveDirectoryRights]::DeleteChild
$genericAllRight = [System.DirectoryServices.ActiveDirectoryRights]::GenericAll
$readPropertyRight = [System.DirectoryServices.ActiveDirectoryRights]::ReadProperty
$type = [System.Security.AccessControl.AccessControlType]::Allow
$inheritanceType = [System.DirectoryServices.ActiveDirectorySecurityInheritance]::All
$allObjectType = [System.Guid]::Empty
#Set computers object GUID, this is a well-known ID
$computersObjectType = [System.Guid]::New('bf967a86-0de6-11d0-a285-00aa003049e2')
#Set msFVE-RecoveryInformation GUID,this is a well-known ID
$msfveRecoveryGuid = [System.Guid]::New('ea715d30-8f53-40d0-bd1e-6109186d782c')
$rule1 = New-Object System.DirectoryServices.ActiveDirectoryAccessRule($userIdentityReference, $adRight, $type, $computersObjectType, $inheritanceType)
$rule2 = New-Object System.DirectoryServices.ActiveDirectoryAccessRule($userIdentityReference, $readPropertyRight, $type, $allObjectType , $inheritanceType)
$rule3 = New-Object System.DirectoryServices.ActiveDirectoryAccessRule($userIdentityReference, $genericAllRight, $type, $inheritanceType, $msfveRecoveryGuid)
$acl.AddAccessRule($rule1)
$acl.AddAccessRule($rule2)
$acl.AddAccessRule($rule3)
Set-Acl -Path "AD:$ouPath" -AclObject $acl
所需的 DNS 记录
如果 DNS 服务器不支持安全动态更新,则必须在部署 Azure Local 系统之前先创建所需的 DNS 记录。
下表包含所需的 DNS 记录和类型:
物体 | 类型 |
---|---|
计算机名称 | 主机 A |
群集 CNO | 主机 A |
群集 VCO | 主机 A |
注意
成为 Azure Local 系统一部分的每台计算机都需要 DNS 记录。
示例 - 确保 DNS 记录存在
要确保 DNS 记录存在,请运行以下命令:
nslookup "machine name"
非连续命名空间
当一台或多台域成员计算机的主 DNS 后缀与其 Active Directory 域的 DNS 名称不匹配时,就会出现不连续的命名空间。 例如,如果一台计算机的 DNS 名称为 corp.contoso.com,但它是名为 na.corp.contoso.com 的 Active Directory 域的一部分,则它使用的是不连续的命名空间。
在部署 Azure Local 实例之前,必须:
- 将 DNS 后缀追加到每个节点的管理适配器。 DNS 后缀必须与 Active Directory 域名匹配。
- 验证你是否可以将主机名解析为 Active Directory 的 FQDN。
示例 - 追加 DNS 后缀
要追加 DNS 后缀,请运行以下命令:
Set-DnsClient -InterfaceIndex 12 -ConnectionSpecificSuffix "na.corp.contoso.com"
示例 - 将主机名解析为 FQDN
要将主机名解析为 FQDN,请运行以下命令:
nslookup node1.na.corp.contoso.com
注意
无法使用组策略来配置 Azure Local 实例的 DNS 后缀列表。
群集感知更新 (CAU)
集群感知更新应用需要 DNS 记录的客户端接入点(虚拟计算机对象)。
在无法进行动态安全更新的环境中,需手动创建虚拟计算机对象 (VCO)。 有关如何创建 VCO 的详细信息,请参阅 Active Directory 域服务 中的 Prestage 群集计算机对象。
注意
务必在 Windows DNS 客户端中禁用动态 DNS 更新。 此设置由偏移控制提供保护,并内置于 Network ATC 中。 禁用动态更新后立即创建 VCO,以避免偏移回滚。 有关如何更改此受保护设置的详细信息,请参阅修改安全默认值。
示例 – 禁用动态更新
要禁用动态更新,请运行以下命令:
Get-NetAdapter "vManagement*"|Set-DnsClient -RegisterThisConnectionsAddress $false
后续步骤
继续: