教程:在单个 Active Directory 林中使用混合标识的联合身份验证

本教程介绍如何使用联合身份验证和 Windows Server Active Directory (Windows Server AD) 在 Azure 中创建混合标识环境。 你可以使用自己创建的混合标识环境进行测试,或者更加熟悉混合标识的工作方式。

Diagram that shows how to create a hybrid identity environment in Azure by using federation.

本教程介绍如何执行下列操作:

  • 创建虚拟机。
  • 创建 Windows Server Active Directory 环境。
  • 创建 Windows Server Active Directory 用户。
  • 创建证书。
  • 创建 Microsoft Entra 租户。
  • 在 Azure 中创建混合标识管理员帐户。
  • 将自定义域添加到目录。
  • 设置 Microsoft Entra Connect。
  • 测试并验证用户是否已同步。

先决条件

若要完成该教程,需要准备好以下各项:

注意

本教程使用 PowerShell 脚本来快速创建教程环境。 每个脚本都使用在脚本开头声明的变量。 请务必更改变量以反映你的环境。

本教程中的脚本会在安装 Microsoft Entra Connect 之前创建常规 Windows Server Active Directory (Windows Server AD) 环境。 相关教程中也会使用脚本。

GitHub 提供了本教程中使用的 PowerShell 脚本。

创建虚拟机

若要创建混合标识环境,第一个任务是创建用作本地 Windows Server AD 服务器的虚拟机。

注意

如果从未在主机上的 PowerShell 中运行脚本,请在运行任何脚本之前,以管理员身份打开 Windows PowerShell ISE 并运行 Set-ExecutionPolicy remotesigned。 在“执行策略更改”对话框中,选择“”。

若要创建虚拟机:

  1. 以管理员身份打开 Windows PowerShell ISE。

  2. 运行以下脚本:

    #Declare variables
    $VMName = 'DC1'
    $Switch = 'External'
    $InstallMedia = 'D:\ISO\en_windows_server_2016_updated_feb_2018_x64_dvd_11636692.iso'
    $Path = 'D:\VM'
    $VHDPath = 'D:\VM\DC1\DC1.vhdx'
    $VHDSize = '64424509440'
    
    #Create a new virtual machine
    New-VM -Name $VMName -MemoryStartupBytes 16GB -BootDevice VHD -Path $Path -NewVHDPath $VHDPath -NewVHDSizeBytes $VHDSize  -Generation 2 -Switch $Switch  
    
    #Set the memory to be non-dynamic
    Set-VMMemory $VMName -DynamicMemoryEnabled $false
    
    #Add a DVD drive to the virtual machine
    Add-VMDvdDrive -VMName $VMName -ControllerNumber 0 -ControllerLocation 1 -Path $InstallMedia
    
    #Mount installation media
    $DVDDrive = Get-VMDvdDrive -VMName $VMName
    
    #Configure the virtual machine to boot from the DVD
    Set-VMFirmware -VMName $VMName -FirstBootDevice $DVDDrive 
    

安装操作系统。

若要完成创建虚拟机,请安装操作系统:

  1. 在 Hyper-V 管理器中,双击虚拟机。
  2. 选择“开始”。
  3. 在提示符下,按任意键从 CD 或 DVD 启动。
  4. 在 Windows Server 开始窗口中,选择你的语言,然后选择“下一步”。
  5. 选择“立即安装”。
  6. 输入许可证密钥,然后选择“下一步”。
  7. 选中“我接受许可条款”复选框,然后选择“下一步”。
  8. 选择“自定义: 仅安装 Windows (高级)”。
  9. 选择“下一步”。
  10. 安装完成后,重启虚拟机。 登录,然后检查 Windows 更新。 安装任何更新,确保虚拟机完全处于最新状态。

安装 Windows Server AD 必备组件

在安装 Windows Server AD 之前,请运行用于安装必备组件的脚本:

  1. 以管理员身份打开 Windows PowerShell ISE。

  2. 运行 Set-ExecutionPolicy remotesigned。 在“执行策略更改”对话框中,选择“全是”。

  3. 运行以下脚本:

    #Declare variables
    $ipaddress = "10.0.1.117" 
    $ipprefix = "24" 
    $ipgw = "10.0.1.1" 
    $ipdns = "10.0.1.117"
    $ipdns2 = "8.8.8.8" 
    $ipif = (Get-NetAdapter).ifIndex 
    $featureLogPath = "c:\poshlog\featurelog.txt" 
    $newname = "DC1"
    $addsTools = "RSAT-AD-Tools" 
    
    #Set a static IP address
    New-NetIPAddress -IPAddress $ipaddress -PrefixLength $ipprefix -InterfaceIndex $ipif -DefaultGateway $ipgw 
    
    # Set the DNS servers
    Set-DnsClientServerAddress -InterfaceIndex $ipif -ServerAddresses ($ipdns, $ipdns2)
    
    #Rename the computer 
    Rename-Computer -NewName $newname -force 
    
    #Install features 
    New-Item $featureLogPath -ItemType file -Force 
    Add-WindowsFeature $addsTools 
    Get-WindowsFeature | Where installed >>$featureLogPath 
    
    #Restart the computer 
    Restart-Computer
    

创建 Windows Server AD 环境

现在,安装并配置 Active Directory 域服务以创建环境:

  1. 以管理员身份打开 Windows PowerShell ISE。

  2. 运行以下脚本:

    #Declare variables
    $DatabasePath = "c:\windows\NTDS"
    $DomainMode = "WinThreshold"
    $DomainName = "contoso.com"
    $DomainNetBIOSName = "CONTOSO"
    $ForestMode = "WinThreshold"
    $LogPath = "c:\windows\NTDS"
    $SysVolPath = "c:\windows\SYSVOL"
    $featureLogPath = "c:\poshlog\featurelog.txt" 
    $Password = ConvertTo-SecureString "Passw0rd" -AsPlainText -Force
    
    #Install Active Directory Domain Services, DNS, and Group Policy Management Console 
    start-job -Name addFeature -ScriptBlock { 
    Add-WindowsFeature -Name "ad-domain-services" -IncludeAllSubFeature -IncludeManagementTools 
    Add-WindowsFeature -Name "dns" -IncludeAllSubFeature -IncludeManagementTools 
    Add-WindowsFeature -Name "gpmc" -IncludeAllSubFeature -IncludeManagementTools } 
    Wait-Job -Name addFeature 
    Get-WindowsFeature | Where installed >>$featureLogPath
    
    #Create a new Windows Server AD forest
    Install-ADDSForest -CreateDnsDelegation:$false -DatabasePath $DatabasePath -DomainMode $DomainMode -DomainName $DomainName -SafeModeAdministratorPassword $Password -DomainNetbiosName $DomainNetBIOSName -ForestMode $ForestMode -InstallDns:$true -LogPath $LogPath -NoRebootOnCompletion:$false -SysvolPath $SysVolPath -Force:$true
    

创建 Windows Server AD 用户

接下来,创建测试用户帐户。 在本地 Active Directory 环境中创建此帐户。 然后,该帐户将同步到 Microsoft Entra ID。

  1. 以管理员身份打开 Windows PowerShell ISE。

  2. 运行以下脚本:

    #Declare variables
    $Givenname = "Allie"
    $Surname = "McCray"
    $Displayname = "Allie McCray"
    $Name = "amccray"
    $Password = "Pass1w0rd"
    $Identity = "CN=ammccray,CN=Users,DC=contoso,DC=com"
    $SecureString = ConvertTo-SecureString $Password -AsPlainText -Force
    
    #Create the user
    New-ADUser -Name $Name -GivenName $Givenname -Surname $Surname -DisplayName $Displayname -AccountPassword $SecureString
    
    #Set the password to never expire
    Set-ADUser -Identity $Identity -PasswordNeverExpires $true -ChangePasswordAtLogon $false -Enabled $true
    

创建用于 AD FS 的证书

需要 Active Directory 联合身份验证服务 (AD FS) 将使用的 TLS 或 SSL 证书。 该证书是自签名证书,你创建它仅用于测试。 建议不要在生产环境中使用自签名证书。

若要创建证书,请执行以下操作:

  1. 以管理员身份打开 Windows PowerShell ISE。

  2. 运行以下脚本:

    #Declare variables
    $DNSname = "adfs.contoso.com"
    $Location = "cert:\LocalMachine\My"
    
    #Create a certificate
    New-SelfSignedCertificate -DnsName $DNSname -CertStoreLocation $Location
    

创建 Microsoft Entra 租户

如果没有租户,请按照在 Microsoft Entra ID 中创建新租户一文中的步骤创建新租户。

在 Microsoft Entra ID 中创建混合标识管理员账户

下一个任务是创建混合标识管理员帐户。 此帐户用于在 Microsoft Entra Connect 安装期间创建 Microsoft Entra 连接器帐户。 Microsoft Entra 连接器帐户用于将信息写入 Microsoft Entra ID。

若要创建混合标识管理员帐户,请执行以下操作:

  1. 登录到 Microsoft Entra 管理中心

  2. 浏览到“标识”>“用户”>“所有用户”

  3. 选择“新建用户”>“创建新用户”。

  4. 在“创建新用户”窗格中,输入新用户的“显示名称”和“用户主体名称”。 你正在为租户创建混合标识管理员帐户。 你可以显示和复制临时密码。

    1. 在“分配”下,选择“添加角色”,然后选择“混合标识管理员”。
  5. 然后选择“查看 + 创建”>“创建”。

  6. 在新的 Web 浏览器窗口中,使用新的混合标识管理员帐户和临时密码登录 myapps.microsoft.com

  7. 为混合标识管理员帐户选择新密码并更改密码。

将自定义域名添加到目录

现在你有了租户和混合标识管理员帐户,请添加自定义域,以便 Azure 可以验证它。

若要将自定义域名添加到目录,请执行以下操作:

  1. 在 [Microsoft Entra 管理中心](https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview),请务必关闭“所有用户”窗格

  2. 在左侧菜单中的“管理”下,选择“自定义域名”。

  3. 选择“添加自定义域”。

    Screenshot that shows the Add custom domain button highlighted.

  4. 在“自定义域名”中,输入自定义域的名称,然后选择“添加域”。

  5. 在“自定义域名”中,显示了 TXT 或 MX 信息。 必须将此信息添加到你的域下域注册机构的 DNS 信息中。 请转到你的域注册机构,在域的 DNS 设置中输入 TXT 或 MX 信息。

    Screenshot that shows where you get TXT or MX information.将此信息添加到域注册机构后,Azure 可以验证你的域。 域验证可能需要 24 小时。

    有关详细信息,请参阅添加自定义域文档。

  6. 若要确保域已验证,请选择“验证”。

    Screenshot that shows a success message after you select Verify.

下载并安装 Microsoft Entra Connect

现在,是时候下载并安装 Microsoft Entra Connect 了。 安装后,你将使用快速安装。

  1. 下载 Microsoft Entra Connect

  2. 转到 AzureADConnect.msi 并双击以打开安装文件。

  3. 在“欢迎”中,选中复选框以同意许可条款,然后选择“继续”。

  4. 在“快速设置”中,选择“自定义”。

  5. 在“安装所需的组件”中,选择“安装”。

  6. 在“用户登录”中,选择“使用 AD FS 进行联合身份验证”,然后选择“下一步”。

    Screenshot that shows where to select Federation with AD FS.

  7. 在“连接到 Microsoft Entra ID”中,输入前面创建的混合标识管理员帐户的用户名和密码,然后选择“下一步”。

  8. 在“连接目录”中,选择“添加目录”。 然后选择“新建 AD 帐户”并输入 contoso\管理员用户名和密码。 选择“确定”。

  9. 选择下一步

  10. 在“Microsoft Entra 登录配置”中,选择“继续但不匹配已验证域的所有 UPN 后缀”。 选择下一步

  11. 在“域和 OU 筛选”中,选择“下一步”。

  12. 在“唯一标识用户”中,选择“下一步”。

  13. 在“筛选用户和设备”中,选择“下一步”。

  14. 在“可选功能”中,选择“下一步”。

  15. 在“域管理员凭据”中,输入 contoso\管理员用户名和密码,然后选择“下一步”。

  16. 在“AD FS 场”中,确保选择“配置新的 AD FS 场”。

  17. 选择“使用联合服务器上安装的证书”,然后选择“浏览”。

  18. 在搜索框中,输入 DC1 并在搜索结果中选择它。 选择“确定” 。

  19. 对于“证书文件”,请选择“adfs.contoso.com”,即你创建的证书。 选择下一步

    Screenshot that shows where to select the certificate file you created.

  20. 在“AD FS 服务器”中,选择“浏览”。 在搜索框中,输入 DC1 并在搜索结果中选择它。 选择“确定” ,然后选择“下一步” 。

    Screenshot that shows where to select your AD FS server.

  21. 在“Web 应用程序代理服务器”中,选择“下一步”。

  22. 在“AD FS 服务帐户”中,输入 contoso\管理员用户名和密码,然后选择“下一步”。

  23. 在“Microsoft Entra 域”中,选择已验证的自定义域,然后选择“下一步”。

  24. 在“已准备好配置”中,选择“安装”。

  25. 安装完成后,选择“退出”。

  26. 在使用 Synchronization Service Manager 或同步规则编辑器之前,请先注销,然后重新登录。

在门户中检查用户

现在,你将验证本地 Active Directory 租户中的用户是否已同步并且现在位于 Microsoft Entra 租户中。 此部分可能需要几小时才能完成。

若要验证用户是否已同步,请执行以下操作:

  1. 至少以混合标识管理员身份登录到 Microsoft Entra 管理中心

  2. 浏览到“标识”>“用户”>“所有用户”

  3. 验证租户中是否显示新用户。

    Screenshot that shows verifying that users were synced in Microsoft Entra ID.

使用用户帐户登录以测试同步

若要测试 Windows Server AD 租户中的用户是否与你的 Microsoft Entra 租户同步,请以其中一个用户身份登录:

  1. 转到 https://myapps.microsoft.com

  2. 使用在我们的新租户中创建的用户帐户登录。

    对于用户名,请使用格式 user@domain.onmicrosoft.com。 使用用户用于登录本地 Active Directory 的相同密码。

你已成功设置了一个混合标识环境,可以使用它来测试和熟悉 Azure 提供的功能。

后续步骤