将 Okta 配置为工作区身份验证的 SAML 提供程序
本文介绍了配置 Okta SAML 应用程序以及 Citrix Cloud 与 SAML 提供程序之间连接所需的步骤。其中一些步骤描述了您在 SAML 提供程序的管理控制台中执行的操作。
先决条件
在完成本文中的任务之前,请确保您已满足以下先决条件:
- Citrix 支持已在 Citrix Cloud 中启用 SendNameIDPolicyInSAMLRequest 功能。此功能应请求启用。有关这些功能的更多信息,请参阅使用 Okta 进行 SAML 所需的云功能。
- 您有一个使用以下 Okta 域之一的 Okta 组织:
- okta.com
- okta-eu.com
- oktapreview.com
- 您已将 Active Directory (AD) 与您的 Okta 组织同步。
- 您的 Okta 组织中已启用签名身份验证请求 (Sign Authentication Requests)。
- 身份提供程序单点注销 (SLO) 已在 Citrix Cloud 和 Okta SAML 应用程序中配置。配置 SLO 后,当最终用户从 Citrix Workspace 注销时,他们也会从 Okta 以及所有共享 Okta SAML 应用程序的其他服务提供程序注销。
- Citrix Cloud 中已启用身份提供程序签名注销请求 (Identity Provider Sign Logout (SLO) Requests)。
- Citrix Cloud 中的身份提供程序注销绑定 (Identity Provider Logout Binding (SLO)) 为 HTTPPost。
使用 Okta 进行 SAML 所需的云功能
在完成本文中的任务之前,您必须联系 Citrix 支持以启用 SendNameIDPolicyInSAMLRequest 功能。此功能使 Citrix Cloud 能够在发送给 SAML 提供程序的 SAML 请求中将 NameID 策略作为未指定 (Unspecified) 提供。此功能仅适用于 Okta。
您可以通过登录您的 Citrix 帐户并通过 Citrix 支持网站提交工单来请求这些功能。
要求
本文包含一个任务,您可以在其中在 Okta 管理控制台中创建 SAML 应用程序。此应用程序需要适用于您的 Citrix Cloud 区域的 SAML 签名证书。
您可以使用提取工具(例如位于 https://www.rcfed.com/SAMLWSFed/MetadataCertificateExtract 的工具)从您所在区域的 Citrix Cloud SAML 元数据中提取此证书。Citrix 建议提前获取 Citrix Cloud SAML 证书,以便在需要时提供。
本节中的步骤介绍了如何使用 https://www.rcfed.com/SAMLWSFed/MetadataCertificateExtract 处的提取工具获取签名证书。
要获取您所在区域的 Citrix Cloud 元数据:
-
在您选择的提取工具中,输入您的 Citrix Cloud 区域的元数据 URL:
- 对于欧盟、美国和亚太南部区域,请输入
https://saml.cloud.com/saml/metadata
。 - 对于日本区域,请输入
https://saml.citrixcloud.jp/saml/metadata
。 - 对于 Citrix Cloud Government 区域,请输入
https://saml.cloud.us/saml/metadata
。
- 对于欧盟、美国和亚太南部区域,请输入
- 单击加载 (Load)。提取的证书将显示在您输入的 URL 下方。
- 单击下载 (Download) 以下载 PEM 格式的证书。
使用 Okta AD 代理同步帐户
要使用 Okta 作为 SAML 提供程序,您必须首先将本地 AD 与 Okta 集成。为此,您需要在域中安装 Okta AD 代理并将 AD 添加到您的 Okta 组织。有关部署 Okta AD 代理的指导,请参阅 Okta 网站上的开始使用 Active Directory 集成。
之后,将您的 AD 用户和组导入到 Okta。导入时,请包含与您的 AD 帐户关联的以下值:
- SID
- UPN
- OID
要将您的 AD 用户和组与您的 Okta 组织同步:
- 安装并配置 Okta AD 代理。有关完整说明,请参阅 Okta 网站上的以下文章:
- 通过手动导入或自动导入将您的 AD 用户和组添加到 Okta。有关 Okta 导入方法和说明的更多信息,请参阅 Okta 网站上的管理 Active Directory 用户和组。
配置 Okta SAML 应用程序以进行工作区身份验证
- 使用具有添加和配置 SAML 应用程序权限的管理员帐户登录您的 Okta 组织。
-
在管理控制台中,选择 Applications > Applications > Create App Integration,然后选择 SAML 2.0。选择 Next。
-
在 App Name 中,输入应用程序的友好名称。选择 Next。
- 在 SAML Settings 部分中,配置 Citrix Cloud 服务提供程序 (SP) 连接:
- 在 Single sign-on URL 中,输入与您的 Citrix Cloud 客户的 Citrix Cloud 区域对应的 URL:
- 如果您的客户 ID 位于欧盟、美国或亚太南部区域,请输入
https://saml.cloud.com/saml/acs
。 - 如果您的客户 ID 位于日本区域,请输入
https://saml.citrixcloud.jp/saml/acs
。 - 如果您的客户 ID 位于 Citrix Cloud Government 区域,请输入
https://saml.cloud.us/saml/acs
。
- 如果您的客户 ID 位于欧盟、美国或亚太南部区域,请输入
- 选择 Use this for Recipient and Destination URL。
- 在 Audience URI (SP Entity ID) 中,输入与您的 Citrix Cloud 客户的 Citrix Cloud 区域对应的 URL:
- 如果您的客户 ID 位于欧盟、美国或亚太南部区域,请输入
https://saml.cloud.com
。 - 如果您的客户 ID 位于日本区域,请输入
https://saml.citrixcloud.jp
。 - 如果您的客户 ID 位于 Citrix Cloud Government 区域,请输入
https://saml.cloud.us
。
- 如果您的客户 ID 位于欧盟、美国或亚太南部区域,请输入
- 在 Name ID Format 中,选择 Unspecified。Citrix Cloud 在 SAML 请求中发送的 NameID 策略必须与 Okta SAML 应用程序中指定的 NameID 格式匹配。如果这些项不匹配,启用签名身份验证请求 (Sign Authentication Request) 将导致 Okta 报错。
-
在 Application username 中,选择 Okta username。
作为此配置的示例,下图说明了美国、欧盟和亚太南部区域的正确配置:
重要提示:
Name ID 设置必须配置为未指定 (Unspecified)。为此设置使用不同的值将导致 SAML 登录失败。
- 单击 Show Advanced Settings 并配置以下设置:
- 在 Response 中,选择 Signed。
- 在 Assertion Signature 中,选择 Signed。
- 在 Signature Algorithm 中,选择 RSA-SHA256。
- 在 Assertion Encryption 中,选择 Unencrypted。
- 在 Signature Certificate 中,以上传 PEM 格式的 Citrix Cloud 区域的 SAML 签名证书。有关获取 SAML 签名证书的说明,请参阅本文中的要求。
- 在 Enable Single Logout 中,选择 Allow application to initiate Single Logout。
- 在 Single Logout URL 中,输入与您的 Citrix Cloud 区域对应的 URL:
- 对于欧盟、美国和亚太南部区域,请输入
https://saml.cloud.com/saml/logout/callback
。 - 对于日本区域,请输入
https://saml.citrixcloud.jp/saml/saml/logout/callback
。 - 对于 Citrix Cloud Government,请输入
https://saml.cloud.us/saml/logout/callback
。
- 对于欧盟、美国和亚太南部区域,请输入
- 在 SP Issuer 中,输入您之前在 Audience URI (SP Entity ID) 中输入的值(本任务的步骤 4c)。
-
在 Signed Requests 中,选择 Validate SAML requests with signature certificates。
下图说明了美国、欧盟和亚太南部区域的正确配置:
-
对于所有剩余的高级设置,接受默认值。
- 在 Single sign-on URL 中,输入与您的 Citrix Cloud 客户的 Citrix Cloud 区域对应的 URL:
-
在 Attribute Statements (optional) 下,输入 Name、Name format 和 Value 的值,如以下表格所示:
Name Name format Value cip_email Unspecified user.email cip_upn Unspecified user.cip_upn cip_oid Unspecified user.cip_oid cip_sid Unspecified user.cip_sid displayName Unspecified user.displayName firstName Unspecified user.firstName lastName Unspecified user.lastName -
选择 Next。将显示 Okta 配置声明。
- 在 Are you a customer or partner? 中,选择 I’m an Okta customer adding an internal app。
- 在 App type 中,选择 This is an internal app that we have created。
- 选择 Finish 以保存您的配置。将显示您的 SAML 应用程序的配置文件页面,并显示 Sign On 选项卡的内容。
配置完成后,选择 Assignments 选项卡并将用户和组分配给 SAML 应用程序。
配置 Citrix Cloud SAML 连接
所有 Citrix 登录流程都需要使用 Workspace URL 或 Citrix Cloud GO URL 由服务提供程序发起。
在 Identity and Access Management → Authentication → Add an identity provider → SAML 中,使用 SAML 连接的默认推荐值。
从您的 Okta 门户获取 Okta SAML 应用程序的 SAML 端点,以输入到 Citrix Cloud 中。
Citrix Cloud 中的此字段 | 输入此值 |
---|---|
Entity ID | http://www.okta.com/<oktaSAMLappID> |
Sign Authentication Request | Yes |
SSO Service URL | https://<youroktatenant>.okta.com/app/<oktatenantname>_<samlappname>/<samlappID>/sso/saml |
SSO Binding Mechanism | HTTP Post |
SAML Response | Sign Either Response Or Assertion |
Authentication Context | Unspecified, Exact |
Logout URL | https://<youroktatenant>.okta.com/app/<oktatenantname>_<samlappname>/<samlappID>/slo/saml |
Sign Logout Request | Yes |
SLO Binding Mechanism | HTTP Post |