我为一个小型组织管理几台服务器,该组织为其成员提供类似 ISP 的服务(虚拟主机、多个域上的邮件地址和关联的 IMAP 帐户、Jabber 帐户),我想将所有帐户数据集中在 LDAP 中。我是 LDAP 的新手,现在我需要设计和组织 LDAP 目录布局。
我正在努力解决的最大问题是如何将用户映射到各种帐户,例如,单个用户目前拥有多个 IMAP 和 Jabber 帐户,这些帐户与各个域上的各种地址相关联,并且每个帐户都有不同的密码,我需要保留它。
那么我将如何组织 LDAP 目录布局?
用户和各种帐户是否应该在不同的树中,然后通过一个公共 uid 链接,即 ou=people,dc=example,dc=net 与描述用户的 inetOrgPersons 然后为帐户分离树,例如 ou=imapAccounts,dc=例如,dc=net, ou=jabberAccounts,dc=example,dc=net 等具有自定义模式?或者有没有更好的方法,因为这看起来太像使用关系数据库的解决方案?
任何对这里有用的资源/书籍/现实世界示例的建议?我见过的大多数资源似乎都假设一个人只有一个邮件/jabber 帐户等,并且想要为此使用一个密码。我不敢相信 ISP 允许他们的客户拥有多个帐户,例如为了允许他们将私人邮件和工作邮件分开,或者鼓励不同服务使用不同的密码,这样保存的 Jabber 密码就不会被泄露,我不敢相信这是罕见的导致该客户的所有其他服务受到损害等。
我将尝试更具体地说明我的用例并解释我当前的数据模型:
有一些独特的用户是我需要一些联系数据的人,并且在虚拟主机框上有一个(单个)shell 帐户。这些唯一用户中的每一个都可能拥有多个 IMAP 和 Jabber 帐户。
回答设计问题:
您正在以错误的方式处理这个问题,因为您选择了一项技术,现在正试图将您的数据模型推入其中。首先设计您的DATAMODEL,然后找到易于实施的技术。
从白板开始,写下您需要跟踪的内容,然后确定它们之间的关系。如果您最终得到一个自然的层次结构/树,LDAP 是一个不错的选择。如果你最终得到一个时髦的类似网络的东西,一个关系系统可能会更好地工作。
做设计时要问的一些问题:
“用户”是容器(包含帐户)吗?
(如果是这种情况,每个帐户将恰好指向一个用户。在 LDAP 中,用户将是一个 OU,并且将在该 OU 中创建帐户。在关系用语中,帐户将具有强制(非空)外键指向在用户)
用户会共享帐户吗?
(关系建模在这里通常效果更好)
帐户会在用户之间移动(或用户在帐户之间移动)吗?
什么样的系统需要与这个数据存储集成?
归档时间: |
|
查看次数: |
798 次 |
最近记录: |