先进的概念

Citrix网关SaaS和O365云Citrix验证参考设计

概述

软件即服务(SaaS)是一种将软件作为基于web的服务远程交付的软件分发模型。常用的SaaS应用,包括微软Office 365订阅。

现在可以使用Citrix Gateway服务使用Citrix Workspace访问SaaS应用程序。Citrix Gateway服务与Citrix Workspace结合,为已配置的SaaS应用程序、已配置的虚拟应用程序或任何其他工作空间资源提供统一的用户体验。

使用Citrix Gateway服务交付的SaaS应用程序为您提供了一个简单、安全、健壮和可扩展的解决方案来管理应用程序。在云上交付的SaaS应用程序有以下好处:

简单的配置-易于操作,更新和消费。单点登录-轻松的登录与单点登录。不同应用的标准模板-流行应用的基于模板的配置。

先决条件

要在Citrix Workspace应用程序中配置O365应用程序,请确保完成以下步骤:

  • 如果你在Azure AD中有一个没有与其他服务联合的主域,您可以使用该域与Citrix Access Control联合。确保该域的父域或子域尚未联合,且其父域尚未添加到Azure Active Directory (AAD)中。

    例如,如果您的用户使用user1@demo.citrix.com登录,那么demo.citrix.com是主域,citrix.com是父域,us.demo.citrix.com是子域。

  • 如果不能联合主域,在Azure AD中添加一个网络新域,并将其与Citrix Access Control联合。创建域并完成验证。有关详细信息,请参见https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/add-custom-domain

    有关为什么需要联合域的详细信息,请参见域联合如何工作。

  • 确保您添加的新域在Azure AD中处于“已验证”状态。

  • 在SAML标识提供者和Azure AD之间建立信任关系.要建立信任,您必须有一个在AAD中验证的域。当在使用域的AAD中配置联邦时,AAD信任SAML提供程序将用户身份验证交给AAD,即使用户来自不同的域而不是联邦域。在SP发起的流中,当AAD必须识别使用哪个IdP进行身份验证(加速用户到联邦IdP)时,它是通过whr查询参数或传递给URL的domain_hint来识别的https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/configure-authentication-for-federated-users-portal

    为新域添加联合不会影响设置中已有的联合。如果您已经将ADFS联合到某个域,那么它不会受到影响,因为您是在一个不同的域上进行联合,该域既不是已经联合域的子域,也不是父域。

    单点登录可以有以下两个流程:

    国内流离失所者发起的流程:通常在您想要登录Azure AD门户时使用。Citrix Access Control服务将SAML断言发布到Azure AD (AAD)。AAD基于我们之前所做的联邦设置来验证它。如果验证通过,则提取nameidSAML属性。的nameid属性必须匹配immutableId在AAD中存在的用户。

    SP发起流程:通常在你想直接登陆应用而不是AAD门户时使用。在此流程中,Citrix访问控制服务加载在应用程序设置中配置的URL。该URL将转到AAD,由于该URL具有联邦域的指示,用户将被重定向到具有SAML请求和中继状态的Citrix Gateway服务。Citrix Access Control服务使用请求中出现的相同中继状态向AAD发送SAML断言。一旦SAML被验证,AAD将用户重定向到处于中继状态的上下文,因此用户将直接登录应用程序。

  • 在Citrix Gateway服务中配置O365应用.详情见支持“软件即服务”应用程序

域联合如何工作

下图说明了域联合完成后所涉及的典型流程。

域联合如何工作

假设您想要将Office365应用程序添加到Citrix Workspace中,并启用水印并限制下载。典型流程如下:

  1. 在Citrix Workspace中启动Office365应用程序。
  2. 该请求将发送到Citrix访问控制服务。
  3. Citrix Access Control服务创建SAML断言并将其转发给Azure AD。
  4. 由于请求来自一个受信任的SAML IdP, Azure AD通过创建的域联邦识别它,并将SAML断言传递给Office365应用程序。

    Office365应用程序启动。

Office365支持的身份验证方法

默认情况下,Citrix Cloud使用Citrix身份提供商来管理您的Citrix Cloud帐户中的所有用户的身份信息。

Citrix工作区支持Office365的以下身份验证方法。目前不支持Okta和谷歌IdP。

  • 本地活动目录
  • 活动目录加令牌
  • Azure活动目录注意:如果使用AAD对工作区进行身份验证,则不能联合主域(用户的登录域),因为这会创建一个循环。在这种情况下,必须联合一个新域
  • Citrix网关
  • Active Directory + RADIUS

有关详细信息,请参见身份和访问管理

在Citrix Gateway服务中配置O365应用

下面是在Citrix Gateway服务中配置O365应用程序的高级步骤。有关详细信息,请参见支持“软件即服务”应用程序

  1. 进入Citrix Cloud中的Citrix Gateway服务。
  2. 添加一个SaaS/web应用程序。
  3. 搜索Office 365,选择模板。
  4. 在App详细信息中添加以下相关域。以下是O365域的列表。在可用时添加新域。

    • * .office.com
    • * .office365.com
    • * .sharepoint.com
    • * .live.com
    • * .onenote.com
    • * .microsoft.com
    • * .powerbi.com
    • * .dynamics.com
    • * .microsoftstream.com
    • * .powerapps.com
    • * .yammer.com
    • * .windowsazure.com
    • * .msauth.net
    • * .msauthimages.net
    • * .msocdn.com
    • * .microsoftonline.com
    • * .windows.net
    • * .microsoftonline-p.com
    • * .akamaihd.net
    • * .sharepointonline.com
    • * .officescriptsservice.com
    • * .live.net
    • * .office.net
    • * .msftauth.net
  5. 如果需要,启用增强的安全控制。
  6. 配置SSO。

    注意:您必须做的唯一更改是确保“Name ID”是Active Directory GUID。

  7. 确保高级属性也发送IDPEmail
    • 属性名称:IDPEmail
    • 属性格式:不明
    • 属性值:电子邮件
  8. 单击SAML元数据在新选项卡中打开。
    • 复制“entityID”
    • 复制“登录URL”
    • 下载CRT格式的证书

从Azure AD配置域联盟到Citrix工作区

先决条件:

  • 在Azure AD中启用PowerShell
  • 安装Microsoft MSOnline模块

下面是安装所需模块的PowerShell命令。

安装模块AzureAD -Force

PS>导入模块AzureAD -Force

PS>安装模块MSOnline -Force

PS>导入模块MSOnline -Force

如果已经安装了模块,则运行以下命令。

PS > connect-msolservice

请注意:需要微软云帐户才能连接msolservice.例如,admin.user@onmicrosoft.com

从Azure AD配置域联合到Citrix工作区的步骤

  1. 在PowerShell中运行以下命令配置federation:

    • PS> $dom = "ad-domain.com"

    请注意: AD -domain.com是Azure AD的新域名

    • PS> $IssuerUri = "//m.giftsix.com/[customerID]"

    请注意customerID可以从以下位置找到:

    • Citrix Cloud > Identity and Access Management > API Access
    • Citrix Cloud > Citrix Gateway Service >添加Web/SaaSApp >单点登录> SAML元数据文件> entityID

    • PS> $fedBrandName = " CitrixWorkspace "
    • PS> $logoffuri = "https://app.netscalergateway.net/cgi/logout"
    • PS> $uri = "https://app.netscalergateway.net/ngs/[customerID]/saml/login?APPID=[APPID] "

    注意:$uri可以被复制Citrix网关服务>添加Web/SaaSApp >单点登录>登录URL或从SAML元数据>位置

    • PS> $cert = New-Object System.Security.Cryptography.X509Certificates. PS> $cert = New-Object System.Security.Cryptography.X509Certificates. PSX509Certificate2(" <从Citrix网关服务下载的证书位置/filename.crt> ")

      例如:PS> $cert = New-Object system . security . cryptograpy . x509certificates . x509certificate2 ("c:\cert\saml_idp.crt")

    PS> $certData = [system.convert]::tobase64string($cert.rawdata)

  2. 运行PS字符串完成Federation到Citrix网关:

    PS> Set-MsolDomainAuthentication -DomainName $dom -federationBrandName $fedBrandName -Authentication Federated -PassiveLogOnUri $uri -LogOffUri $logoffuri -SigningCertificate $certData -IssuerUri $IssuerUri -PreferredAuthenticationProtocol

  3. 运行以下命令验证域联合设置:

    Get-MsolDomainFederationSettings -DomainName <域名>

联盟设置验证

在Citrix Workspace中配置单独的Office套件应用程序

配置单独的办公套件应用程序的步骤如下:

  1. 按照前面小节的详细说明完成域联合。
  2. 选择O365模板。
  3. 修改应用程序的名称,例如,MS Word。
  4. 相应地更改应用程序的URL。

词:联邦域名https://login.microsoftonline.com/login.srf?wa=wsignin1%2E0&rver=6%2E1%2E6206%2E0&wreply=https%3A%2F%2Foffice.live.com%2Fstart%2FWord.aspx%3Fauth%3D2&whr= < >

幻灯片:< https://login.microsoftonline.com/login.srf?wa=wsignin1%2E0&rver=6%2E1%2E6206%2E0&wreply=https%3A%2F%2Fwww.office.com%2Flaunch%2Fpowerpoint%3Fauth%3D2&whr= <联合域>

擅长:联邦域名https://login.microsoftonline.com/login.srf?wa=wsignin1%2E0&rver=6%2E1%2E6206%2E0&wreply=https%3A%2F%2Foffice.live.com%2Fstart%2FExcel.aspx%3Fauth%3D2&whr= < >

CRM /动态在线:https:// <租户> .crm.dynamics.com/ ? whr = <联合域>

OneDrive业务:https://login.microsoftonline.com/login.srf?wa=wsignin1%2E0&rver=6%2E1%2E6206%2E0&wreply=https%3A%2F%2F <租户> -my.sharepoint.com % 2 f&whr = <联合域>

Outlook日历:联邦域名https://outlook.office.com/owa/?realm= < >路径= /日历/视图/月

Outlook Web联机交换:联邦域名https://outlook.com/owa/ < >

SharePoint在线:https://login.microsoftonline.com/login.srf?wa=wsignin1%2E0&rver=6%2E1%2E6206%2E0&wreply=https%3A%2F%2F <租户> .sharepoint.com % 2 f&whr = <联合域>

第三方应用集成到Azure AD

如果你已经集成了第三方应用,如Box, Salesforce, ServiceNow, Workday,你可以从Azure AD获得这些应用的智能链接。

执行以下步骤。

  1. 登录Azure AD Portalhttps://portal.azure.com

  2. 选择所有服务> Azure Active Directory,并选择目录。

    选择所有服务

  3. 选择企业应用程序然后选择要生成Smart Link的应用程序。

    选择企业应用程序

  4. 选择属性并复制用户访问URL。

    选择属性

  5. 在你添加whr到URL,则whr参数显示在示例URL中。

    示例URL:https://myapps.microsoft.com/signin/Workday/1234567891234567891234567896d64b?whr=ctxnsqa.net

    注意:附加whr以便AAD根据联邦设置知道使用哪个IdP来验证用户,并自动重定向到该IdP。

  6. 设置增强的安全控制。
  7. 配置SSO。
    • Name ID = AD GUID
    • 启用SP-initiated复选框

      当你做IdP启动流程时,它总是把用户带到Azure AD门户页面。如果您想直接降落在应用程序页面上,那么需要SP发起的流,因为它在SAML断言中发送了正确的中继状态。

注意:

  • 如果用户使用AAD登录到Citrix Workspace,则用于登录的用户的主域不能与Citrix Gateway服务联合。这将导致一个循环。在这种情况下,请使用与登录AAD的用户不同的域来联合Citrix Gateway服务。

  • 如果主域与Citrix Gateway服务联合,那么AAD中该域上的所有用户登录都将重定向到Citrix Gateway服务。对于POC,如果需要,您可以在联合主域之前联合测试域。
  • 如果AAD开启了位置策略,则用户只能在企业网络允许的IP地址列表中。在这种情况下,您可以将O365应用程序作为Web应用程序发布,并通过内部网关连接器路由其流量。
  • 在登录AAD时,如果你想避免在签署吗?提示时,您可以使用AAD更改此设置。请注意在更改设置和必要时恢复时出现的重要消息。

选择逗留签到

消息,以恢复设置

Azure PowerShell模块参考

Azure PowerShell命令参考

在Microsoft Azure中部署Office 365目录同步