我正在寻找构建 LDS 目录的指导,并仅寻找针对域服务的最佳实践。这里有人有关于我们在目录中设置的层次结构的参考吗?
我对一些小事感兴趣,比如是否使用“DC”标签或“O”标签等来命名顶级节点。例如,当我们实际上没有使用任何特定域时,它应该是“DC=CompanyName,DC=local”吗?它不应该是“O=CompanyName”吗?我感兴趣的是这个问题是否值得考虑。
答案1
我通常只对根 DN 使用 DC 标签。例如:
DC=something,DC=example,DC=COM
我还将根的一部分与域进行匹配(在本例中为 example.com)。这只是一种习惯,不会帮助或阻碍您使用代理帐户的能力。
我能想到的每一个支持 LDAP 的产品都允许您指定用户所在路径的完整 DN。因此,您使用的组件并不像结构本身(称为目录信息树或 DIT)那么重要。您基本上必须平衡两件事:
- 扁平结构是面向未来的
- 深度嵌套的结构允许更大的控制(委派、用户隔离)
扁平的 DIT,例如所有用户都属于:
OU=Users,DC=something,DC=example,DC=COM
适合任何组织结构,但会牺牲使用 LDS 在应用程序间隔离用户的能力。
以下是示例。如果您有两个应用程序,则可以:
OU=Application_A,OU=Users,DC=something,DC=example,DC=COM
OU=Application_B,OU=Users,DC=something,DC=example,DC=COM
但是如果用户Application_A
想要使用会发生什么Application_B
?对于组也是如此:
OU=Groups_A,OU=Users,DC=something,DC=example,DC=COM
OU=Groups_B,OU=Users,DC=something,DC=example,DC=COM
简而言之,不要担心组件,而要考虑一下你的 DIT 如何适应不同的重用场景。
答案2
dc=
要理解 Active Directory 中和之间的区别o=
,您需要记住 Active Directory 是一个LDAP 实现其核心。
DC=
在 LDAP 用语中指定领域组件. 应该使用,如果并且仅当您正在定义 DNS 空间中存在的某个东西。
如果您的组织foobarco.example.com
在 DNS 中,则将其用作根是完全合法的dc=foobarco,dc=example,dc=com
。
O=
在 LDAP 用语中指定组织。应在定义存在于 DNS 等其他层次结构之外的组织项目时使用它。
例如,如果foobarco.example.com
有一家名为 Shiny Widgets 的子公司,它有自己的 AD 域,但没有自己的 DNS 域,则您可以将该树的根设为o=ShinyWidgets,dc=foobarco,dc=example,dc=com
。
通常假设 AD 域将具有相应的 DNS 命名空间,因此您在 Active Directory 中看到的最常见配置是树根将由一系列D
主组件定义C
。