8.2. 跨国企业设计示例
ExampleCom 以前是本地 企业设计示例的小型公司,已发展为分布在三个地理位置的大型组织:美国、欧洲和亚太地区。公司现在拥有 20,000 多名员工,所有员工均在 ExampleCom 办事处所在的国家/地区工作。
ExampleCom 决定启动公司范围内的 LDAP 目录,以改进内部通信,以便更轻松地开发和部署 Web 应用程序并提高安全性和隐私。
在为国际公司设计目录树时,ExampleCom 需要找到以下问题的解决方案:
- 如何逻辑地收集目录条目?
- 如何支持数据管理?
- 如何支持全局扩展上的复制?
此外,ExampleCom 希望创建一个额外的网,即供应商和交易合作伙伴可以使用该 extranet 作为外部客户内部网的扩展。
8.2.1. 跨国企业的数据设计 复制链接链接已复制到粘贴板!
ExampleCom International 创建一个部署团队来执行站点调查。部署团队决定站点调查中的以下关键点:
- 消息传递服务器用于为大多数 ExampleCom 站点提供电子邮件路由、交付和读取服务。企业服务器提供文档发布服务。所有服务器都在红帽目录服务器 12 上运行。
- ExampleCom International 需要允许管理员在本地管理数据。例如,欧洲站点负责管理目录的欧洲分支,以及此分支数据的主副本。
- 由于 ExampleCom International offices 的地理分布,用户和应用程序必须每天 24 小时访问目录。
特定数据元素的数据值必须采用多种语言。
注意所有数据都使用 UTF-8 字符集。任何其它字符集都违反了 LDAP 标准。
另外,extranet 的数据设计必须确保满足以下条件:
- 部分供应商需要登录 ExampleCom International 目录来管理其公司的合同。部分供应商依赖于用于身份验证的数据元素,如名称和用户密码。
- 交易合作伙伴将使用 目录查找合作伙伴网络中人员的联系详细信息,如电子邮件地址和电话号码。
8.2.2. 跨国企业的 schema 设计 复制链接链接已复制到粘贴板!
ExampleCom International 使用其原始模式设计,并添加了两个新的对象类来支持 extranet:
-
exampleSupplier
对象类允许exampleSupplierID
属性。此属性包含 ExampleCom International 分配给每个 automobile 部分供应商的唯一 ID。 -
examplePartner
对象类允许examplePartnerID
属性。此属性包含 ExampleCom International 分配给每个交易合作伙伴的唯一 ID。
有关自定义默认目录模式的详情,请参考 自定义模式。
8.2.3. 跨国企业的目录树设计 复制链接链接已复制到粘贴板!
ExampleCom International 创建以下目录树:
图 8.6. ExampleCom International 的基本目录树
dc=com
后缀是目录树的根目录。在此后缀下,公司会创建以下分支:
-
dc=exampleCom,dc=com
分支,其中包含 ExampleCom International 的内部数据。 -
dc=exampleNet,dc=com
分支,其中包含 extranet 的数据。
dc=exampleCom,dc=com
下的 I intranet 的目录树有三个主要分支。每个分支对应于 ExampleCom International has offices 的区域之一。这些分支通过使用 l
(locality)属性标识。
在 dc=exampleNet,dc=com
分支下,ExampleCom International 创建以下分支:
-
公司的供应商
o=suppliers
分支。 -
用于交易
合作伙伴的 o=
Partners 分支。 -
ou=groups
分支,其中包含 extranet 管理员的条目,以及用于合作伙伴订阅有关自动移动部分制造最新信息的邮件列表。
8.2.3.1. ExampleCom International 的 I intranet 设计 复制链接链接已复制到粘贴板!
dc=exampleCom,dc=com
下的每个分支都 从本地企业示例的目录树设计 中重复 ExampleCom 的原始目录树设计。
图 8.7. intranet 的目录树示例
在每个地方,ExampleCom International 会创建以下分支点:
-
ou=people
-
ou=groups
-
ou=roles
-
ou=resources
l=Asia
locality 的条目会出现在 LDIF 中,如下所示:
dn: l=Asia,dc=exampleCom,dc=com objectclass: top objectclass: locality l: Asia description: includes all sites in Asia
dn: l=Asia,dc=exampleCom,dc=com
objectclass: top
objectclass: locality
l: Asia
description: includes all sites in Asia
8.2.3.2. ExampleCom International 的 extranet 设计 复制链接链接已复制到粘贴板!
下图显示了 ExampleCom extranet 的目录树:
图 8.8. extranet 的目录树示例
8.2.4. 跨国企业的拓扑设计 复制链接链接已复制到粘贴板!
ExampleCom International 部署团队开始设计目录数据库和服务器拓扑。
8.2.4.1. ExampleCom International 的数据库拓扑 复制链接链接已复制到粘贴板!
ExampleCom International 将相同的拓扑设计用于其所有地方。但是,欧洲本地化存储以下分支的数据的主副本:
-
dc=com
root 条目 -
dc=exampleCom,dc=com
下的 I intranet -
dc=exampleNet,dc=com
下的 extranet
下图显示了本地欧洲的数据库拓扑:
图 8.9. ExampleCom Europe 的数据库拓扑
l=Europe
数据库存储 dc=exampleCom,dc=com
和 dc=com
条目的主要副本。
数据库链接 1
和 数据库链接 2
指向存储在每个国家的数据库。例如,在 l=USA
分支下收到的数据的示例Com Europe 服务器收到的操作请求由美国服务器上的数据库链接串联。有关数据库链接和链的更多信息,请参阅使用链。
欧洲服务器包含 extranet 数据的主要副本。extranet 数据以以下方式存储三个数据库:
-
数据库 1
存储o=suppliers
分支的主要副本。 -
数据库 2
存储o= partners
分支的主要副本。 -
数据库 3
存储ou=groups
分支的主要副本。
下图显示了 extranet 的数据库拓扑:
图 8.10. ExampleCom International Extranet 的数据库拓扑
8.2.4.2. ExampleCom International 的服务器拓扑 复制链接链接已复制到粘贴板!
ExampleCom International 开发以下类型的服务器拓扑:
企业内部网的拓扑。ExampleCom 决定拥有三个数据中心,每个主要地点分别对应一个:欧洲、美国和亚太地区。每个数据中心包含以下服务器:
- 两个供应商服务器。
- 两个 hub 服务器。
- 三个消费者服务器。
- 合作伙伴 extranet 的拓扑。
下图显示了 ExampleCom Europe 数据中心的架构:
图 8.11. ExampleCom Europe 的服务器拓扑
欧洲数据中心包含 ExampleCom extranet 的主要副本。此数据复制到美国数据中心的两个消费者服务器,以及 Asia 数据中心中的两个消费者服务器。总体而言,ExampleCom 需要十个服务器来支持 extranet。
下图显示了 Europe 数据中心中 ExampleCom extranet 的服务器架构:
图 8.12. ExampleCom International extranet 的服务器拓扑
hub 服务器将数据复制到每个数据中心的两个消费者服务器中:欧洲、美国和 Asia。
8.2.5. 跨国企业复制设计 复制链接链接已复制到粘贴板!
在为目录设计复制时,Com International 会考虑以下点:
- 数据由本地管理。
- 网络连接的质量因站点到站点而异。
- 数据库链接用于连接远程服务器上的数据。
- 包含数据的只读副本的 hub 服务器用于将数据复制到消费者服务器。
hub 服务器位于启用了目录的本地应用程序,如邮件服务器或 Web 服务器。
要让供应商服务器专注于写操作,只有 hub 服务器执行复制。
当 ExampleCom 扩展并需要添加更多消费者服务器时,额外的消费者不会影响供应商服务器的性能。
multi-supplier 架构
对于 ExampleCom intranet,每个位置都存储其数据的主副本,并使用数据库链接将数据链接到其他本地实体中的数据。
对于其数据的主要副本,每个本地复制架构都使用多层次复制架构。
下图显示了本地欧洲的多层次架构,其中包括 dc=exampleCom,dc=com
和 dc=com
分支:
图 8.13. ExampleCom Europe 的多层次架构
每个地方都包含两个供应商,它们共享该站点的数据的主副本。每个地方都负责其数据的主副本。
使用多层次架构可确保数据的可用性,并帮助平衡由每个供应商服务器管理的工作负载。
要降低总失败的风险,ExampleCom 在每个站点使用多个读写供应商目录服务器。
下图显示了欧洲和美国两个供应商服务器的两个供应商服务器之间的交互:
图 8.14. ExampleCom Europe 和 ExampleCom USA 的 multi-supplier 架构
ExampleCom USA 和 ExampleCom Asia 之间以及 ExampleCom Europe 和 ExampleCom Asia 之间存在相同的关系。
8.2.6. 跨国企业的安全设计 复制链接链接已复制到粘贴板!
ExampleCom International 使用以前的安全设计添加以下访问控制来支持其新的跨国:
- ExampleCom 为 intranet 的根目录添加常规 ACI,在每个国家/地区创建更严格的 ACI,以及每个国家下的分支。
ExampleCom 决定使用宏 ACI 来最小化目录中的 ACI 数量。
ExampleCom 使用宏代表 ACI 中的目标或绑定规则部分的 DN。当目录获得传入的 LDAP 操作时,ACI 宏与 LDAP 操作目标的资源匹配。如果发生匹配项,Directory 服务器会将宏替换为目标资源的 DN 的值。
有关宏 ACI 的更多信息,请参阅使用宏访问控制说明。
ExampleCom 添加以下访问控制来支持其 extranet:
- ExampleCom 决定对所有外网活动使用基于证书的身份验证。登录 extranet 时,用户需要数字证书。目录存储证书。因此,用户可以通过查找保存在 目录中的公钥来发送加密的电子邮件。
- ExampleCom 创建一个 ACI,用于禁止对 extranet 进行匿名访问。这样可防止 extranet 免受拒绝服务攻击。
- ExampleCom 希望更新目录数据,使其仅来自 ExampleCom-hosted 应用。这意味着,使用 extranet 的合作伙伴和供应商只能使用 ExampleCom 提供的工具。通过将 extranet 用户限制为 ExampleCom 首选工具,ExampleCom 管理员可以使用审计日志来跟踪目录的使用,并限制 ExampleCom International 之外的 extranet 用户可能引入的问题类型。