配置 O365
必备条件
要在 Citrix Workspace 应用程序中配置 O365 应用程序,请确保完成以下操作:
-
如果您在 Azure AD 中有未与其他服务联合的主域,则可以使用该域与Citrix Secure Private Access 进行联合。确保此域(无论是父域还是子域)尚未联合身份,且其父域尚未添加到 Azure Active Directory (AAD) 中。
例如,如果您的用户使用 user1@demo.citrix.com 登录,那么 demo.citrix.com 是主域名,citrix.com 是父域名,us.demo.citrix.com 是子域名。
-
如果无法联合主域,请将新域添加到 Azure AD 并将其联合到 Citrix Secure Private Access。创建域并完成验证。有关详细信息,请参阅 https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/add-custom-domain。
或者
您可以向 Azure AD 添加一个子域,该子域可用于联合到 Citrix Secure Private Access 以进行 SSO。为此,您必须将子域名添加并提升为根域。有关详细信息,请参阅 https://docs.microsoft.com/en-us/azure/active-directory/enterprise-users/domains-verify-custom-subdomain。
注意: 您可能需要使用 Azure AD Graph Explorer 而不是 Microsoft Graph Explorer 来进行 POST 请求才能将子域更改为根域。
有关为何需要联合域的详细信息,请参阅 域联合如何运作。
-
确认已添加的新域或子域在 Azure AD 中处于“已验证”状态。
-
在您的 SAML 身份提供商和 Azure AD 之间建立信任。要设置信任,您必须拥有在 AAD 中经过验证的域。在 AAD 中使用域配置联合时,AAD 会信任 SAML 提供商向 AAD 进行用户身份验证,即使用户来自与联合域不同的域也是如此。在 SP 启动的流程中,AAD 必须确定使用哪个 IdP 进行身份验证(加速用户到联合 IdP)时,使用
whr query param
或domain_hint
传递到 URL https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/configure-authentication-for-federated-users-portal 进行标识。为新域添加联合身份验证不会影响设置中的现有联合身份验证。如果您已将 ADFS 联合到某个域,则它不会受到影响,因为您在不是已联合域的子域或父域的其他域上进行联合。
SSO 可以有以下两个流程:
IDP 启动的流程: 通常在您想登录 Azure AD 门户时使用。Citrix Secure Private Access 服务将 SAML 断言发布到 Azure AD (AAD)。AAD 根据我们之前所做的联盟设置对其进行验证。如果验证通过,它将提取 SAML 的
nameid
属性。nameid
属性必须与 AAD 中存在的用户的immutableId
匹配。SP 启动的流程: 通常在您想直接登陆应用程序而不是 AAD 门户时使用。在此流程中,Citrix Secure Private Access 服务将加载在应用程序设置中配置的 URL。URL 将转到 AAD,并且由于该 URL 有一些联合域的指示,因此用户将通过 SAML 请求和中继状态重定向到 Citrix Secure Private Access 服务。Citrix Secure Private Access 服务将 SAML 断言发布到 AAD,其中继状态与请求中的中继状态相同。验证 SAML 后,AAD 会将用户重定向到中继状态下的上下文,因此用户直接登录应用程序。
-
在 Citrix Secure Private Access 服务中配置 O365 应用程序。有关详细信息,请参阅 对软件即服务应用程序的支持。
域联盟的工作原理
下图说明了域联合完成后所涉及的典型流程。
考虑一下您想将 Office365 应用程序添加到 Citrix Workspace 中,然后启用水印并限制下载。典型流程如下:
- 您在 Citrix Workspace 中启动 Office365 应用程序。
- 该请求将转到 Citrix Secure Private Access 服务。
- Citrix Secure Private Access 服务创建 SAML 断言并将其转发给 Azure AD。
-
由于请求来自受信任的 SAML IdP,Azure AD 会通过创建的域联合身份验证来识别该请求,然后将 SAML 断言传递给 Office365 应用程序。
Office365 应用程序已启动。
Office365 应用程序支持的身份验证方法
默认情况下,Citrix Cloud 使用 Citrix 身份提供程序来管理 Citrix Cloud 帐户中所有用户的身份信息。
Citrix Workspace 支持 Office365 的以下身份验证方法。目前不支持 Okta 和 Google IdP。
- 本地 Active Directory
- Active Directory 加令牌
-
Azure Active Directory
注意: 如果使用 AAD 对工作区进行身份验证,则无法联合主域(用户的登录域),因为这会产生循环。在这种情况下,您必须联合一个新域
- Citrix Secure Private Access
- Active Directory 加 RADIUS
有关更多详细信息,请参阅 身份和访问管理。
在 Secure Private Access 服务中配置 O365 应用程序
以下是在 Secure Private Access 服务中配置 O365 应用程序的高级步骤。有关更多详细信息,请参阅 对软件即服务应用程序的支持。
- 转到 Citrix Cloud 中的 Secure Private Access 服务。
- 搜索 Office 365 并选择模板。有关详细信息,请参阅支持软件即服务应用程序。
-
在应用程序详细信息中添加以下相关域。以下是 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
- 如果需要,启用增强的安全控制。
-
配置 SSO。
注意: 您唯一必须做的更改就是确保“名称 ID”是 Active Directory GUID。
- 确保高级属性也发送
IDPEmail
。- 属性名称:
IDPEmail
- 属性格式:未指定
- 属性值:电子邮件
- 属性名称:
- 单击 SAML 元数据以在新选项卡中打开。
- 复制“entityID”
- 复制“登录 URL”
- 下载 CRT 格式的证书
将域联合从 Azure AD 配置到 Citrix Workspace
必备条件:
- 在 Azure AD 中启用 PowerShell
- 安装 Microsoft MSOnline 模块
以下是安装所需模块的 PowerShell 命令。
`PS> Install-Module AzureAD -Force`
`PS> Import-Module AzureAD -Force`
`PS> Install-Module MSOnline -Force`
`PS> Import-module MSOnline -Force`
<!--NeedCopy-->
如果模块已安装,请运行以下命令。
PS> connect-msolservice
<!--NeedCopy-->
注意:需要使用 Microsoft 云帐户才能连接到 msolservice
。例如:admin.user@onmicrosoft.com
将域联合从 Azure AD 配置到 Citrix Workspace 的步骤
-
在 PowerShell 中运行以下命令以配置联合身份验证:
PS> $dom = "ad-domain.com"
注意:ad-domain.com 是添加到 Azure AD 的新域
PS> $IssuerUri = "https://citrix.com/[customerID]"
注意: 可以从以下位置找到 customerID:
- Citrix Cloud > 身份和访问管理 > API 访问
-
Citrix Cloud > Citrix Secure Private Access。 可以在应用程序配置详细信息(单点登录 > SAML 元数据文件 > entityID)中找到客户 ID。
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 服务 > 添加 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>
从 Azure AD 到 Citrix Workspace 的自动域联合
在从 Azure AD 到 Citrix Workspace 的手动 域联合中,如配置从 Azure AD 到 Citrix Workspace 的域联合部分所述,用户必须在云门户和 PowerShell 之间切换才能复制数据和运行脚本。例如;
- 从云门户复制数据,例如客户 ID 和应用程序 ID。
- 从云门户下载证书。
- 运行 PowerShell 脚本。
此手动复制粘贴操作可能会引入错误,因此联合可能无法成功。
现在,联合域的步骤已集成到 Citrix 安全专用服务用户界面中,从而实现了联合过程的自动化。当用户单击界面中的相应链接时,PowerShell 脚本将在后端运行。用户不必在云门户和 PowerShell 之间切换。
自动联合域的步骤
- 配置 O365 应用程序。有关详细信息,请参阅在 Secure Private Access 服务中配置 O365 应用程序。
-
在单点登录中,选择 SAML。
- 使用您的凭据登录到 Azure AD。
单击“登录到 Azure AD”时,系统会将您定向到 Azure AD 登录门户进行身份验证。
- OAuth 协议用于身份验证。身份验证成功后,您必须同意联合域。
- 默认情况下,选择最终用户 MFA 选项处于启用状态。
- 单击单击此处以检索 Azure AD 域以查看所有域的列表。
- 选择要联合的域,然后单击 联合域。
注意:
- 单击联合域时,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
”
为了使 AAD 接受此声明,请使用以下 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 套件应用
执行以下操作以配置单个办公套件应用程序:
- 按照前面各节中的详细说明完成域联合。
- 选择 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>
Powerpoint: <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>
Excel: 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>
CRM/Dynamics Online: https://<tenant>.crm.dynamics.com/?whr=<federated domain>
OneDrive for Business: 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 Web Access to Exchange Online: https://outlook.com/owa/<federated domain>
SharePoint Online: 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>
Teams: 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>
集成到 Azure AD 中的第三方应用程序
如果您已集成了 Box、Salesforce、ServiceNow、Workday 等第三方应用程序,则可以从 Azure AD 获取这些应用的智能链接。
执行以下步骤。
-
登录到您的 Azure AD 门户 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,以便 AAD 知道使用哪个 IdP 根据联合设置对用户进行身份验证,并自动重定向到该 IdP。 - 设置增强的安全控制。
- 配置 SSO。
- 姓名 ID = AD GUID
- “启用 SP 启动”复选框
-
断言 URL = 登录 URL
当您执行 IdP 启动的流程时,它总是会将用户放在 Azure AD 门户页面上。如果您想直接登陆应用程序页面,则需要 SP 启动的流程,因为它在 SAML 断言中发送正确的中继状态。
注意:
- 启用主域联合后,所有 AAD 用户在对任何 Office 365 应用程序进行身份验证时都将被重定向到 Citrix Workspace。如果在不了解影响的情况下这样做,可能会导致客户停机/事故。
如果用户使用 AAD 登录 Citrix Workspace,则用于登录的用户的主域不能联合到 Citrix Gateway 服务。这会导致循环。在这种情况下,请使用与登录 AAD 的用户域不同的另一个域联合到 Citrix Secure Private Access 服务。
- 如果主域已联合到 Citrix Secure Private Access 服务,则在 AAD 中该域上的所有用户登录都将重定向到 Citrix Secure Private Access 服务。对于 POC,如果需要,可以在联合主域之前联合测试域。
- 如果 AAD 启用了位置策略,则用户必须仅从公司网络允许的 IP 地址列表中。在这种情况下,您可以将 O365 应用程序发布为 Web 应用程序,并通过 Connector Appliance 路由其流量。
- 登录 AAD 时,是否要避免保持登录状态? 提示时,您可以使用 AAD 更改此设置。请注意更改设置时出现的重要信息,必要时还原。选择