联邦身份验证服务Azure AD集成
介绍
本文档介绍如何将Citrix环境与Windows 10 Azure AD特性集成。
Windows 10推出了Azure AD,这是一种新的域加入模式,漫游的笔记本电脑可以通过互联网加入公司域,用于管理和单点登录。
本文档中的示例部署描述了一个系统,其中IT为新用户的个人Windows 10笔记本电脑提供公司电子邮件地址和注册代码。的方法访问此代码系统>关于>加入Azure广告选项中的设置面板。
在笔记本电脑注册后,Microsoft Edge网络浏览器自动登录到公司网站和Citrix通过Azure SaaS应用程序网页发布的应用程序,以及其他Azure应用程序(如Office 365)。
体系结构
该架构在Azure中完全复制了传统的公司网络,并集成了Azure AD和Office 365等现代云技术。终端用户都被认为是远程工作者,没有办公室内部网的概念。
该模型可以应用于拥有现有本地系统的公司,因为Azure AD连接同步可以通过Internet桥接到Azure。
安全连接和单点登录(传统上是防火墙lan和Kerberos/NTLM身份验证)在此体系结构中被到Azure和SAML的TLS连接所取代。新服务是作为加入Azure AD的Azure应用程序构建的。需要Active Directory(例如SQL Server数据库)的现有应用程序可以使用Azure云服务的IAAS部分中的标准Active Directory Server VM运行。
当用户启动传统应用程序时,可以使用XenApp和XenDesktop发布的应用程序访问它们。不同类型的应用程序通过用户进行整理Azure应用程序页面,使用Microsoft Edge的单点登录功能。微软还提供了可以枚举和启动Azure应用程序的Android和iOS应用程序。
创建DNS区域
Azure AD要求管理员已注册公共DNS地址,并控制域名后缀的委托区域。为此,管理员可以使用Azure DNS区域功能。
本例使用DNS区域名称“citrixsamldemo.net”。
控制台显示Azure DNS名称服务器的名称。这些应该在区域的DNS注册商的NS条目中引用(例如,citrixsamldemo.net)。NS n1 - 01. - azure - dns.com)
当向在Azure中运行的VM添加引用时,最简单的方法是使用指向该VM的Azure管理的DNS记录的CNAME指针。当虚拟机IP地址发生变化时,无需手动更新DNS区域文件。
内部和外部DNS地址后缀将匹配此部署。域是citrixsamldemo.net,并使用拆分DNS(10.0.0)。*内部)。
添加一个引用Web Application Proxy服务器的“fs.citrixsamldemo.net”条目。这是该区域的联邦服务。
创建云服务
此示例配置Citrix环境,包括在Azure中运行ADFS服务器的AD环境。创建一个名为“citrixsamldemo”的云服务。
创建Windows虚拟机
创建5台运行在Cloud Service上的Windows虚拟机:
- 域控制器(domaincontrol)
- Azure连接ADFS服务器(ADFS)
- ADFS web访问代理(web应用代理,未加入域)
- Citrix XenDesktop交付控制器(ddc)
- Citrix XenDesktop虚拟交付代理(vda)
域控制器
- 添加DNS服务器和Active Directory域服务角色来创建标准的Active Directory部署(在本例中为citrixsamldemo)。净)。域名升级完成后,添加Active Directory认证服务的角色。
- 创建用于测试的普通用户帐户(例如,George@citrixsamldemo.net)。
- 由于此服务器将运行内部DNS,因此所有服务器都应参考此服务器进行DNS解析。这可以通过Azure DNS设置页面。(有关更多信息,请参阅本文档的附录。)
ADFS控制器和Web应用代理服务器
- 将ADFS服务器加入到citrixsamldemo域。Web应用程序代理服务器应保持在隔离的工作组中,因此请向AD DNS手动注册DNS地址。
- 运行Enable-PSRemoting force允许通过防火墙从AzureAD Connect工具进行PS远程操作。
XenDesktop Delivery Controller和VDA
- 在其余两台加入citrixsamldemo的Windows服务器上安装XenApp或XenDesktop Delivery Controller和VDA。
配置内部DNS
域控制器安装完成后,需要配置DNS服务器处理citrixsamldemo.net的内部视图,并作为外部DNS服务器(例如8.8.8.8)的转发器。
添加静态记录:
- Web应用程序代理虚拟机将不会被域加入
- 内部联合服务器地址
- 【同fs.citrixsamldemo.net】
在Azure中运行的所有vm都应配置为仅使用此DNS服务器。您可以通过Network Interface GUI完成此操作。
缺省情况下,动态分配内部IP地址(10.0.0.9)。可以使用IP地址设置永久分配IP地址。这应该为Web应用程序代理服务器和域控制器完成。
配置外部DNS地址
当VM运行时,Azure维护自己的DNS区域服务器,该服务器指向分配给VM的当前公共IP地址。这是一个很有用的特性,因为默认情况下,Azure会在每个VM启动时分配IP地址。
本例将DNS地址domaincontrol-citrixsamldemo.westeurope.cloudapp.azure.com分配给域控制器。
注意,远程配置完成后,只有Web Application Proxy和NetScaler虚拟机开启了公网IP地址。(配置时使用公网IP地址进行RDP访问环境)。
配置安全组
Azure云通过安全组管理从Internet访问虚拟机的TCP/UDP防火墙规则。缺省情况下,所有虚拟机都允许RDP访问。NetScaler和Web应用程序代理服务器也应该允许在端口443上使用TLS。
创建ADFS证书
启用Web服务器Microsoft CA (certificate authority)证书模板。这允许创建具有自定义DNS地址的证书,该证书可以导出(包括私钥)到pfx文件。您必须在ADFS和Web应用程序代理服务器上同时安装此证书,因此PFX文件是首选选项。
发出具有以下主题名称的Web服务器证书:
- Commonname:
- [计算机名]
- SubjectAltname:
- *.citrixsamldemo.net[区域名称]
- fs.citrixsamldemo。net [DNS条目]
- enterpriseregistration.citrixsamldemo.net
将证书导出为pfx文件,包括密码保护的私钥。
设置Azure AD
本节详细介绍设置新的Azure AD实例和创建可用于将Windows 10加入到Azure AD的用户身份的过程。
创建一个新目录
登录到经典Azure门户并创建一个新目录。
完成后,将出现一个摘要页面。
创建全局管理员用户(AzureAdmin)
在Azure中创建一个全局管理员(在本例中为AzureAdmin@citrixsamldemo.onmicrosoft.com),并使用新帐户登录以设置密码。
用Azure AD注册您的域
默认情况下,用户使用表单中的电子邮件地址标识:<user.name> @ <公司>。onmicrosoft.com。
虽然这无需进一步配置就可以工作,但是标准格式的电子邮件地址更好,最好是与最终用户的电子邮件帐户匹配的电子邮件地址:
的加域Action配置从真实公司域的重定向。这个例子使用了citrixsamldemo.net。
如果要为单点登录设置ADFS,请启用该复选框。
安装Azure AD Connect
Azure AD配置GUI的步骤2重定向到Azure AD Connect的Microsoft下载页面。在ADFS虚拟机上安装。使用自定义安装,而不是表达的设置,以便ADFS选项可用。
选择与AD FS的联盟单点登录选项。
使用前面创建的管理员帐户连接到Azure。
选择内部AD森林。
将所有旧Active Directory对象与Azure AD同步。
如果目录结构很简单,则可以依赖用户名的惟一性来标识登录的用户。
接受默认的过滤选项,或者将用户和设备限制在一组特定的组中。
如果需要,您可以将Azure AD密码与Active Directory同步。基于adfs的身份验证通常不需要这样做。
选择要在AD FS中使用的证书PFX文件,指定fs.citrixsamldemo.net作为DNS名称。
当提示选择代理服务器时,输入wap.citrixsamldemo.net服务器的地址。您可能需要运行Enable-PSRemoting forcecmdlet作为Web应用程序代理服务器上的管理员,以便Azure AD Connect可以配置它。
注意:如果由于Remote PowerShell信任问题导致此步骤失败,请尝试将Web应用程序代理服务器加入域。
对于向导的其余步骤,请使用标准管理员密码,并为ADFS创建一个服务帐户。然后,Azure AD Connect将提示验证DNS区域的所有权。
将TXT和MX记录添加到Azure中的DNS地址记录中。
点击验证在Azure管理控制台中。
注意:如果此步骤失败,可以在运行Azure AD Connect之前验证域。
完成后,将通过端口443与外部地址fs.citrixsamldemo.net联系。
启用Azure AD加入
当用户输入电子邮件地址以便Windows 10可以执行Azure AD连接时,DNS后缀用于构造一个CNAME DNS记录,该记录应指向ADFS: enterpriseregistration.
在本例中,这是fs.citrixsamldemo.net。
如果没有使用公共CA,请确保在Windows 10计算机上安装了ADFS根证书,以便Windows信任ADFS服务器。使用前面生成的标准用户帐户执行Azure AD域连接。
注意UPN必须与ADFS域控制器识别的UPN匹配。
通过重新启动计算机并使用用户的电子邮件地址登录,验证Azure AD加入是否成功。登录后,启动Microsoft Edge并连接到https://myapps.microsoft.com。网站应该使用自动单点登录。
安装XenApp或XenDesktop
您可以按照通常的方式直接从XenApp或XenDesktop ISO安装Azure中的交付控制器和VDA虚拟机。
在本例中,StoreFront与Delivery Controller安装在同一台服务器上。VDA作为独立的Windows 2012 R2 RDS工作器安装,不与机器创建服务集成(尽管可以选择配置)。在继续之前,检查用户George@citrixsamldemo.net是否可以使用密码进行身份验证。
运行Set-BrokerSite -TrustRequestsSentToTheXmlServicePort $true控制器上的PowerShell cmdlet允许StoreFront无需用户凭据即可进行身份验证。
安装联邦身份验证服务
在ADFS服务器上安装联邦身份验证服务(FAS)组件,并为控制器配置一条规则,使其充当受信任的StoreFront。
配置店面
为交付控制器请求计算机证书,并通过为端口443设置IIS绑定,并将StoreFront的基础地址更改为HTTPS:来配置IIS和StoreFront以使用HTTPS。
配置StoreFront使用FAS服务器(使用文件中的PowerShell脚本)联邦身份验证服务文章),并在Azure内部进行测试,通过检查FAS服务器上的事件查看器来确保登录使用FAS。
配置StoreFront使用NetScaler
使用管理认证方法在StoreFront管理控制台的GUI中,配置StoreFront使用NetScaler执行身份验证。
为了集成NetScaler的认证选项,需要配置STA (Secure Ticket Authority)和NetScaler网关地址。
为StoreFront的单点登录配置一个新的Azure AD应用程序
本节使用Azure AD SAML 2.0单点登录功能,目前需要Azure Active Directory高级版订阅。在Azure AD管理工具中,选择新的应用程序,选择从库中添加一个应用程序。
选择添加我的组织正在使用的未列出的应用程序为用户创建新的自定义应用程序。
配置图标
创建一个大小为215 × 215像素的图像,并将其上传到CONFIGURE页面,用作应用程序的图标。
配置SAML身份验证
返回到Application仪表板概述页面并选择配置单点登录。
此部署将使用SAML 2.0身份验证,它对应于微软Azure AD单点登录。
的标识符可以是任意字符串(它必须匹配提供给NetScaler的配置);在本例中,回复URL在NetScaler服务器上是/cgi/samlauth。
下一页包含用于将NetScaler配置为Azure AD的依赖方的信息。
下载基本64可信签名证书,并复制登录和注销url。稍后将这些粘贴到NetScaler配置屏幕中。
将应用程序分配给用户
最后一步是启用应用程序,以便它出现在用户的“myapps.microsoft.com”控制页面上。这是在USERS和GROUPS页面上完成的。为Azure AD Connect同步的域用户帐户分配访问权限。也可以使用其他帐户,但是必须显式地映射它们,因为它们不符合
myapp页面
配置应用程序后,当用户访问Azure应用程序时,它会出现在用户的Azure应用程序列表中https://myapps.microsoft.com。
当加入Azure AD时,Windows 10支持登录用户对Azure应用程序的单点登录。单击该图标将浏览器带到前面配置的SAML cgi/samlauth网页。
单点登录URL
返回到Azure AD指示板中的应用程序。现在该应用程序有一个可用的单点登录URL。此URL用于提供web浏览器链接或创建将用户直接带入StoreFront的开始菜单快捷方式。
将此URL粘贴到web浏览器中,以确保Azure AD将您重定向到先前配置的NetScaler cgi/samlauth网页。这仅适用于已分配的用户,并且仅为Windows 10 Azure ad加入的登录会话提供单点登录。(系统会提示其他用户输入Azure AD凭据。)
安装和配置NetScaler网关
为了远程访问部署,本例使用运行NetScaler的单独VM。这可以从Azure商店购买。本例使用NetScaler 11.0的“自带许可证”版本。
使用用户认证时指定的凭据登录NetScaler虚拟机,将web浏览器指向内部IP地址。注意,必须修改Azure AD虚拟机中nsroot用户的密码。
添加许可证,选择重新启动每个license文件添加完成后,将DNS解析器指向Microsoft域控制器。
运行XenApp和XenDesktop安装向导
这个例子从配置一个没有SAML的简单StoreFront集成开始。部署工作完成后,它将添加一个SAML登录策略。
选择标准NetScaler StoreFront设置。为了在Microsoft Azure中使用,此示例配置端口4433,而不是端口443。或者,您可以端口转发或重新映射NetScaler管理网站。
为简单起见,该示例上传存储在文件中的现有服务器证书和私钥。
配置域控制器用于AD帐号管理
该域控制器将用于帐户解析,因此将其IP地址添加到主认证方法中。注意对话框中每个字段的预期格式。
配置StoreFront地址
在本例中,StoreFront已使用HTTPS配置,因此选择SSL协议选项。
验证NetScaler部署
连接到NetScaler,使用用户名和密码检查身份验证和启动是否成功。
启用NetScaler SAML身份验证支持
在StoreFront中使用SAML类似于在其他网站中使用SAML。添加一个新的SAML策略,表达式为NS_TRUE。
使用先前从Azure AD获得的信息配置新的SAML IdP服务器。
验证端到端系统
登录到Azure AD加入Windows 10桌面,使用在Azure AD中注册的帐户。启动Microsoft Edge并连接到:https://myapps.microsoft.com。
web浏览器应该为用户显示Azure AD应用程序。
验证单击图标是否将您重定向到经过身份验证的StoreFront服务器。
同样,验证使用单点登录URL的直接连接和到NetScaler站点的直接连接是否将您重定向到Microsoft Azure并返回。
最后,验证非Azure AD加入的机器是否也使用相同的url运行(尽管对于第一个连接,将有一个显式登录到Azure AD)。
附录
在Azure中设置VM时,应该配置几个标准选项。
提供公网IP地址和DNS地址
Azure在内部子网(10.*.*)上为所有虚拟机提供一个IP地址。*在这个例子中)。缺省情况下,还提供一个公共IP地址,该地址可以被动态更新的DNS标签引用。
选择配置的公网IP地址/DNS名称标签。为虚拟机选择公网DNS地址。这可以用于其他DNS区域文件中的CNAME引用,确保所有DNS记录仍然正确指向虚拟机,即使IP地址被重新分配。
设置防火墙规则(安全组)
云中的每个虚拟机都有一组自动应用的防火墙规则,称为安全组。安全组对从公网地址转发到私有IP地址的流量进行控制。默认情况下,Azure允许将RDP转发到所有虚拟机。NetScaler和ADFS服务器也必须转发TLS流量(443)。
开放网络接口,单击网络安全组标签。配置入站安全规则允许适当的网络流量。
相关信息
- 的联邦身份验证服务本文是FAS安装和配置的主要参考。
- 中总结了常见的FAS部署联邦身份验证服务体系结构概述篇文章。
- “How-to”文章在联邦身份验证服务的配置和管理篇文章。