在从 LDAP 提供程序设置用户联合时,存在三个 LDAP 属性:
其中每一个的价值如何影响 Keycloak 或同步过程?
例如,如果目录确保唯一的电子邮件地址,使用邮件作为 UUID LDAP 属性是否有任何负面影响?
我在哪里可以找到每个属性的详细信息——特定于 Keycloak?
在 Keycloak 管理控制台中,您可以将鼠标悬停在工具提示上 - 一个小问号 - 旁边的 LDAP 属性标签,如果您想要尽可能多的信息。我在 Keycloak v6.0.1 上检查过这个,但我认为它适用于最新版本。此类工具提示通常会提供比您在 Keycloak 文档网站上找到的更多信息。有关这些属性的更多详细信息:
用户名 LDAP 属性:映射为 Keycloak 用户名的 LDAP 属性名称。对于许多 LDAP 服务器供应商,它可以是“uid”。对于 Active Directory,它可以是“sAMAccountName”或“cn”。应该为要从 LDAP 导入 Keycloak 的所有 LDAP 用户记录填写该属性。因此,mail如果您希望将其作为 Keycloak 中的用户名,则可以使用该属性。然后用户将使用他们的电子邮件地址登录 Keycloak。如果您启用与 Keycloak 本地数据库的LDAP 同步(打开Import Users),这将被记录为用户名。
RDN LDAP 属性:用作典型用户 DN 的 RDN(顶部属性)的LDAP 属性名称。通常它与用户名 LDAP 属性相同,但不是必需的。例如,对于 Active Directory,当用户名属性可能是 'sAMAccountName' 时,通常使用 'cn' 作为 RDN 属性。例如,对于用户 DN 通常为 的传统 LDAP 目录(不是 Active Directory)uid=XXX,ou=people,dc=example,dc=com,您可以在那里使用“uid”。
[编辑 2019-05-31] RDN 属性实际上用于例如在 Keycloak 中创建新用户时。如果您在Edit Mode设置中将选项设置为WRITABLE,Keycloak 会将其同步回 LDAP 目录,即在 LDAP 中创建新用户条目。为此,它需要(除其他外)RDN 和Users DN(RDN 下方的另一个选项)来生成新用户 LDAP 条目的完整 DN。
UUID LDAP 属性:LDAP 属性的名称,用作 LDAP 中对象的唯一对象标识符 (UUID)。对于许多 LDAP 服务器供应商,它是“entryUUID”,但有些不同。例如,对于 Active Directory,它应该是“objectGUID”。如果您的 LDAP 服务器确实不支持 UUID 的概念,您可以使用任何其他属性,该属性在树中的 LDAP 用户中应该是唯一的。例如“uid”或“entryDN”。任何标准 LDAP v3 目录都应使用entryUUID(OpenLDAP、OpenDJ...)。
关于 LDAP 目录中 UUID 的最佳实践,您可以查看RFC 4530标准。
一般来说,我建议不要使用“邮件”作为 UUID,因为用户的“邮件”可能会改变(请参阅下面的原因),而条目 UUID(无论是否为用户条目)意味着是全局唯一的生成的数字(或至少包含这样的数字),通常在服务器端生成,并为条目一劳永逸地固定。(此外,它不应被重复使用,即使在条目被删除后,因为 UUID 在时间和空间上应该是唯一的。)特别是,它应该独立于任何用户的变量属性,如电子邮件地址。
事实上,用户的电子邮件地址在他/她在组织的一生中可能会因各种原因而改变,仅举几例:
...
| 归档时间: |
|
| 查看次数: |
4436 次 |
| 最近记录: |