7.7. 设计访问控制
在决定身份验证方案后,决定如何使用这些方案来保护目录中所含的信息。访问控制可以指定某些客户端有权访问特定信息,而其他客户端则不能访问。
使用一个或多个 访问控制列表 (ACL)来定义访问控制。目录 ACL 由一个或多个 访问控制信息 (ACI)语句组成,允许或拒绝权限,如读、写、搜索和比较,与指定的条目及其属性进行比较。
使用 ACL,您可以在目录树的任何级别上设置权限:
- 整个目录
- 目录的特定子树
- 目录中的特定条目
- 特定的一组条目属性
- 任何与给定 LDAP 搜索过滤器匹配的条目
另外,您可以为特定用户、属于特定组的所有用户或目录的所有用户设置权限。您可以定义网络位置的访问,如 IP 地址(IPv4 或 IPv6)或 DNS 名称。
7.7.1. 关于 ACI 格式 复制链接链接已复制到粘贴板!
在设计安全策略时,您需要了解 ACI 在目录中如何表示,以及您可以设置的权限。
目录 ACI 使用以下通用形式:
target permission bind_rule
ACI 变量有以下描述:
- 目标
- 指定条目,通常是子树,即 ACI 目标、其目标属性或两者。目标标识 ACI 应用到的目录元素。ACI 只能将一个条目为目标,但可以针对多个属性。此外,目标还可以包含 LDAP 搜索过滤器。您可以为包含通用属性值的广泛分散条目设置权限。
- 权限
- 标识 ACI 集合的实际权限。权限变量指出 ACI 允许或拒绝特定类型的目录访问,如读取或搜索,到指定的目标。
- 绑定规则
- 标识权限应用到的绑定 DN 或网络位置。绑定规则也可以指定 LDAP 过滤器,如果该过滤器被评估为绑定客户端应用程序,则 ACI 应用到客户端应用程序。
因此,对于目录对象目标,如果绑定规则为 true,ACI 允许或拒绝权限。
权限和绑定规则被设置为对,每个目标可以有多个权限绑定规则对。您可以有效地为任何给定目标设置多个访问控制。例如:
target (permission bind_rule)(permission bind_rule) ...
7.7.1.1. 目标 复制链接链接已复制到粘贴板!
ACI 可以以条目上的目录条目和属性为目标。
定位目录条目包括该条目及其在权限范围内的所有子条目。如果没有为 ACI 显式定义目标条目,则 ACI 目标到包含 ACI 语句的目录条目。ACI 只能以一个条目为目标,或者只有与单个 LDAP 搜索过滤器匹配的条目。
目标属性将权限仅应用到属性值的子集。当您以一组属性为目标时,指定 ACI 目标或 ACI 不明确目标的属性。排除目标设置权限中的属性,但对象类结构允许的一些属性。
7.7.1.2. 权限 复制链接链接已复制到粘贴板!
权限可以允许或拒绝访问。避免拒绝权限,请参阅 允许或拒绝访问
权限可以是在目录服务上执行的任何操作:
| 权限 | 描述 |
|---|---|
| 读 | 指明用户是否可以读取目录数据。 |
| 写 | 指明用户是否可以更改或创建目录。此外,此权限允许用户删除目录数据,但不能删除条目本身。但是,要删除整个条目,用户必须拥有删除权限。 |
| 搜索 | 指明用户是否可以搜索目录数据。这与 read 权限不同,如果用户作为搜索操作的一部分返回,则允许用户查看目录数据。
例如,如果您允许搜索通用名称( |
| 比较 |
指明用户是否可以比较数据。比较权限表示搜索功能,但 Directory 服务器不会返回搜索实际目录信息。相反,Directory 服务器会返回一个简单的布尔值,指示比较值是否匹配。使用 compare 操作在目录身份验证期间匹配 |
| 自我写入 | 仅对组管理使用自我写入权限。使用这个权限,用户可以向组中添加或从组中删除自己。 |
| 添加 | 指明用户可以在目标条目下创建子条目。 |
| 删除 | 指明用户是否可以删除目标条目。 |
| Proxy | 表示用户可以使用除 Directory Manager 之外的任何其他 DN 访问此 DN 的权限的目录。 |
7.7.1.3. 绑定规则 复制链接链接已复制到粘贴板!
绑定规则定义 ACI 应用到的绑定 DN (用户)。它还可以指定 bind 属性,如当天或 IP 地址的时间。
另外,轻松绑定规则,使 ACI 仅适用于用户自己的条目。用户可以更新自己的条目,而无需运行更新另一个用户条目的风险。
绑定规则指示 ACI 适用时的以下情况:
- 如果绑定操作到达特定的 IP 地址(IPv4 或 IPv6)或者 DNS 主机名。您可以使用它来强制从给定机器或网络域进行所有目录更新。
- 如果用户匿名绑定。为匿名绑定设置权限意味着该权限适用于绑定到该目录的任何人。
- 对于成功绑定到该目录的任何人。在阻止匿名访问时,您可以使用它来允许常规访问。
- 如果用户已绑定为条目的直接父项。
- 如果用户满足特定的 LDAP 搜索标准。
目录服务器为绑定规则提供以下关键字:
- 父
- 如果绑定 DN 是直接父条目,则绑定规则为 true。您可以授予允许目录条目管理其直接子条目的特定权限。
- Self
- 如果绑定 DN 与请求访问的条目相同,则绑定规则为 true。您可以授予特定权限,以允许个人更新自己的条目。
- All
- 对于成功绑定到该目录的任何人,绑定规则是 true。
- Anyone
- 每个人都绑定规则都是 true。使用此关键字来允许或拒绝匿名访问。