配置 O365
以下部分提供了有关配置 O365 的更多信息。
先决条件
要在 Citrix Workspace 应用程序中配置 O365 应用程序,请务必完成以下操作:
-
如果您的 Microsoft Entra ID 中有一个未与其他服务联合的主域,则可以使用该域联合到 Citrix Secure Private Access。确保此域(无论是其父域还是子域)尚未联合,并且其父域尚未添加到 Microsoft Entra ID 中。例如,如果您的用户使用
user1@demo.citrix.com登录,则 demo.citrix.com 是主域,citrix.com 是父域,us.demo.citrix.com 是子域。 -
如果您无法联合主域,请向 Microsoft Entra ID 添加一个新域并将其联合到 Citrix Secure Private Access。创建域并完成验证。有关详细信息,请参阅
<https://docs.microsoft.com/zh-cn/azure/active-directory/fundamentals/add-custom-domain>。或者您可以将子域添加到 Microsoft Entra ID,该子域可用于联合到 Citrix Secure Private Access 以实现 SSO。为此,您必须添加子域并将其提升为根域。有关详细信息,请参阅<https://docs.microsoft.com/zh-cn/azure/active-directory/enterprise-users/domains-verify-custom-subdomain>。注意: 您可能需要使用 Microsoft Entra ID Graph Explorer 而不是 Microsoft Graph Explorer 来执行 POST 请求,以将子域更改为根域。有关为何需要联合域的详细信息,请参阅 域联合的工作原理。 -
确认您添加的新域或子域在 Microsoft Entra ID 中处于“已验证”状态。
-
在您的 SAML 身份提供商和 Microsoft Entra ID 之间建立信任。要建立信任,您必须拥有一个在 Microsoft Entra ID 中已验证的域。当在 Microsoft Entra ID 中使用域配置联合时,Microsoft Entra ID 会信任 SAML 提供商进行用户对 Microsoft Entra ID 的身份验证,即使该用户来自与联合域不同的域。在 SP 启动的流程中,当 Microsoft Entra ID 必须识别要用于身份验证的 IdP(将用户加速到联合 IdP)时,它是通过传递给 URL
<https://docs.microsoft.com/zh-cn/azure/active-directory/manage-apps/configure-authentication-for-federated-users-portal>的whr query param或domain_hint来识别的。为新域添加联合不会影响您现有设置中的联合。如果您已将 ADFS 联合到某个域,则不会受到影响,因为您正在联合一个不同的域,该域既不是已联合域的子域也不是父域。SSO 可以有以下两种流程:IDP 发起的流程: 通常用于您想要登录 Microsoft Entra ID 门户时。Citrix Secure Private Access 服务将 SAML 断言发布到 Microsoft Entra ID。Microsoft Entra ID 根据我们之前进行的联合设置对其进行验证。如果验证通过,它会提取 SAML 的nameid属性。nameid属性必须与 Microsoft Entra ID 中存在的用户的immutableId匹配。SP 发起的流程: 通常用于您想要直接访问应用程序而不是 Microsoft Entra ID 门户时。在此流程中,Citrix Secure Private Access 服务加载应用程序设置中配置的 URL。URL 会发送到 Microsoft Entra ID,并且由于 URL 包含联合域的一些指示,用户会被重定向到 Citrix Secure Private Access 服务,并带有一个 SAML 请求和中继状态。Citrix Secure Private Access 服务将 SAML 断言发布到 Microsoft Entra ID,并使用请求中传入的相同中继状态。SAML 验证通过后,Microsoft Entra ID 会将用户重定向到中继状态中的上下文,因此用户直接访问应用程序。 -
在 Citrix Secure Private Access 服务中配置 O365 应用程序。有关详细信息,请参阅 对软件即服务应用程序的支持。
域联合的工作原理
下图说明了域联合完成后涉及的典型流程。
假设您想将 Office 365 应用程序添加到 Citrix Workspace 并启用水印和限制下载。典型流程如下:
-
您在 Citrix Workspace 中启动 Office 365 应用程序。
-
请求发送到 Citrix Secure Private Access 服务。
-
Citrix Secure Private Access 服务创建 SAML 断言并将其转发到 Microsoft Entra ID。
-
由于请求来自受信任的 SAML IdP,Microsoft Entra ID 通过已创建的域联合识别它,并将 SAML 断言传递给 Office 365 应用程序。Office 365 应用程序已启动。
Office 365 应用程序支持的身份验证方法
默认情况下,Citrix Cloud™ 使用 Citrix 身份提供程序来管理您的 Citrix Cloud 帐户中所有用户的身份信息。
Citrix Workspace 支持 Office 365 的以下身份验证方法。目前不支持 Okta 和 Google IdP。
-
本地活动目录
-
Active Directory 加令牌
-
微软 Entra ID注意: 如果使用 Microsoft Entra ID 对工作区进行身份验证,则无法联合主域(用户的登录域),因为这会形成循环。在这种情况下,您必须联合一个新域。
-
思杰安全专用访问
-
活动目录加 RADIUS
有关更多详细信息,请参阅身份和访问管理。
在 Secure Private Access 服务中配置 O365 应用程序
以下是在 Secure Private Access 服务中配置 O365 应用程序的高级步骤。有关更多详细信息,请参阅对软件即服务应用程序的支持。
-
转到 Citrix Cloud 中的 Secure Private Access 服务。
-
搜索 Office 365 并选择 Office365 模板。有关使用模板配置应用程序的详细信息,请参阅对软件即服务应用程序的支持。注意:选择 Office365 模板后,以下相关域将自动填充到“应用程序详细信息”部分。
-
*.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
-
-
如果需要,启用增强的安全控制。
-
配置 SSO。**注意:**您唯一需要做的更改是确保“名称 ID”是 Active Directory GUID。
-
确保高级属性也发送
IDPEmail。-
属性名称:
IDPEmail -
属性格式:未指定
-
属性值:电子邮件
-
-
单击 SAML 元数据以在新选项卡中打开。
-
复制“entityID”
-
复制“Login URL”
-
下载 CRT 格式的证书
-
配置从 Microsoft Entra ID 到 Citrix Workspace 的域联合
先决条件:
-
在 Microsoft Entra ID 中启用 PowerShell
-
安装 Microsoft MSOnline 模块
以下是用于安装所需模块的 PowerShell 命令。
`PS> Install-Module AzureAD -Force`
`PS> Import-Module AzureAD -Force`
`PS> Install-Module MSOnline -Force`
`PS> Import-module MSOnline -Force`
如果模块已安装,则运行以下命令。
PS> connect-msolservice
注意:需要 Microsoft 云帐户才能连接到
msolservice。例如,admin.user@onmicrosoft.com。
配置从 Microsoft Entra ID 到 Citrix Workspace 的域联合的步骤
-
在 PowerShell 中运行以下命令以配置联合:
-
PS> $dom = "ad-domain.com"
注意:ad-domain.com 是添加到 Microsoft Entra ID 的新域-
PS> $IssuerUri = "https://citrix.com/[customerID]"
注意:customerID 可从以下位置找到:-
Citrix Cloud > 身份和访问管理 > API 访问
-
Citrix Cloud > Citrix Secure Private Access。 customer ID 可以在应用程序配置详细信息中找到(单点登录 > 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 Secure Private Access Service > 添加 Web/SaaS 应用程序 > 单点登录 > 登录 URL 或从 SAML 元数据 > 位置复制。-
PS> $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2(“<location of certificate downloaded from Citrix Secure Private Access service/filename.crt>”)例如:PS> $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("c:\cert\saml_idp.crt")
PS> $certData = [system.convert]::tobase64string($cert.rawdata) -
-
运行 PS 字符串以完成与 Citrix Secure Private Access 的联合:
PS> Set-MsolDomainAuthentication -DomainName $dom –federationBrandName $fedBrandName -Authentication Federated -PassiveLogOnUri $uri -LogOffUri $logoffuri -SigningCertificate $certData -IssuerUri $IssuerUri -PreferredAuthenticationProtocol SAMLP -
通过运行以下命令验证域联合设置:
Get-MsolDomainFederationSettings -DomainName <domain name>
从 Microsoft Entra ID 到 Citrix Workspace 的自动化域联合
在从 Microsoft Entra ID 到 Citrix Workspace 的手动域联合中,用户必须在云门户和 PowerShell 之间切换以复制数据并运行脚本。例如;
-
从云门户复制数据,例如客户 ID 和应用 ID。
-
从云门户下载证书。
-
运行 PowerShell 脚本。
这种手动复制粘贴操作可能会引入错误,从而导致联合不成功。
现在,域联合的步骤已集成到 Citrix Secure Private 服务用户界面中,从而使联合过程自动化。当用户单击界面中的相应链接时,PowerShell 脚本会在后端运行。用户无需在云门户和 PowerShell 之间切换。
自动联合域的步骤
-
配置 O365 应用程序。有关详细信息,请参阅在 Secure Private Access 服务中配置 O365 应用程序。
-
在单点登录中,选择 SAML。

-
使用您的凭据登录 Microsoft Entra ID。 当您单击登录到 Entra ID时,您将被定向到 Microsoft Entra ID 登录门户进行身份验证。
-
OAuth 协议用于身份验证。身份验证成功后,您必须提供联合域的同意。
-
选择最终用户 MFA 选项默认启用。
-
-
单击单击此处检索 Entra ID 域以查看所有域的列表。
-
选择您要联合的域,然后单击 联合域。注意:
-
当您单击 联合域 时,PowerShell 脚本会在后端运行,并且域会联合。
-
如有必要,您还可以从界面下载 PowerShell 脚本。在 域联合 PowerShell 脚本 中,单击 下载。
-
抑制多重身份验证 (MFA)
O365 应用程序的高级属性中添加了一个选项,当用户在对 Citrix Workspace 进行用户身份验证期间已输入 MFA 时,该选项会抑制 MFA。
-
属性名称: “
http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod”, -
属性值: “
http://schemas.microsoft.com/claims/multipleauthn”
要使 Microsoft Entra ID 接受此声明,请使用以下 PowerShell 命令进行联合:
Set-MsolDomainAuthentication -DomainName $dom –federationBrandName $fedBrandName -Authentication Federated -PassiveLogOnUri $uri -LogOffUri $logoffuri -SigningCertificate $certData -IssuerUri $IssuerUri -PreferredAuthenticationProtocol SAMLP -SupportsMfa $true
注意:
IdP 启动的流程不遵循中继状态。使用 SP 启动的流程直接访问应用程序。
在 Citrix Workspace 中配置单个 Office 套件应用程序
执行以下操作以配置单个 Office 套件应用程序:
-
按照前面章节中的详细说明完成域联合。
-
选择 O365 模板。
-
将应用程序名称更改为,例如,MS Word。
-
相应地更改应用程序 URL。
微软 Word:
https://login.microsoftonline.com/login.srf?wa=wsignin1%2E0&rver=6%2E1%2E6206%2E0&wreply=https%3A%2F%2Fwww.office.com%2Flaunch%2FWord%3Fauth%3D2&whr=<federated domain>
演示文稿:
<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=<federated domain>
电子表格:
https://login.microsoftonline.com/login.srf?wa=wsignin1%2E0&rver=6%2E1%2E6206%2E0&wreply=https%3A%2F%2Fwww.office.com%2Flaunch%2FExcel%3Fauth%3D2&whr=<federated domain>
客户关系管理/Dynamics Online:
https://<tenant>.crm.dynamics.com/?whr=<federated domain>
OneDrive 商务版:
https://login.microsoftonline.com/login.srf?wa=wsignin1%2E0&rver=6%2E1%2E6206%2E0&wreply=https%3A%2F%2F<tenant>-my.sharepoint.com%2F&whr=<federated domain>
Outlook 日历:
https://outlook.office.com/owa/?realm=<federated domain>&path=/calendar/view/Month
Outlook 网页版访问 Exchange Online:
https://outlook.com/owa/<federated domain>
SharePoint 在线版:
https://login.microsoftonline.com/login.srf?wa=wsignin1%2E0&rver=6%2E1%2E6206%2E0&wreply=https%3A%2F%2F<tenant>.sharepoint.com%2F&whr=<federated domain>
团队:
https://login.microsoftonline.com/common/oauth2/authorize?client_id=cc15fd57-2c6c-4117-a88c-83b1d56b4bbe&response_mode=form_post&response_type=code+id_token&scope=openid+profile&redirect_uri=https%3a%2f%2fteams.microsoft.com%2f&domain_hint=<federated domain>
集成到 Microsoft Entra ID 中的第三方应用程序
如果您集成了 Box、Salesforce、ServiceNow、Workday 等第三方应用程序,您可以从 Microsoft Entra ID 获取这些应用程序的智能链接。
执行以下步骤。
-
登录到您的 Microsoft Entra ID 门户
<https://portal.azure.com>。 -
选择 所有服务 > Azure Active Directory,然后选择您的目录。

-
选择 企业应用程序,然后选择要为其生成智能链接的应用程序。

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

-
将
whr附加到 URL 后,whr参数将按示例 URL 中所示显示。示例 URL:https://myapps.microsoft.com/signin/Workday/1234567891234567891234567896d64b&whr=ctxnsqa.net注意: 将whr附加到 URL,以便 Microsoft Entra ID 知道根据联合设置使用哪个 IdP 来验证用户,并自动重定向到该 IdP。 -
设置增强的安全控制。
-
配置 SSO。
-
名称 ID = AD GUID
-
启用 SP 发起的复选框
-
断言 URL = 登录 URL当您执行 IdP 发起的流程时,用户会被重定向到 Microsoft Entra ID 门户页面。如果您想直接进入应用程序页面,则需要 SP 发起的流程,因为它会在 SAML 断言中发送正确的 relay state。
-
注意:
-
当启用主域的联合时,所有 Microsoft Entra ID 用户在对任何 Office 365 应用程序进行身份验证时都会被重定向到 Citrix Workspace。如果未理解其影响就执行此操作,可能会导致客户出现中断/事件。
-
如果用户使用 Microsoft Entra ID 登录 Citrix Workspace,则用于登录的用户主域不得联合到 Citrix Gateway 服务。这会导致循环。在这种情况下,请使用与用户登录 Microsoft Entra ID 的域不同的另一个域来联合到 Citrix Secure Private Access 服务。
-
如果主域联合到 Citrix Secure Private Access 服务,则 Microsoft Entra ID 中该域上的所有用户登录都将重定向到 Citrix Secure Private Access 服务。对于概念验证 (POC),如果需要,您可以在联合主域之前联合一个测试域。
-
如果 Microsoft Entra ID 启用了位置策略,则用户必须仅来自公司网络允许的 IP 地址列表。在这种情况下,您可以将 O365 应用程序发布为 Web 应用程序,并通过 Connector Appliance 路由其流量。
-
登录 Microsoft Entra ID 时,如果您想避免出现“保持登录状态?”提示,可以使用 Microsoft Entra ID 更改此设置。请注意更改设置时出现的重要消息,并在必要时恢复。

