10.2. 设计示例:多企业及其 Extranet
本例为 example Corp 构建了一个目录基础架构。国际.上一个示例中的 example Corp. 增长为一个大型的跨国公司。本示例基于示例 Corp. 中创建的目录结构,扩展目录设计以满足其新需求。
示例公司已发展成为一个组织分布在三个主要地理位置:美国、欧洲和亚洲。示例. 现在,公司拥有 20,000 多个员工,在 Example Corp. 办公室的国家/地区实时和工作。示例. 决定启动公司范围的 LDAP 目录以改进内部通信,以便更轻松地开发和部署 Web 应用程序,从而提高安全性和隐私。
为国际企业设计目录树涉及确定如何以逻辑方式收集目录条目、如何支持数据管理以及如何支持全局规模上的复制。
此外,示例企业还希望创建一个额外的网来供其部分供应商和交易合作伙伴使用。extranet 是企业内部网到外部客户端的一个扩展。
以下小节描述了部署多证书目录服务以及 Example Corp 的 extranet 过程中的步骤。国际.
10.2.1. 跨性企业数据设计
企业示例.国际创建部署团队来执行站点调查。部署团队从站点问卷调查中确定以下内容:
- 消息传递服务器用于为大多数 Example Corp. 站点提供电子邮件路由、交付和读取服务。企业服务器提供文档发布服务。所有服务器均在 Red Hat Enterprise Linux 7 上运行。
- 示例 Corp. 需要允许本地管理数据。例如,欧洲站点负责管理目录的欧洲分支。这也意味着,欧洲负责其数据的主副本。
- 由于 Example Corp. 的办公室的地理分布,因此目录需要每天 24 小时提供给用户和应用程序。
- 许多数据元素需要容纳多种不同语言的数据值。注意所有数据都使用 UTF-8 字符集;任何其他字符集都违反了 LDAP 标准。
部署团队还决定以下有关 extranet 的数据设计:
- 部分供应商需要登录到示例 Corp. 的 目录,以便管理其有 Example Corp 的合同。部分供应商依赖于用于身份验证的数据元素,如名称和用户密码。
- 示例企业的合作伙伴将使用目录查找合作伙伴网络中人员的联系详情,如电子邮件地址和电话号码。
10.2.2. 跨性企业架构设计
Corp. 示例通过添加 schema 元素来支持 extranet,以此构建其原始模式设计。示例 Corp. 添加两个新对象,即 exampleSupplier 对象类和 examplePartner 对象类。
示例供应商 对象类允许一个属性,即
exampleSupplierID
属性。此属性包含由 Example Corp 分配的唯一 ID。国际每个自治区部分供应商。
examplePartner 对象类允许一个属性
examplePartnerID
属性。此属性包含由 Example Corp 分配的唯一 ID。国际每个交易合作伙伴。
有关自定义默认目录模式的详情,请参考 第 3.4 节 “自定义架构”。
10.2.3. 多企业目录树设计
根据扩展的要求,Example Corp. 会创建以下目录树:
- 目录树的根目录是
dc=com
后缀。在此后缀下,Example Corp. 创建两个分支。一个分支(dc=exampleCorp,dc=com
),包含 Example Corp 的内部数据。国际.另一个分支dc=exampleNet,dc=com
包含 extranet 的数据。 - intranet 的目录树(在
dc=exampleCorp,dc=com)
有三个主要分支,各自对应于 Example Corp. 具有办事处的其中一个区域。这些分支使用l
(本地性)属性来标识。 dc=exampleCorp,dc=com
下的每个主要分支模拟 Example Corp 的原始目录树设计。在每个地区下,Example Corp. 创建一个ou=people
、ou=groups
、ou=roles
和ou=resources
分支。有关这个目录树设计的更多信息,请参阅 图 10.1 “示例公司的目录树.”。- 在
dc=exampleNet,dc=com
分支下,Example Corp. 创建三个分支。供应商的一个分支(o=suppliers
)、合作伙伴(o= partners
)的一个分支,另一个用于组(ou=groups
)。 - extranet 的
ou=groups
分支包含 extranet 管理员的条目,以及用于邮件列表,供合作伙伴订阅有关 automobile 部分 manufacturing 中的最新信息。
下图显示了从上面列出的设计步骤生成的基本目录树:
图 10.6. 示例公司的基本目录树.国际

下图演示了 Example Corp. intranet 的目录树:
图 10.7. 示例公司的目录树.国际 Intranet

l=Asia
条目的条目会出现在 LDIF 中,如下所示:
dn: l=Asia,dc=exampleCorp,dc=com objectclass: top objectclass: locality l: Asia description: includes all sites in Asia
下图显示了 Corp. 的 extranet 的目录树:
图 10.8. 示例公司的目录树.国际 Extranet

10.2.4. 跨性企业拓扑设计
此时,Example Corp. 会设计其数据库和服务器拓扑。以下小节更详细地描述了每个拓扑。
10.2.4.1. 数据库拓扑
下图演示了一个示例企业机构(欧洲、欧洲)的数据库拓扑:
图 10.9. Corp 的数据库拓扑.欧洲

数据库链接指向存储在每个国家/地区的数据库。例如,由 Example Corp 接收的操作请求。
l=US
分支下数据的欧洲服务器由 Austin, Texas 的服务器上的数据库链接串联。有关数据库链接和链的详情,请参考 第 6.3.2 节 “使用链”。
dc=exampleCorp,dc=com
和 root 条目 dc=com
的数据的主副本存储在 l=Europe
数据库中。
欧洲的数据中心包含 extranet 的数据的主副本。extranet 数据存储在三个数据库中,每个主分支对应一个。
o=suppliers
数据的主副本存储在数据库 1 (DB1)中,针对 o= partners
存储在数据库 2 (DB2)中,而 ou=groups
则存储在数据库三(DB3)中。
extranet 的数据库拓扑如下所示:
图 10.10. Corp 的数据库拓扑.国际 Extranet

10.2.4.2. 服务器拓扑
示例公司开发两个服务器拓扑,一个用于公司内部,另一个用于合作伙伴的 extranet。
对于内部网,example Corp. 决定为每个主要地点有供应商数据库。这意味着,它有三个数据中心,分别包含两个供应商服务器、两个 hub 服务器和三个消费者服务器。
下图演示了公司示例企业的架构。欧洲的数据中心:
图 10.11. 示例公司的服务器拓扑.欧洲

示例公司的 extranet 的数据供应商位于欧洲。此数据被复制到美国数据中心的两台消费者服务器,以及 Asia 数据中心中的两个消费者服务器。总体而言,example Corp. 需要十个服务器来支持 extranet。
下图演示了 European 数据中心中 Example Corp. 的 extranet 的服务器架构:
图 10.12. 示例公司的服务器拓扑.国际 Extranet

hub 服务器将数据复制到欧洲、美国和亚洲每个数据中心的两个消费者服务器。
10.2.5. 跨性企业复制设计
example Corp. 在为其目录设计复制时会考虑以下几点:
- 数据将在本地管理。
- 网络连接质量因站点而异。
- 数据库链接将用于连接远程服务器上的数据。
- 包含数据的只读副本的 hub 服务器将用于复制数据到消费者服务器。
中心服务器位于几乎重要的目录应用程序,如邮件服务器或 Web 服务器。
中心服务器从供应商服务器中移除复制的负担,因此供应商服务器可以专注于写操作。未来,随着 Example Corp. 扩展并需要添加更多的消费者,额外的消费者不会影响供应商服务器的性能。
有关 hub 服务器的详情,请参考 第 7.2.3 节 “cascading Replication”。
10.2.5.1. 供应商架构
对于 Example Corp. intranet,每个本地化内容都会保存其数据的主副本,并使用数据库链接到其他地方的数据。对于其数据的主副本,每个本地化均使用多层次复制架构。
下图演示了欧洲的供应商架构,其中包括
dc=exampleCorp,dc=com
和 dc=com
信息:
图 10.13. 企业供应商架构示例.欧洲

每个本地化内容包括两个供应商,它们共享该站点的数据的主副本。因此,每个位置都负责自己的数据的主副本。使用多supplier 架构可确保数据的可用性,并帮助平衡每个供应商服务器管理的工作负载。
为降低总体故障风险,Acamic. 在每个站点使用多个读写供应商目录服务器。
下图演示了欧洲两个供应商服务器与美国两个供应商服务器之间的互动:
图 10.14. 示例公司的多层次复制设计.欧洲和示例公司.US

示例公司之间存在同样的关系。美国和示例公司.亚洲,以及企业示例之间的.欧洲和示例公司.亚洲.
10.2.6. 跨性企业安全设计
企业示例.国际构建之前的安全设计,添加以下访问控制来支持其新的跨国内部网:
- 示例 Corp. 将常规 ACI 添加到内部的根目录中,在每个国家/地区中创建更严格的 ACI,以及各个国家下的分支。
- Corp. 决定使用宏 ACI 来最小化目录中的 ACI 数量。示例 Corp. 使用宏代表 ACI 目标中的 DN 或绑定规则部分。当目录获得传入 LDAP 操作时,ACI 宏与 LDAP 操作目标的资源匹配。如果存在匹配项,则宏替换为目标资源的 DN 值。有关宏 ACI 的更多信息,请参阅 红帽目录服务器管理员指南。
示例。添加了以下访问控制来支持其 extranet:
- Corp. 决定对所有 extranet 活动使用基于证书的身份验证。当人们登录到 extranet 时,他们需要一个数字证书。目录用于存储证书。由于 目录存储了证书,因此用户可以通过查找保存在 目录中的公钥来发送加密的电子邮件。
- 示例 Corp. 创建一个 ACI,用于禁止对 extranet 的匿名访问。这样可防止 extranet 拒绝服务攻击。
- 示例 Corp. 希望更新目录数据,使其仅来自 example Corp. 托管的应用程序。这意味着,使用 extranet 的合作伙伴和供应商只能使用 Example Corp 提供的工具。将 extranet 用户限制为 Example Corp. 的首选工具允许 example Corp. 管理员使用审计日志跟踪目录的使用,并限制 Example Corp 外部的 extranet 用户可以引入的问题类型。国际.