Azure AD 集成

简介

本文档介绍了如何将 Citrix 环境与 Windows 10 Azure AD 功能集成。Windows 10 引入了 Azure AD,这是一种新的域加入模型,漫游笔记本电脑可以通过 Internet 加入公司域,以实现管理和单点登录。

本文档中的示例部署描述了一个系统,其中 IT 部门为新用户提供公司电子邮件地址和注册码,用于其个人 Windows 10 笔记本电脑。用户可以通过“设置”面板中的“系统”>“关于”>“加入 Azure AD”选项访问此代码。

localized image

笔记本电脑注册后,Microsoft Edge Web 浏览器将通过 Azure SaaS 应用程序网页自动登录公司网站和 Citrix 发布的应用程序,以及 Office 365 等其他 Azure 应用程序。

localized image

体系结构

此体系结构在 Azure 中完全复制了传统的公司网络,并与 Azure AD 和 Office 365 等现代云技术集成。最终用户都被视为远程工作人员,没有在办公室内部网络上的概念。

该模型可应用于拥有现有本地系统的公司,因为 Azure AD Connect 同步可以通过 Internet 连接到 Azure。

localized image

在此体系结构中,传统上由防火墙 LAN 和 Kerberos/NTLM 身份验证实现的安全连接和单点登录,被替换为到 Azure 的 TLS 连接和 SAML。新服务作为加入 Azure AD 的 Azure 应用程序构建。需要 Active Directory 的现有应用程序(例如 SQL Server 数据库)可以使用 Azure 云服务的 IAAS 部分中的标准 Active Directory Server VM 运行。

当用户启动传统应用程序时,将使用 Citrix Virtual Apps and Desktops™ 发布的应用程序进行访问。不同类型的应用程序通过用户的“Azure 应用程序”页面,使用 Microsoft Edge 单点登录功能进行整理。Microsoft 还提供可枚举和启动 Azure 应用程序的 Android 和 iOS 应用程序。

  • 创建 DNS 区域

  • Azure AD 要求管理员已注册公共 DNS 地址并控制域名后缀的委派区域。为此,管理员可以使用 Azure DNS 区域功能。

  • 本示例使用 DNS 区域名称 citrixsamldemo.net

localized image

  • 控制台显示 Azure DNS 名称服务器的名称。这些名称应在 DNS 注册商的区域 NS 条目中引用(例如,citrixsamldemo.net. NS n1-01.azure-dns.com)。

在添加对 Azure 中运行的 VM 的引用时,最简单的方法是使用 CNAME 指针指向 VM 的 Azure 托管 DNS 记录。如果 VM 的 IP 地址发生更改,则无需手动更新 DNS 区域文件。

  • 对于此部署,内部和外部 DNS 地址后缀将匹配。域为 citrixsamldemo.net,并使用拆分 DNS(内部为 10.0.0.*)。

  • 添加一个引用 Web 应用程序代理服务器的“fs.citrixsamldemo.net”条目。这是此区域的联合服务。

创建云服务

本示例配置了一个 Citrix 环境,其中包括一个在 Azure 中运行 ADFS 服务器的 AD 环境。创建了一个名为“citrixsamldemo”的云服务。

  • localized image

创建 Windows 虚拟机

在云服务中创建五个 Windows VM:

  • 域控制器 (domaincontrol)
  • Azure Connect ADFS 服务器 (adfs)
  • ADFS Web 访问代理(Web 应用程序代理,未加入域)
  • Citrix Virtual Apps and Desktops Delivery Controller
  • Citrix Virtual Apps and Desktops Virtual Delivery Agent (VDA)

localized image

域控制器

  • 添加“DNS 服务器”“Active Directory 域服务”角色以创建标准 Active Directory 部署(在本示例中为 citrixsamldemo.net)。域升级完成后,添加“Active Directory 证书服务”角色。
  • 创建用于测试的普通用户帐户(例如,George@citrixsamldemo.net)。
  • 由于此服务器将运行内部 DNS,因此所有服务器都应引用此服务器进行 DNS 解析。这可以通过“Azure DNS 设置”页面完成。(有关详细信息,请参阅本文档中的附录。)

ADFS 控制器和 Web 应用程序代理服务器

  • 将 ADFS 服务器加入 citrixsamldemo 域。Web 应用程序代理服务器应保留在隔离的工作组中,因此请手动向 AD DNS 注册 DNS 地址。
    • 在这些服务器上运行 Enable-PSRemoting –Force cmdlet,以允许 AzureAD Connect 工具通过防火墙进行 PS 远程处理。

Citrix Virtual Desktops™ Delivery Controller 和 VDA

-  在加入 citrixsamldemo 的其余两台 Windows 服务器上安装 Citrix Virtual Apps 或 Citrix Virtual Desktops Delivery Controller™ 和 VDA。

配置内部 DNS

域控制器安装完成后,配置 DNS 服务器以处理 citrixsamldemo.net 的内部视图,并充当外部 DNS 服务器(例如:8.8.8.8)的转发器。

localized image

添加以下静态记录:

-  wap.citrixsamldemo.net [Web 应用程序代理 VM 将不加入域]
  • fs.citrixsamldemo.net [内部联合服务器地址]
  • enterpriseregistration.citrixsaml.net [与 fs.citrixsamldemo.net 相同]

所有在 Azure 中运行的 VM 都应配置为仅使用此 DNS 服务器。您可以通过网络接口 GUI 完成此操作。

localized image

默认情况下,内部 IP (10.0.0.9) 地址是动态分配的。您可以使用 IP 地址设置永久分配 IP 地址。Web Application Proxy 服务器和域控制器应执行此操作。

配置外部 DNS 地址

虚拟机运行时,Azure 会维护自己的 DNS 区域服务器,该服务器指向分配给虚拟机的当前公共 IP 地址。这是一个有用的功能,因为 Azure 默认在每个虚拟机启动时分配 IP 地址。

localized image

此示例将 DNS 地址 domaincontrol-citrixsamldemo.westeurope.cloudapp.azure.com 分配给域控制器。

请注意,远程配置完成后,只有 Web Application Proxy 和 Citrix Gateway 虚拟机应启用公共 IP 地址。(在配置期间,公共 IP 地址用于对环境进行 RDP 访问)。

配置安全组

Azure 云使用安全组管理从 Internet 对虚拟机进行 TCP/UDP 访问的防火墙规则。默认情况下,所有虚拟机都允许 RDP 访问。Citrix Gateway 和 Web Application Proxy 服务器也应允许端口 443 上的 TLS。

localized image

创建 ADFS 证书

在 Microsoft 证书颁发机构上启用 Web 服务器证书模板。这允许创建具有自定义 DNS 地址的证书,该证书可以导出(包括私钥)到 pfx 文件。您必须在 ADFS 和 Web Application Proxy 服务器上安装此证书,因此 PFX 文件是首选选项。

颁发具有以下主题名称的 Web 服务器证书:

  • 通用名称:
    • adfs.citrixsamldemo.net [计算机名称]
  • 主题备用名称:
    • *.citrixsamldemo.net [区域名称]
    • fs.citrixsamldemo. net [DNS 中的条目]
    • enterpriseregistration.citrixsamldemo.net

localized image

将证书导出到 pfx 文件,包括受密码保护的私钥。

设置 Azure AD

本节详细介绍了设置新的 Azure AD 实例以及创建可用于将 Windows 10 加入 Azure AD 的用户身份的过程。

创建新目录

登录到经典 Azure 门户并创建新目录。

localized image

完成后,将显示摘要页面。

localized image

创建全局管理员用户 (AzureAdmin)

在 Azure 中创建全局管理员(在此示例中为 AzureAdmin@citrixsamldemo.onmicrosoft.com),并使用新帐户登录以设置密码。

localized image

向 Azure AD 注册您的域

默认情况下,用户通过以下形式的电子邮件地址进行标识:<user.name>@<company>.onmicrosoft.com

尽管这无需进一步配置即可工作,但标准格式的电子邮件地址更好,最好是与最终用户的电子邮件帐户匹配的电子邮件地址:<user.name>@<company>.com

添加域操作会配置从您的真实公司域进行的重定向。该示例使用 citrixsamldemo.net。

如果您正在为单一登录设置 ADFS,请启用该复选框。

localized image

安装 Azure AD Connect

Azure AD 配置 GUI 的第 2 步会重定向到 Azure AD Connect 的 Microsoft 下载页面。在 ADFS 虚拟机上安装此项。使用自定义安装而不是快速设置,以便 ADFS 选项可用。

localized image

选择与 AD FS 联合单一登录选项。

localized image

使用您之前创建的管理员帐户连接到 Azure。

localized image

选择内部 AD 林。

localized image

将所有旧版 Active Directory 对象与 Azure AD 同步。

localized image

如果目录结构简单,可以依赖用户名具有足够的唯一性来识别登录用户。

localized image

接受默认筛选选项,或将用户和设备限制到特定组集。

localized image

如果需要,可以将 Azure AD 密码与 Active Directory 同步。对于基于 ADFS 的身份验证,这通常不是必需的。

localized image

选择要在 AD FS 中使用的证书 PFX 文件,并将 fs.citrixsamldemo.net 指定为 DNS 名称。

localized image

当提示选择代理服务器时,输入 wap.citrixsamldemo.net 服务器的地址。可能需要在 Web 应用程序代理服务器上以管理员身份运行 Enable-PSRemoting –Force cmdlet,以便 Azure AD Connect 可以对其进行配置。

localized image

注意:

如果此步骤由于远程 PowerShell 信任问题而失败,请尝试将 Web 应用程序代理服务器加入域。

对于向导的其余步骤,请使用标准管理员密码,并为 ADFS 创建一个服务帐户。Azure AD Connect 随后将提示验证 DNS 区域的所有权。

localized image

将 TXT 和 MX 记录添加到 Azure 中的 DNS 地址记录。

localized image

在 Azure 管理控制台中单击“验证”。

localized image

注意:

如果此步骤失败,可以在运行 Azure AD Connect 之前验证域。

完成后,将通过端口 443 联系外部地址 fs.citrixsamldemo.net。

  • localized image

启用 Azure AD Join

当用户输入电子邮件地址以便 Windows 10 可以执行 Azure AD Join 时,将使用 DNS 后缀构造应指向 ADFS 的 CNAME DNS 记录:enterpriseregistration.<upnsuffix>。

在此示例中,这是 fs.citrixsamldemo.net

localized image

如果未使用公共证书颁发机构,请确保在 Windows 10 计算机上安装 ADFS 根证书,以便 Windows 信任 ADFS 服务器。使用之前生成的标准用户帐户执行 Azure AD 域加入。

localized image

请注意,UPN 必须与 ADFS 域控制器识别的 UPN 匹配。

localized image

localized image

localized image

通过重新启动计算机并使用用户的电子邮件地址登录,验证 Azure AD Join 是否成功。登录后,启动 Microsoft Edge 并连接到 http://myapps.microsoft.com。该网站应自动使用单一登录。

安装 Citrix Virtual Apps 或 Citrix Virtual Desktops

可以以常规方式直接从 Citrix Virtual Apps 或 Citrix Virtual Desktops ISO 在 Azure 中安装 Delivery Controller 和 VDA 虚拟机。

在此示例中,StoreFront 与 Delivery Controller 安装在同一服务器上。VDA 作为独立的 Windows 2012 R2 RDS 工作程序安装,未与 Machine Creation Services 集成(尽管可以可选地进行配置)。在继续之前,请检查用户 George@citrixsamldemo.net 是否可以使用密码进行身份验证。

localized image

在 Controller 上运行 Set-BrokerSite –TrustRequestsSentToTheXmlServicePort $true PowerShell cmdlet,以允许 StoreFront™ 无需用户凭据即可进行身份验证。

安装联合身份验证服务

在 ADFS 服务器上安装 FAS,并配置规则以使 Delivery Controller 充当受信任的 StoreFront(因为在此示例中,StoreFront 与 Delivery Controller 安装在同一 VM 上)。请参阅安装和配置

配置 StoreFront

为 Delivery Controller 请求计算机证书,并通过为端口 443 设置 IIS 绑定以及将 StoreFront 基本地址更改为 https: 来配置 IIS 和 StoreFront 以使用 HTTPS。

localized image

配置 StoreFront 以使用 FAS 服务器(使用 安装和配置 中的 PowerShell 脚本),并在 Azure 内部进行测试,通过检查 FAS 服务器上的事件查看器来确保登录使用 FAS。

localized image

配置 StoreFront 以使用 Citrix Gateway

使用 StoreFront 管理控制台中的管理身份验证方法 GUI,配置 StoreFront 以使用 Citrix Gateway 执行身份验证。

localized image

要集成 Citrix Gateway 身份验证选项,请配置安全票证颁发机构 (STA) 并配置 Citrix Gateway 地址。

localized image

配置用于 StoreFront 单点登录的新 Azure AD 应用程序

本节使用 Azure AD SAML 2.0 单点登录功能,该功能目前需要 Azure Active Directory Premium 订阅。在 Azure AD 管理工具中,选择新建应用程序,然后选择从库中添加应用程序

localized image

选择自定义 > 添加我的组织正在使用的未列出应用程序以创建供用户使用的新自定义应用程序。

配置图标

创建一个 215 x 215 像素大小的图像,并将其上传到“配置”页面,用作应用程序的图标。

localized image

配置 SAML 身份验证

返回“应用程序仪表板概述”页面,然后选择配置单点登录

localized image

此部署将使用 SAML 2.0 身份验证,这对应于 Microsoft Azure AD 单点登录

localized image

标识符可以是任意字符串(它必须与提供给 Citrix Gateway 的配置匹配);在此示例中,回复 URL 是 Citrix Gateway 服务器上的 /cgi/samlauth

localized image

下一页包含用于将 Citrix Gateway 配置为 Azure AD 的信赖方的信息。

localized image

下载 base 64 受信任签名证书,并复制登录和注销 URL。您稍后会将这些内容粘贴到 Citrix Gateway 配置屏幕中。

将应用程序分配给用户

最后一步是启用应用程序,使其显示在用户的 “myapps.microsoft.com” 控制页面上。这在“用户和组”页面上完成。为通过 Azure AD Connect 同步的域用户帐户分配访问权限。也可以使用其他帐户,但必须显式映射它们,因为它们不符合 <user>@<domain> 模式。

localized image

MyApps 页面

配置应用程序后,当用户访问 https://myapps.microsoft.com 时,它会显示在用户的 Azure 应用程序列表中。

localized image

当加入 Azure AD 时,Windows 10 支持登录用户对 Azure 应用程序进行单点登录。单击图标会将浏览器带到之前配置的 SAML cgi/samlauth 网页。

单点登录 URL

返回 Azure AD 仪表板中的应用程序。现在,应用程序有一个可用的单点登录 URL。此 URL 用于提供 Web 浏览器链接或创建“开始”菜单快捷方式,将用户直接带到 StoreFront。

localized image

将此 URL 粘贴到 Web 浏览器中,以确保您被 Azure AD 重定向到之前配置的 Citrix Gateway cgi/samlauth 网页。这仅适用于已分配的用户,并且仅为 Windows 10 Azure AD 加入的登录会话提供单点登录。(其他用户将收到 Azure AD 凭据提示。)

安装和配置 Citrix Gateway

要远程访问此部署,本示例使用运行 NetScaler(现为 Citrix Gateway)的单独 VM。可以从 Azure Store 购买。本示例使用 NetScaler 11.0 的“自带许可证”版本。

登录到 NetScaler® VM,将 Web 浏览器指向内部 IP 地址,使用用户进行身份验证时指定的凭据。请注意,您必须更改 Azure AD VM 中 nsroot 用户的密码。

添加许可证,在添加每个许可证文件后选择重新启动,并将 DNS 解析器指向 Microsoft 域控制器。

运行 Citrix Virtual Apps and Desktops 安装向导

本示例首先配置不带 SAML 的简单 StoreFront 集成。在该部署正常运行后,它会添加一个 SAML 登录策略。

localized image

选择标准 Citrix Gateway StoreFront 设置。对于在 Microsoft Azure 中的使用,本示例配置端口 4433,而不是端口 443。或者,您可以端口转发或重新映射 Citrix Gateway 管理网站。

localized image

为简单起见,本示例上传存储在文件中的现有服务器证书和私钥。

localized image

配置用于 AD 帐户管理的域控制器

域控制器将用于帐户解析,因此请将其 IP 地址添加到主要身份验证方法中。请注意对话框中每个字段的预期格式。

localized image

配置 StoreFront 地址

在本示例中,StoreFront 已使用 HTTPS 进行配置,因此请选择 SSL 协议选项。

localized image

验证 Citrix Gateway 部署

连接到 Citrix Gateway 并使用用户名和密码检查身份验证和启动是否成功。

localized image

启用 Citrix Gateway SAML 身份验证支持

将 SAML 与 StoreFront 结合使用类似于将 SAML 与其他网站结合使用。添加一个新 SAML 策略,其表达式为 NS_TRUE

localized image

配置新的 SAML IdP 服务器,使用之前从 Azure AD 获取的信息。

localized image

验证端到端系统

使用在 Azure AD 中注册的帐户登录到已加入 Azure AD 的 Windows 10 桌面。启动 Microsoft Edge 并连接到:https://myapps.microsoft.com

Web 浏览器应显示用户的 Azure AD 应用程序。

localized image

验证单击图标是否会将您重定向到经过身份验证的 StoreFront 服务器。

同样,验证使用单一登录 URL 的直接连接以及直接连接到 Citrix Gateway 站点是否会将您重定向到 Microsoft Azure 并返回。

最后,验证未加入 Azure AD 的计算机是否也使用相同的 URL 运行(尽管首次连接时将对 Azure AD 进行一次显式登录)。

附录

在 Azure 中设置 VM 时,应配置以下标准选项。

提供公共 IP 地址和 DNS 地址

Azure 为所有 VM 提供内部子网上的 IP 地址(本示例中为 10.*.*.*)。默认情况下,还会提供一个公共 IP 地址,该地址可以通过动态更新的 DNS 标签进行引用。

localized image

选择公共 IP 地址/DNS 名称标签配置。为 VM 选择一个公共 DNS 地址。这可用于其他 DNS 区域文件中的 CNAME 引用,确保所有 DNS 记录即使在 IP 地址重新分配后也能正确指向 VM。

localized image

设置防火墙规则(安全组)

云中的每个 VM 都有一组自动应用的防火墙规则,称为安全组。安全组控制从公共 IP 地址转发到私有 IP 地址的流量。默认情况下,Azure 允许将 RDP 转发到所有 VM。Citrix Gateway 和 ADFS 服务器也必须转发 TLS 流量 (443)。

打开 VM 的网络接口,然后单击网络安全组标签。配置入站安全规则以允许适当的网络流量。

localized image

相关信息