Azure 本地版本 23H2 的自定义 Active Directory 配置
适用于:Azure 本地版本 23H2
本文介绍 Azure 本地版本 23H2 部署所需的权限和 DNS 记录。 本文还使用包含有关如何手动分配权限并为 Active Directory 环境创建 DNS 记录的详细步骤的示例。
Azure 本地解决方案部署在大型 Active Directory 中,其中包含用于分配权限的已建立进程和工具。 Microsoft提供了 可用于 Azure 本地部署的 Active Directory 准备脚本 。 Active Directory 所需的权限、组织单位的创建和阻止 GPO 继承 - 也可以手动配置。
还可以选择要使用的 DNS 服务器,例如,可以使用支持与 Active Directory 集成的Microsoft DNS 服务器来利用安全的动态更新。 如果未使用Microsoft DNS 服务器,则必须为 Azure 本地解决方案的部署和更新创建一组 DNS 记录。
关于 Active Directory 要求
下面是 Azure 本地部署的一些 Active Directory 要求。
需要一个专用的组织单位(OU)来优化对象的发现查询时间。 此优化对于跨多个站点的大型 Active Directory 至关重要。 只有计算机对象和 Windows 故障转移群集 CNO 才需要此专用 OU。
用户(也称为部署用户)需要对专用 OU 拥有必要的权限。 用户可以驻留在目录中的任意位置。
阻止组策略继承是防止来自组策略对象的任何设置冲突所必需的。 Azure Local 版本 23H2 中引入的新引擎管理安全默认值,包括偏移保护。 有关详细信息,请参阅 Azure 本地版本 23H2 的安全功能。
可以使用 部署用户预先创建 计算机帐户对象和群集 CNO 作为部署本身创建的替代方法。
所需的权限
作为部署用户引用的用户对象所需的权限限定为仅适用于专用 OU。 权限可以汇总为读取、创建和删除计算机对象,并且能够检索 BitLocker 恢复信息。
下面是一个表,其中包含部署用户和群集 CNO 通过 OU 和所有后代对象所需的权限。
角色 | 已分配权限的说明 |
---|---|
通过 OU 和所有后代对象部署用户 | 列出内容。 读取所有属性。 读取权限。 创建计算机对象。 删除计算机对象。 |
通过 OU 部署用户,但仅适用于子代 msFVE-Recoveryinformation 对象 | 完全控制。 列出内容。 读取所有属性。 写入所有属性。 删除。 读取权限。 修改权限。 修改所有者。 所有已验证的写入。 |
对应用于此对象的 OU 和所有后代对象的 CNO 进行群集 | 读取所有属性。 创建计算机对象。 |
使用 PowerShell 分配权限
可以使用 PowerShell cmdlet 为通过 OU 部署用户分配适当的权限。 以下示例演示如何通过驻留在 Active Directory 域 contoso.com 的 OU HCI001 向部署用户分配所需的权限。
注意
该脚本要求在 Active Directory 中预先创建用户对象 New-ADUser 和 OU 。 有关如何阻止组策略继承的详细信息,请参阅 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 $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 $ouPath -AclObject $acl
所需的 DNS 记录
如果 DNS 服务器不支持安全的动态更新,则必须在部署 Azure 本地系统之前创建所需的 DNS 记录。
下表包含所需的 DNS 记录和类型:
Object | 类型 |
---|---|
计算机名称 | 主机 A |
群集 CNO | 主机 A |
群集 VCO | 主机 A |
注意
成为 Azure 本地系统的一部分的每台计算机都需要 DNS 记录。
示例 - 验证 DNS 记录是否存在
若要验证 DNS 记录是否存在,请运行以下命令:
nslookup "machine name"
不相交命名空间
当一个或多个域成员计算机的主 DNS 后缀与其 Active Directory 域的 DNS 名称不匹配时,将发生不相交的命名空间。 例如,如果计算机的 DNS 名称为 corp.contoso.com,但属于名为 na.corp.contoso.com 的 Active Directory 域的一部分,则使用不相交的命名空间。
在部署 Azure 本地版本 23H2 之前,必须:
- 将 DNS 后缀追加到每个节点的管理适配器。
- 验证是否可以将主机名解析为 Active Directory 的 FQDN。
示例 - 追加 DNS 后缀
若要追加 DNS 后缀,请运行以下命令:
Set-DnsClient -InterfaceIndex 12 -ConnectionSpecificSuffix "na.corp.contoso.com"
示例 - 将主机名解析为 FQDN
若要将主机名解析为 FQDN,请运行以下命令:
nslookup node1.na.corp.contoso.com
注意
不能使用组策略通过 Azure 本地版本 23H2 配置 DNS 后缀列表。
群集感知更新 (CAU)
群集感知更新应用需要 DNS 记录的客户端访问点(虚拟计算机对象)。
在无法进行动态安全更新的环境中,需要手动创建虚拟计算机对象(VCO)。 有关如何创建 VCO 的详细信息,请参阅 Active Directory 域服务中的 Prestage 群集计算机对象。
注意
请确保在 Windows DNS 客户端中禁用动态 DNS 更新。 此设置受偏移控件的保护,内置于网络 ATC 中。 禁用动态更新后立即创建 VCO,以避免偏移回滚。 有关如何更改此受保护设置的详细信息,请参阅 “修改安全默认值”。
示例 - 禁用动态更新
若要禁用动态更新,请运行以下命令:
Get-NetAdapter "vManagement*"|Set-DnsClient -RegisterThisConnectionsAddress $false
后续步骤
继续: