锦中MaxId统一身份认证系统帮助中心
客户端管理
客户端模板
领域角色
用户管理
群组管理
会话管理
事件管理
领域设置
身份认证
身份供应者
用户联合
帮助文档
钉钉登录帮助文档
微信登录帮助文档
企业微信登录帮助文档
短信登录帮助文档
增强插件
锦集网-锦中集团文档分享与下载平台,提供产品操作手册、产品资料、知识文档、技术集锦等在线学习。
-
+
首页
身份认证
## 身份认证管理 ### 密码政策 当MaxId创建领域时,它不会将密码策略与该领域关联。您可以设置简单的密码,对其长度、安全性或复杂性没有限制。简单的密码在生产环境中是不可接受的。MaxId有一组可通过管理控制台使用的密码策略。 步骤: 1. 单击菜单中的身份验证。 2. 单击“策略”选项卡。 3. 在“添加策略”下拉框中选择要添加的策略。 4. 输入适用于所选策略的值。 5. 单击“保存”。 密码政策 ![](/media/202309/2023-09-20_103324_573492.jpeg) 保存策略后,MaxId会为新用户强制执行该策略。 ### 一次性密码 (OTP) 策略 MaxId有多项用于设置 FreeOTP 或 Google Authenticator 一次性密码生成器的策略。单击身份验证菜单,然后单击OTP 策略选项卡。 OTP政策 ![](/media/202309/2023-09-20_103700_053543.jpeg) MaxId根据OTP 策略选项卡中配置的信息在 OTP 设置页面上生成 QR 代码。FreeOTP 和 Google Authenticator 在配置 OTP 时扫描 QR 码。 #### 基于时间或基于计数器的一次性密码 MaxId中可用于 OTP 生成器的算法是基于时间和基于计数器的。 使用基于时间的一次性密码 (TOTP),令牌生成器将对当前时间和共享秘密进行哈希处理。服务器通过将时间窗口内的哈希值与提交的值进行比较来验证 OTP。TOTP 在很短的时间内有效。 对于基于计数器的一次性密码 (HOTP),MaxId 使用共享计数器而不是当前时间。每次成功的 OTP 登录时,MaxId 服务器都会递增计数器。成功登录后,有效 OTP 会发生变化。 TOTP 比 HOTP 更安全,因为可匹配的 OTP 在较短的时间窗口内有效,而 HOTP 的 OTP 在不确定的时间段内有效。HOTP 比 TOTP 更加用户友好,因为输入 OTP 没有时间限制。 每次服务器递增计数器时,HOTP 都需要更新数据库。此更新会在重负载期间消耗身份验证服务器的性能。为了提高效率,TOTP 不会记住所使用的密码,因此无需执行数据库更新。缺点是可以在有效时间间隔内重复使用 TOTP。 ### 身份验证流程 身份验证流程是登录、注册和其他 MaxId 工作流程期间的身份验证、屏幕和操作的容器。 #### 内置流程 步骤: 1. 单击菜单中的身份验证。 2. 单击列表中的浏览器项目可查看详细信息。 浏览器流程 ![](/media/202309/2023-09-20_104254_300590.jpeg) **认证类型** 身份验证或要执行的操作的名称。如果身份验证缩进,则它位于子流中。它可能会也可能不会被执行,具体取决于其父级的行为。 1. Cookie 用户第一次成功登录时,MaxId 会设置会话 cookie。 如果已设置 cookie,则此身份验证类型成功。由于cookie 提供者返回 success 并且此级别流程的每次执行都是替代的,因此 MaxId 不执行任何其他执行。这将导致登录成功。 2. Kerberos协议 默认情况下禁用此身份验证器,并在浏览器流程中跳过此身份验证器。 3. Identity Provider Redirector 此操作通过操作>配置链接进行配置。它重定向到另一个 IdP 进行身份代理。 4. Forms 由于该子流程被标记为Alternative ,因此如果Cookie认证类型通过,则不会执行该子流程。该子流程包含需要执行的附加身份验证类型。MaxId 加载该子流程的执行并处理它们。 第一次执行是用户名密码表单,这是一种呈现用户名和密码页面的身份验证类型。它被标记为必填,因此用户必须输入有效的用户名和密码。 第二次执行是浏览器 - 条件 OTP子流程。该子流程是有条件的,并根据条件 - 用户配置的执行结果执行。如果结果为 true,MaxId 将加载该子流程的执行并对其进行处理。 下一个执行是条件 - 用户配置的身份验证。此身份验证检查 MaxId 是否已为用户配置流程中的其他执行。仅当用户配置了 OTP 凭证时,浏览器 - 条件 OTP 子流才会执行。 最终执行的是OTP表格。MaxId 将此执行标记为必需,但仅当用户由于条件子流中的设置而设置了 OTP 凭证时才运行。如果不是,用户将看不到 OTP 表单。 **要求** 控制执行操作的一组单选按钮。 **必需的** 流中的所有必需元素必须成功地按顺序执行。如果所需元素失败,则流程终止。 **选择** 只有一个元素必须成功执行,流程才能评估为成功。由于所需的流程元素足以将流程标记为成功,因此包含必需的流程元素的流程中的任何替代流程元素都不会执行。 #### 创建流程 设计流程时需要考虑重要的功能和安全注意事项。 要创建流,请执行以下操作: 步骤: 1. 单击菜单中的身份验证。 2. 单击创建流。 - 您可以复制然后修改现有流程。单击“操作列表”(行末尾的三个点),单击“复制”,然后输入新流的名称。 创建新流时,必须首先使用以下选项创建顶级流: **别名** - 流的名称。 **描述** - 您可以为流程设置的描述。 **顶级流类型** - 流量类型。领域类型仅用于客户端(应用程序)的身份验证。 创建顶级流程 ![](/media/202309/2023-09-20_105646_842751.jpeg) 当MaxId创建流后,MaxId 将显示“添加执行器”和“添加子流程”按钮。 ![](/media/202309/2023-09-20_105751_530318.jpeg) 三个因素决定流和子流的行为。 1. 流程和子流程的结构。 2. 流程内的执行 3. 在子流程和执行中设置的要求。 执行有各种各样的操作,从发送重置电子邮件到验证 OTP。使用添加步骤按钮添加执行。将鼠标悬停在提供者旁边的问号上,查看执行的描述。 添加身份验证执行 ![](/media/202309/2023-09-20_105944_347071.jpeg) 存在两种类型的执行:自动执行和交互式执行。自动执行与Cookie执行类似,会在流程中自动执行其操作。交互式执行会停止流程以获取输入。成功执行的执行将其状态设置为success。要完成一个流程,它至少需要一次状态为success的执行。 您可以使用添加流按钮将子流添加到顶级流。添加流程按钮显示创建执行流程页面。此页面类似于“创建顶级表单”页面。不同之处在于流程的种类可以是默认或form。表单类型构造一个为用户生成表单的子流程,类似于内置的注册流程。子流程的成功取决于其执行评估方式,包括其包含的子流程。有关子流程如何工作的深入说明,请参阅执行要求部分。 流程中的所有元素在“操作”菜单中都有一个“删除”选项。此操作将从流中删除元素。执行有一个⚙️菜单项(齿轮图标)来配置执行。还可以使用添加步骤和添加流程链接将执行和子流程添加到子流程。 由于执行顺序很重要,因此您可以通过拖动执行和子流程的名称来上下移动它们。 #### 创建无密码浏览器登录流程 为了说明流的创建,本节介绍创建高级浏览器登录流。此流程的目的是允许用户选择使用WebAuthn 的无密码方式登录或使用密码和 OTP 的双因素身份验证。 步骤: 1. 单击菜单中的身份验证。 2. 单击“流程”选项卡。 3. 单击创建流程。 4. 输入Browser Password-less作为名称。 5. 单击创建。 6. 单击添加执行。 7. 从列表中选择Cookie 。 8. 单击“添加”。 9. 为Cookie身份验证类型选择替代,以将其要求设置为替代。 10. 单击添加步骤。 11. 从列表中选择Kerberos 。 12. 单击“添加”。 13. 单击添加步骤。 14. 从列表中选择身份提供商重定向器。 15. 单击“添加”。 16. 为身份提供程序重定向器身份验证类型选择替代,以将其要求设置为替代。 17. 单击添加子流程。 18. 输入Forms作为名称。 19. 单击“添加”。 20. 为表单身份验证类型选择替代,以将其要求设置为替代。 与浏览器流程的共同部分 ![](/media/202309/2023-09-20_110450_066428.jpeg) 21. 单击表单执行的+菜单。 22. 选择添加步骤。 23. 从列表中选择用户名表单。 24. 单击“添加”。 在此阶段,表单需要用户名但不需要密码。我们必须启用密码认证以避免安全风险。 1. 单击“表单”子流程的“+”菜单。 2. 单击添加子流。 3. 输入Authentication名称。 4. 单击“添加”。 5. 对于“身份验证”身份验证类型,选择“必需”以将其要求设置为“必需”。 6. 单击身份验证子流程的+菜单。 7. 单击添加步骤。 8. 从列表中选择Webauthn 无密码身份验证器。 9. 单击“添加”。 10. 为Webauthn 无密码身份验证器身份验证类型选择替代,以将其要求设置为替代。 11. 单击身份验证子流程的+菜单。 12. 单击添加子流。 13. 输入Password with OTP名称。 14. 单击“添加”。 15. 为 OTP 身份验证类型的密码选择替代,以将其要求设置为替代。 16. 单击“使用 OTP 密码”子流程的+菜单。 17. 单击添加步骤。 18. 从列表中选择密码表单。 19. 单击“添加”。 20. 对于密码表单身份验证类型选择“必需”,将其要求设置为“必需”。 21. 单击“使用 OTP 密码”子流程的+菜单。 22. 单击添加步骤。 23. 从列表中选择OTP 表格。 24. 单击“添加”。 25. 单击OTP 表单身份验证类型的“必需”,将其要求设置为“必需”。 26. 最后,更改绑定。 27. 单击屏幕顶部的操作菜单。 28. 从菜单中选择绑定流。 29. 单击浏览器流程下拉列表。 30. 单击“保存”。 ![](/media/202309/2023-09-20_110903_902783.png) ### 用户会话限制 可以配置用户可以拥有的会话数量的限制。会话可以按领域或每个客户端进行限制。 要向流添加会话限制,请执行以下步骤。 1. 单击流程的添加步骤。 2. 从项目列表中选择用户会话计数限制器。 3. 单击“添加”。 4. 单击“用户会话计数限制器”身份验证类型的“必需”,将其要求设置为“必需”。 5. 单击用户会话计数限制器的⚙️(齿轮图标)。 6. 输入此配置的别名。 7. 输入用户在此领域中可以拥有的所需最大会话数。例如,如果值为 2,则每个用户在此领域中可以拥有的最大数量为 2 个 SSO 会话。如果值为 0,则禁用此检查。 8. 输入用户可以为客户端拥有的所需最大会话数。例如,如果值为 2,则每个客户端在此领域中的最大数量为 2 个 SSO 会话。因此,当用户尝试向 client 进行身份验证foo,但该用户已经在 2 个 SSO 会话中向 client 进行身份验证时foo,根据配置的行为,身份验证将被拒绝,或者现有会话将被终止。如果使用值 0,则禁用此检查。如果同时启用会话限制和客户端会话限制,则让客户端会话限制始终低于会话限制是有意义的。每个客户端的限制永远不能超过该用户的所有 SSO 会话的限制。 9. 选择当用户在达到限制后尝试创建会话时所需的行为。可用的行为有: - 拒绝新会话- 当请求新会话且达到会话限制时,无法创建新会话。 - 终止最旧的会话- 当请求新会话并且已达到会话限制时,最旧的会话将被删除并创建新会话。 10. 或者,添加达到限制时显示的自定义错误消息。 请注意,用户会话限制应添加到您绑定的浏览器流程、直接授权流程、重置凭据以及任何后代理登录流程中。身份验证器应在身份验证期间已知用户的情况下添加(通常在身份验证流程结束时),并且通常应该是必需的。请注意,不可能在同一级别上有 ALTERNATIVE 和 REQUIRED 执行。 对于大多数身份验证器(如Direct grant flow、Reset credentials或Post broker login flow),建议在身份验证流程末尾添加所需的身份验证器。
简彬
2023年9月20日 17:01
分享文档
收藏文档
上一篇
下一篇
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
Markdown文件
PDF文档
PDF文档(打印)
分享
链接
类型
密码
更新密码