单点登录(SSO)和即时 (JIT) 用户配置
Version 25.3.9418
Version 25.3.9418
单点登录(SSO)和即时 (JIT) 用户配置
知行之桥支持通过 SAML 2.0 或 OpenID 身份验证协议进行单点登录 (SSO)。此功能允许支持这些协议的身份提供商(例如 Microsoft Entra ID(以前称为 Azure Active Directory)或 Okta)作为知行之桥的 SSO 平台。
概述
启用 SSO 需要在设置页面的安全选项卡上配置一组设置。配置 SSO 设置时,应为在知行之桥中创建的用户分配一个联合标识符 (Id)。此联合 ID 将知行之桥用户名与身份提供者实体关联。当知行之桥用户尝试登录应用程序时,会被重定向到 SSO 平台,必须在其中输入相应身份的凭证。
如果启用了即时 (JIT) 用户配置(也可从安全选项卡中启用),则登录时会根据从身份提供者收到的属性(例如,用户的姓名和电子邮件地址)在知行之桥中自动创建一个新的用户帐户。此身份和访问管理 (IAM) 流程简化了用户入职流程,无需手动创建帐户。更多详情,请参阅即时 (JIT) 用户配置。
配置 SSO 后,知行之桥用户将拥有一个用于将其与身份提供商关联的联合 ID 值,任何其他 SSO 用户管理的高级配置都应直接在 SSO 平台中执行,如下节所述。
注意:目前,知行之桥仅支持个人用户,不支持用户组。如果 SSO 平台为用户组提供访问权限,则必须在知行之桥 设置 页面上将该组中的每个用户添加为用户才能登录。每个用户都应引用身份提供商提供的联合 ID(如下所述)。
以下部分介绍如何通过两个身份提供商(Microsoft Entra ID 和 Okta)以及 OpenID Connect 和 SAML 2.0 身份验证协议设置 SSO 配置。
SSO 设置
本节介绍知行之桥中的各项 SSO 设置及其含义。这些设置的详细信息可能因身份提供商(IdP)而异。
OpenID Connect 设置
- 回调 URL 回调 URL 在 IdP(而非 知行之桥)中配置,用于指示用户在 IdP 上执行身份验证后应返回的位置。
- OAuth 客户端 ID 与 IdP 中创建的 OAuth 应用程序关联的客户端 ID。
- OAuth 客户端密钥 与 IdP 中创建的 OAuth 应用程序关联的客户端密钥。
- 令牌接收者(Audience URIs) SSO 登录令牌的预期接收者。这可确保 SSO 平台生成的令牌仅供 知行之桥 使用。将此值设置为标识 知行之桥 在您的 SSO 平台中为受信任应用程序的 URI(例如,SSO 平台为 知行之桥 生成的应用程序 ID)。要容纳多个 URI,请提供以逗号分隔的列表。
- 发现 URL 从 SSO 提供商导入设置时必需。
- 令牌颁发者证书 IdP 用于签署 JWT 令牌的证书的公共部分。这有助于确保只接受由预期 IdP 生成的令牌。
- 令牌颁发者标识符(Issuer Identifier) IdP 在生成 JWT 令牌时使用的标识符。知行之桥 会验证令牌以确保其包含此标识符。这有助于确保只接受由预期 IdP 生成的令牌。
- 授权 URL 用户应通过 IdP 执行授权的 URL。当 SSO 用户尝试登录 知行之桥 时,应用程序会将用户重定向到此 URL,用户可在其中输入其 SSO 平台凭据。
- 令牌 URL 可从 IdP 获取安全身份验证令牌的 URL。
- 注销 URL 指定 知行之桥 用户注销应用程序后重定向到的位置。
- 默认范围(Scope) 以空格分隔的范围列表(权限集),用于向 IdP 请求。通常,范围至少应包含
profile openid以请求身份验证。 - 键声明(Key Claim) 来自 IdP 的值,用作联合ID。换句话说,这指定在将用户从 IdP 映射到 知行之桥 用户名时用作联合ID 的声明。
- 签名算法 签名的 JWT 令牌接受哪些签名算法。未签名的令牌永远不会被接受。
- 即时 (JIT) 配置 用户首次登录时,是否在 知行之桥 中自动创建新用户帐户。用户详细信息基于声明中提供的属性。
- 默认角色 分配给 JIT 配置期间创建的帐户的 角色(支持、标准或管理员)。如果选择 无默认角色,则使用声明中指定的角色。
SAML 2.0 设置
- 断言消费者服务 (ACS) URL 用户成功登录后,IdP 发送 SAML 身份验证响应的 知行之桥 应用程序端点。这类似于 OpenID 中的回调 URL 设置。
- 令牌接收者(Audience URIs) SAML 断言所针对的唯一标识符(通常是应用程序的实体 ID)。用于验证响应是否适用于您的应用程序。
- SAML 发现 URL 用于确定应使用哪个 IdP 进行身份验证的端点。从您的 SSO 提供商导入设置时必需。
- 令牌颁发者证书 IdP 用于签署 JWT 令牌的证书的公共部分。有助于确保只接受由预期 IdP 生成的令牌。
- 实体 ID 用于在 SAML 身份验证过程中标识 IdP 或服务提供商的全局唯一标识符(通常格式化为 URI)。
- 单点登录 URL 服务提供商将用户重定向到的 IdP 端点,以启动 SAML 身份验证流程。
- 注销 URL 指定 知行之桥 用户退出应用程序后重定向到的位置。
- 即时 (JIT) 配置 用户首次登录时是否在 知行之桥 中自动创建新用户帐户。用户详细信息基于 SAML 断言中提供的属性。
- 默认角色 分配给 JIT 配置期间创建的帐户的 角色(支持、标准或管理员)。如果您选择 无默认角色,则使用 SAML 断言中指定的角色。
联合标识(Federation ID)和登录用户的 ID 字段(Key Claim)设置
当知行之桥用户通过身份提供者(IdP)登录时,知行之桥会将该本地用户的联合 ID 与提供商的身份声明进行比较。 键声明(Key Claim) 指定知行之桥应用于此比较的身份提供商的值。
我们建议将 ID 字段(Key Claim)设置为身份提供者(IdP)中每个用户独有的值,例如 oid。在这种情况下,可以通过在需要访问 Arc 的身份提供者中查找分配给用户的 oid 值来获取联合 ID 值。
导入设置
如果拥有 OpenID 发现 URL 或 SAML 发现 URL,则可以点击 导入设置 按钮从 SSO 提供商导入设置。这将为 令牌颁发者证书、令牌 URL 等设置提供值。使用此功能时,颁发者证书会定期自动刷新,以确保在 SSO 提供商轮换这些证书时,应用程序不会锁定用户。
Entra ID(Azure AD)配置
本节解释了当 Entra ID 用作 OpenID IdP 时上述每个设置的可能值。
- 回调 URL 将此设置为用户通过 IdP 进行身份验证后应转到的 URL。
- OAuth 客户端 ID 此值由 Entra ID 在平台中创建 OAuth 应用程序后分配。
- OAuth 客户端密钥 此值由 Entra ID 在平台中创建 OAuth 应用程序后分配。
- 令牌接收者(Audience URIs) 只需一个 URI,即 Entra ID 为知行之桥分配的应用程序 ID(客户端 ID)。
- 令牌颁发者证书 Entra ID 可能使用的公共证书可在此处 找到。
- 令牌颁发者标识符 使用下面描述的 Entra ID 元数据文档 查找此值。
- 授权 URL 此 URL 是 Entra ID 中“端点”列表中的“OAuth 2.0 授权端点 (v2)”。
- 令牌 URL 使用下述 Entra ID 元数据文档查找此值。
- 注销 URL 将此 URL 设置为用户注销后应转到的 URL。
- 默认范围(Scope) 仅需要范围“profile”和“openid”,您可以根据需要添加其他范围。
- 签名算法 使用默认值“RS256”。
- 登录用户的 ID 字段 将此值设置为执行身份验证时与联邦 ID 匹配的字段名称。在大多数情况下,正确的名称是“oid”,它代表对象 ID。仅在极少数情况下才应将其设置为“oid”以外的值。
- 即时 (JIT) 配置 如果您希望在用户首次登录时自动创建用户帐户,请勾选此项。新用户的详细信息基于声明中提供的属性。
- 默认角色 分配给 JIT 配置期间创建的帐户的 角色(支持、标准或管理员)。如果您选择 无默认角色,则使用声明中指定的角色。
配置 Microsoft Entra ID 的单点登录 (SSO)
以下部分介绍如何通过 OpenID Connect 或 SAML 2.0 设置 Microsoft Entra ID 的单点登录 (SSO)。
OpenID Connect 配置
使用 Microsoft Entra ID 进行单点登录 (SSO) 可简化对知行之桥的访问,并在登录时实现即时配置。以下步骤介绍如何使用 OpenID Connect 协议设置 Microsoft Entra ID 的单点登录 (SSO)。
-
登录 Azure 门户并打开 Microsoft Entra ID。
-
登录知行之桥,选择设置 > 单点登录 (SSO),打开 单点登录 (SSO) 设置 对话框。
-
浏览至 Entra ID > App registrations > New registration,并为知行之桥创建应用注册。按照提示完成此过程。
-
在您的应用注册中,将重定向 URL 设置为知行之桥中单点登录 (SSO) 设置对话框中指定的回调 URL值,如下所示。
<img src="assets/images/settings_sso_openid-connect-configuration_1.png" width="450" />
- 在知行之桥中的单点登录 (SSO) 设置对话框中,指定以下属性:
1. 将**客户端 ID**属性设置为如下所示的新应用注册中找到的“应用程序(客户端)ID”的值。
<img src="assets/images/settings_sso_openid-connect-configuration_2.png" width="800" />
2. 将**客户端密钥**属性设置为您在应用注册的**客户端凭据**部分中创建的新客户端密钥的值。
3. 将**发现 URL**设置为应用注册中**Endpoint**页面中的**OpenID Connect MetaData document**值。然后,点击**导入**将剩余设置导入知行之桥中。
-
点击知行之桥中的保存并测试以验证 SSO 配置。知行之桥中将打开一个新标签页,并提示您登录 Microsoft 帐户。如果测试成功,知行之桥中将显示成功消息以及声明详细信息。
-
(可选)使用您的联合 ID 更新您的知行之桥用户帐户。
1. 从步骤 5 中的**单点登录 (SSO) 设置**对话框中复制联合 ID。
2. 导航至 **设置 > 用户**。然后,找到您的用户帐户并点击**编辑**。
3. 将联合 ID 添加到您的用户帐户。然后点击**保存**以保存更改并退出对话框。
至此,您已完成基本的 OpenID Connect SSO 设置,允许您的用户通过 Microsoft Entra ID 登录知行之桥。
SAML 2.0 配置
借助基于 SAML 的单点登录 (SSO),用户可以通过其组织的身份提供商无缝进行身份验证,从而实现登录时的即时配置。以下步骤介绍如何使用 SAML 2.0 协议设置 Microsoft Entra ID SSO。
-
登录 Azure 门户,打开 Microsoft Entra ID,然后导航到Enterprise applications页面。
-
选择 New application > Create your own application。在 Create your own application 对话框中:
1. 输入应用程序名称(例如,**知行之桥**)。
2. 选择 **What are you looking to do with your application?** 下的选项之一,指定您希望用您的应用程序执行的操作。
3. 点击 **创建**。
-
在新创建的应用程序中,选择设置单点登录。
-
选择 SAML 作为登录方式。
-
登录知行之桥,然后选择 设置 > SSO。在该 SSO 选项卡上,点击 单点登录 (SSO) 设置 部分中的 配置。此操作将显示单点登录 (SSO) 设置对话框。
-
选择 SAML 2.0。此选项将显示断言消费者服务 (ACS) URL 和令牌接收者(Audience URIs)。
<img src="assets/images/settings_sso_saml_1.png" width="400" />
**注意:**请保持此对话框打开,因为您稍后需要返回到此对话框。
- 在 Entra ID 中,将 Reply URL (Assertion Consumer Service URL) 设置为知行之桥中的断言消费者服务 (ACS) URL值。然后,将Entra ID中的标识符(实体 ID)设置为知行之桥中的令牌接收者(Audience URIs)值。
**注意:**如果您计划使用身份提供商发起的登录,请将**登录 URL**文本框留空。
-
在知行之桥的单点登录 (SSO) 设置对话框中,将发现 URL设置为App Federation Metadata URL值(该值在 Entra ID 中找到)。然后,点击导入将剩余设置导入知行之桥。
-
在知行之桥中点击保存并测试以验证 SSO 配置。知行之桥会打开一个新标签页,并提示您登录 Microsoft 帐户。如果测试成功,知行之桥会显示一条成功消息以及声明详细信息。
-
(可选)使用您的联合 ID 更新您的知行之桥用户帐户。
1. 从步骤 9 中的**单点登录 (SSO) 设置**对话框中复制联邦 ID。
2. 导航至**设置 > 用户**。然后,找到您的用户帐户并点击**编辑**。
3. 将联邦 ID 添加到您的用户帐户。然后点击**保存**以保存更改并退出对话框。
至此,您已完成基本的 SAML SSO 设置,允许您的用户通过 Microsoft Entra ID 登录知行之桥。
配置 Okta 进行单点登录 (SSO)
以下部分介绍如何通过 OpenID Connect 或 SAML 2.0 设置 Okta 进行单点登录。
OpenID Connect 配置
Okta 的单点登录 (SSO) 功能简化了对知行之桥的访问,并支持登录时的即时配置。以下步骤介绍如何使用 OpenID Connect 协议设置 Okta 的 SSO。
- 登录 Okta 管理控制台,然后选择Applications > Applications > Create App Integration。
<img src="assets/images/settings_sso_openid-configure-okta_1.png" width="800" />
- 在 Create a new app integration 对话框中,在 OIDC - OpenID Connect 中选择 Sign-in method,并在 Application type 中选择 Web Application。然后点击 Next。
<img src="assets/images/settings_sso_openid-configure-okta_2.png" width="600" />
-
登录知行之桥,选择 设置 > 单点登录 (SSO)以打开单点登录 (SSO) 设置对话框。
-
在 Okta 中,将重定向 URI 设置为知行之桥中单点登录 (SSO) 设置对话框中指定的回调 URL值,如下所示。
<img src="assets/images/settings_sso_openid-configure-okta_3.png" width="700" />
然后,点击**下一步**创建您的应用程序。
- 在知行之桥的单点登录 (SSO) 设置对话框中,指定以下属性:
1. 将**客户端 ID**和**客户端密钥**属性设置为 Okta 中**General**选项卡上的相应值。
2. 将**发现 URL**设置为您注册的 Okta 组织的域名,后跟 /oauth2/default/.well-known/openid-configuration。
**示例:** https://trial-1234567.okta.com/oauth2/default/.well-known/openid-configuration
然后,点击**导入**将其余设置导入知行之桥。
-
点击知行之桥中的保存并测试以验证 SSO 配置。知行之桥会打开一个新标签页,并提示您登录 Okta 帐户。如果测试成功,知行之桥会显示一条成功消息以及声明详情。
-
(可选)使用您的联合 ID 更新您的知行之桥用户帐户。
1. 从步骤 5 中的**单点登录 (SSO) 设置**对话框中复制联合 ID。
2. 导航至**设置 > 用户**。然后,找到您的用户帐户并点击 **编辑**。
3. 将联合 ID 添加到您的用户帐户。然后点击 **保存** 以保存更改并退出对话框。
至此,您已完成基本的 OpenID Connect SSO 设置,允许您的用户通过 Okta 登录知行之桥。
SAML 2.0 配置
借助基于 SAML 的单点登录 (SSO),用户可以通过其组织的身份提供商无缝进行身份验证,从而实现登录时的即时配置。以下步骤介绍如何使用 SAML 2.0 协议设置 Okta 的 SSO。
-
登录 Okta 管理控制台,然后选择Applications > Create App Integration。此步骤将打开 Create a new app integration 对话框。
-
选择 SAML 2.0 作为登录方式。然后点击 Next,这将打开 Create SAML Integration 对话框。
-
在 App Name 文本框中为您的应用输入一个描述性名称(例如,知行之桥)。您也可以选择为应用添加徽标。然后点击 Next。
-
在知行之桥应用程序中,点击设置页面上的SSO选项卡。在该选项卡上,点击单点登录 (SSO) 设置部分中的配置。此操作将显示单点登录 (SSO) 设置对话框。
-
选择SAML 2.0。此选择将显示断言消费者服务 (ACS) URL 和令牌接收者(Audience URIs)。
<img src="assets/images/settings_sso_saml_1.png" width="400" />
**注意:**请保持此对话框打开,因为您稍后需要在这些步骤中返回到它。
-
在 Okta 中,将知行之桥中的断言消费者服务 (ACS) URL值输入到单点登录 URL文本框中。然后,将知行之桥中的 令牌接收者(Audience URIs) 值输入到 Audience URI(SP 实体 ID) 文本框中。其余 Okta 字段可保留默认设置。
-
在知行之桥中,将 元数据 URL 设置为您注册的 Okta 组织的域名,后跟 /oauth2/default/.well-known/openid-configuration。
**示例:** https://trial-1234567.okta.com/oauth2/default/.well-known/openid-configuration
然后,点击 **Import** 将其余设置导入知行之桥。
-
点击知行之桥中的保存并测试以验证 SSO 配置。知行之桥会打开一个新标签页,并提示您登录 Okta 帐户。如果测试成功,知行之桥会显示一条成功消息以及声明详情。
-
(可选)使用您的联合 ID 更新您的知行之桥用户帐户。
1. 从步骤 5 中的**单点登录 (SSO) 设置**对话框中复制联合 ID。
2. 导航至**设置 > 用户**。然后,找到您的用户帐户并点击 **编辑**。
3. 将联合 ID 添加到您的用户帐户。然后点击 **保存** 以保存更改并退出对话框。
至此,您已完成基本的 SAML SSO 设置,您可以通过 Okta 登录知行之桥。
即时 (JIT) 用户配置
如前面所述,即时用户配置使知行之桥能够在首次登录时使用身份提供商提供的信息自动创建和管理用户帐户。当用户首次通过身份提供商访问知行之桥时,JIT 配置尤为有用,应用程序会收到一条确认其身份的安全消息。生成的帐户将被分配一个默认角色,该角色在单点登录 (SSO) 设置中指定。此功能简化了用户入职流程,并确保帐户详细信息与身份声明保持一致。
当用户使用 SAML 或 OpenID Connect 登录知行之桥时,知行之桥会通过联邦 ID 搜索该用户。
-
如果用户 不存在,知行之桥会使用身份验证声明中提供的信息自动创建新用户。
-
如果用户 确实存在,且知行之桥与声明值不匹配,则更新用户的用户名和电子邮件。
身份提供商中的要求和映射
身份提供商的要求取决于您使用的是 SAML 2.0 还是 OpenID Connect。本节介绍每种身份验证方法的声明要求。
OpenID Connect
-
默认情况下,子控件会映射到用户的角色,而声明会映射到联邦 ID。admin 用户可以选择通过在 知行之桥中设置 键声明(Key Claim) 属性来使用其他字段(例如 oid)。
-
Email 声明映射到 知行之桥中的 电子邮件地址。
-
preferred_username 声明映射到 知行之桥中的 用户名。
SAML 2.0
- NameID 和 Email 声明是必需的。
*(可选)您可以添加Name声明,该声明映射到 知行之桥中的用户名。
*(可选)您可以添加Role声明,用于控制用户的角色。
知行之桥中的 JIT 配置
要在 知行之桥中启用和配置 JIT 预配,请执行以下操作:
- 启用 JIT 预配,如下所示:
1. 在 知行之桥中选择**设置 > 单点登录**。
2. 点击平板电脑和铅笔  图标,打开**即时 (JIT) 用户配置** 对话框。
3. 在**即时 (JIT) 用户配置** 类别下选择**已启用**。
4. (可选)从**默认角色**列表中选择一个角色,设置默认角色。
5. 点击**保存**保存您的选择并退出对话框。
用户登录时,知行之桥会根据以下顺序调整角色:
-
如果声明包含角色,知行之桥会搜索该角色并更新用户帐户。
-
如果角色声明不存在或无效,知行之桥会使用已配置的默认角色。
-
如果未配置默认角色,则用户帐户没有角色,并且管理员用户必须手动更新用户的角色。