18.11. 定义绑定规则
- dns
- 组成员资格或分配的角色
- 条目必须绑定的位置
- 在绑定过程中必须使用的身份验证类型
- 绑定发生的时间或天数
(target_rule) (version 3.0; acl "ACL_name"; permission_rule bind_rules;)
(target_rule) (version 3.0; acl "ACL_name"; permission_rule bind_rules;)
语法
keyword comparison_operator "expression"
keyword comparison_operator "expression"
- 关键字 :设置绑定操作的类型。请参阅 第 18.11.1 节 “常用的绑定规则”。
- compare_operator: Valid 值为 = 和 !=,并且指明目标是否为表达式中指定的对象。如果关键字支持其他比较运算符,则会在对应的部分中提到。
- 表达式 :设置表达式,且必须用引号括起来。表达式本身取决于您使用的关键字。
18.11.1. 常用的绑定规则 复制链接链接已复制到粘贴板!
- 用户DN :请参阅 第 18.11.1.1 节 “定义基于用户访问”。
- groupdn :请参阅 第 18.11.1.2 节 “定义基于组的访问”。
18.11.1.1. 定义基于用户访问 复制链接链接已复制到粘贴板!
userdn comparison_operator "ldap:///distinguished_name || ldap:///distinguished_name || ..."
userdn comparison_operator "ldap:///distinguished_name || ldap:///distinguished_name || ..."
- LDAP 过滤器:请参阅 第 18.11.1.1.2 节 “将 userdn 关键字与 LDAP 过滤器一起使用”。
- 任何 别名:请参阅 第 18.11.1.1.3 节 “授予匿名访问权限”。
- 所有 别名:请参阅 第 18.11.1.1.4 节 “授予对经过身份验证的用户的访问权限”。
- 自我 别名:请参阅 第 18.11.1.1.5 节 “允许用户访问自己的条目”。
- 父 别名:请参阅 第 18.11.1.1.6 节 “设置用户级条目的访问权限”。
18.11.1.1.1. 使用带有 userdn 关键字的 DN 复制链接链接已复制到粘贴板!
userdn comparison_operator ldap:///distinguished_name
userdn comparison_operator ldap:///distinguished_name
例 18.12. 使用带有 userdn 关键字的 DN
manager
属性:
18.11.1.1.2. 将 userdn 关键字与 LDAP 过滤器一起使用 复制链接链接已复制到粘贴板!
userdn comparison_operator "ldap:///distinguished_name??scope?(filter)"
userdn comparison_operator "ldap:///distinguished_name??scope?(filter)"
例 18.13. 将 userdn 关键字与 LDAP 过滤器一起使用
department
的属性被设置为 Human Resources,以便可以更新 ou=People,dc=example,dc=com 条目中的用户的 homePostalAddress
属性:
18.11.1.1.3. 授予匿名访问权限 复制链接链接已复制到粘贴板!
- 没有绑定 DN 和密码
- 有效绑定 DN 和密码
userdn comparison_operator "ldap:///anyone"
userdn comparison_operator "ldap:///anyone"
例 18.14. 授予匿名访问权限
sn
, givenName
, 和 telephoneNumber
属性:
18.11.1.1.4. 授予对经过身份验证的用户的访问权限 复制链接链接已复制到粘贴板!
userdn comparison_operator "ldap:///all"
userdn comparison_operator "ldap:///all"
例 18.15. 授予对经过身份验证的用户的访问权限
18.11.1.1.5. 允许用户访问自己的条目 复制链接链接已复制到粘贴板!
userdn comparison_operator "ldap:///self"
userdn comparison_operator "ldap:///self"
例 18.16. 允许用户访问自己的条目
userPassword
属性:
18.11.1.1.6. 设置用户级条目的访问权限 复制链接链接已复制到粘贴板!
userdn comparison_operator "ldap:///parent"
userdn comparison_operator "ldap:///parent"
例 18.17. 设置用户级条目的访问权限
manager
属性,如 cn=example,cn=user,ou=People,dc=example,dc=com :
18.11.1.2. 定义基于组的访问 复制链接链接已复制到粘贴板!
成员
uniqueMember
memberURL
memberCertificateDescription
groupdn comparison_operator "ldap:///distinguished_name || ldap:///distinguished_name || ..."
groupdn comparison_operator "ldap:///distinguished_name || ldap:///distinguished_name || ..."
- A DN.请参阅 第 18.11.1.2.1 节 “使用带有 groupdn 关键字的 DN”。
- LDAP 过滤器。请参阅 第 18.11.1.2.2 节 “将 groupdn 关键字与 LDAP Filter 搭配使用”。
18.11.1.2.1. 使用带有 groupdn 关键字的 DN 复制链接链接已复制到粘贴板!
groupdn comparison_operator ldap:///distinguished_name
groupdn comparison_operator ldap:///distinguished_name
例 18.18. 使用带有 groupdn 关键字的 DN
manager
属性:
18.11.1.2.2. 将 groupdn 关键字与 LDAP Filter 搭配使用 复制链接链接已复制到粘贴板!
groupdn comparison_operator "ldap:///distinguished_name??scope?(filter)"
groupdn comparison_operator "ldap:///distinguished_name??scope?(filter)"
例 18.19. 将 groupdn 关键字与 LDAP Filter 搭配使用
manager
属性设为 example,更新 ou=People,dc=example,dc=com 中条目的 homePostalAddress
:
18.11.2. 进一步绑定规则 复制链接链接已复制到粘贴板!
18.11.2.1. 基于值匹配定义访问 复制链接链接已复制到粘贴板!
userattr comparison_operator "attribute_name#bind_type_or_attribute_value
userattr comparison_operator "attribute_name#bind_type_or_attribute_value
18.11.2.1.1. 使用 USERDN Bind Type 复制链接链接已复制到粘贴板!
userattr comparison_operator "attribute_name#USERDN"
userattr comparison_operator "attribute_name#USERDN"
例 18.20. 使用 USERDN Bind Type
telephoneNumber
属性的所有权限:
manager
属性中存储的 DN 匹配,则之前的 ACI 会评估为 true。
18.11.2.1.2. 使用 GROUPDN Bind Type 复制链接链接已复制到粘贴板!
userattr comparison_operator "attribute_name#GROUPDN"
userattr comparison_operator "attribute_name#GROUPDN"
例 18.21. 使用 GROUPDN Bind Type
owner
属性中指定的组的成员,则之前的 ACI 被评估为 true。
userattr comparison_operator "ldap:///distinguished_name?attribute_name#GROUPDN"
userattr comparison_operator "ldap:///distinguished_name?attribute_name#GROUPDN"
18.11.2.1.3. 使用 ROLEDN Bind Type 复制链接链接已复制到粘贴板!
userattr comparison_operator "attribute_name#ROLEDN"
userattr comparison_operator "attribute_name#ROLEDN"
例 18.22. 使用 ROLEDN Bind Type
cn=Administrators,dc=example,dc=com
角色的用户搜索和读取 ou=People,dc=example,dc=com 中的条目的 manager
属性:
18.11.2.1.4. 使用 SELFDN Bind Type 复制链接链接已复制到粘贴板!
userattr comparison_operator "attribute_name#SELFDN"
userattr comparison_operator "attribute_name#SELFDN"
例 18.23. 使用 SELFDN Bind Type
ipatokenOwner
属性中设置了绑定用户的 DN:
18.11.2.1.5. 使用 LDAPURL 绑定类型 复制链接链接已复制到粘贴板!
userattr comparison_operator "attribute_name#LDAPURL"
userattr comparison_operator "attribute_name#LDAPURL"
例 18.24. 使用 LDAPURL 绑定类型
aciurl
属性设置为 ldap:///ou=People,dc=example,dc=com??one? (uid=user*) 的用户对象授予读和搜索权限:
18.11.2.1.6. 使用 userattr Keyword with Inheritance 复制链接链接已复制到粘贴板!
userattr comparison_operator "parent[inheritance_level].attribute_name#bind_type_or_attribute_value
userattr comparison_operator "parent[inheritance_level].attribute_name#bind_type_or_attribute_value
- inheritance_level: Comma 分隔列表,指示目标下多少级别继承 ACI。您可以在目标条目下包括 5 级(0、1、2、3、4)。零(0)表示目标条目。
- attribute_name : userattr 或 groupattr 关键字目标的属性。
- bind_type_or_attribute_value :设置属性值或绑定类型,如 USERDN。
userattr = "parent[0,1].manager#USERDN"
userattr = "parent[0,1].manager#USERDN"
例 18.25. 使用 userattr Keyword with Inheritance
owner
属性中设置,以及第一个包括 cn=mail,cn=Profiles,dc=example,dc=com 和 cn=news,cn=Profiles,dc=example,dc=com 的子条目级别:
18.11.2.2. 定义来自特定 IP 地址或范围的访问 复制链接链接已复制到粘贴板!
ip comparison_operator "IP_address_or_range"
ip comparison_operator "IP_address_or_range"
例 18.26. 在绑定规则中使用 IPv4 地址范围
192.0.2.0/24
网络访问 dc=example,dc=com 条目:
例 18.27. 在绑定规则中使用 IPv6 地址范围
2001:db8::/64
网络访问 dc=example,dc=com 条目:
18.11.2.3. 定义来自特定主机或域的访问 复制链接链接已复制到粘贴板!
dns comparison_operator "host_name_or_domain_name"
dns comparison_operator "host_name_or_domain_name"
例 18.28. 定义来自特定主机的访问
client.example.com
主机访问 dc=example,dc=com 条目:
例 18.29. 定义来自特定域的访问
example.com
域中的所有主机访问 dc=example,dc=com 条目:
18.11.2.4. 在连接中需要 Certain Security 复制链接链接已复制到粘贴板!
ssf comparison_operator key_strength
ssf comparison_operator key_strength
- = (等于)
- ! (不等于)
- & lt; (无)
- > (greater than)
- & lt;= (小于或等于)
- >= (同意或等于)
例 18.30. 在连接中需要 Certain Security
userPassword
属性:
18.11.2.5. 在 Week 的特定天定义访问 复制链接链接已复制到粘贴板!
dayofweek comparison_operator "comma-separated_list_of_days"
dayofweek comparison_operator "comma-separated_list_of_days"
例 18.31. 授予 Week 特定天的访问权限
uid=用户,ou=People,dc=example,dc=com
用户条目,以绑定到 Saturdays 和 Sundays 上的服务器:
18.11.2.6. 在一天的特定时间定义访问 复制链接链接已复制到粘贴板!
timeofday comparison_operator "time"
timeofday comparison_operator "time"
- = (等于)
- ! (不等于)
- & lt; (无)
- > (greater than)
- & lt;= (小于或等于)
- >= (同意或等于)
例 18.32. 在一天的特定时间定义访问
uid=用户,ou=People,dc=example,dc=com
用户条目来绑定到 6pm 到 0am 之间的服务器:
18.11.2.7. 根据身份验证方法定义访问 复制链接链接已复制到粘贴板!
authmethod comparison_operator "authentication_method"
authmethod comparison_operator "authentication_method"
- none: 不需要身份验证并代表匿名访问。这是默认值。
- 简单 :客户端必须提供要绑定到目录的用户名和密码。
- SSL :客户端必须使用数据库、智能卡或其他设备的 TLS 证书绑定到目录。有关基于证书的身份验证的详情,请参考 第 9.9 节 “使用基于证书的客户端身份验证”。
- SASL :客户端必须通过简单身份验证和安全层(SASL)连接绑定到目录。当您在绑定规则中使用此验证方法时,还要指定 SASL 机制,如 EXTERNAL。
例 18.33. 仅为使用 EXTERNAL SASL 身份验证方法的连接启用访问
18.11.2.8. 根据角色定义访问 复制链接链接已复制到粘贴板!
roledn comparison_operator "ldap:///distinguished_name || ldap:///distinguished_name || ..."
roledn comparison_operator "ldap:///distinguished_name || ldap:///distinguished_name || ..."
例 18.34. 根据角色定义访问
nsRole
属性中设置的 cn=Human Resources,ou=People,dc=example,dc=com 角色的用户,搜索并读取 ou=People,dc=example,dc=com 中条目的 manager
属性:
18.11.3. 使用布尔值 Operator 合并绑定规则 复制链接链接已复制到粘贴板!
bind_rule_1 boolean_operator bind_rule_2...
bind_rule_1 boolean_operator bind_rule_2...
例 18.35. 使用布尔值 Operator 合并绑定规则
目录服务器评估布尔值 Operator
- 所有表达式从左到右。在以下示例中,首先评估 bind_rule_1 :
(bind_rule_1) OR (bind_rule_2)
(bind_rule_1) OR (bind_rule_2)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 从内部到最外的父表达式,首先是.在以下示例中,首先评估 bind_rule_2 和 bind_rule_3 秒:
(bind_rule_1) OR ((bind_rule_2) AND (bind_rule_3))
(bind_rule_1) OR ((bind_rule_2) AND (bind_rule_3))
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 不在 AND 或 OR 运算符之前。在以下示例中,首先评估 bind_rule_2 :
(bind_rule_1) AND NOT (bind_rule_2)
(bind_rule_1) AND NOT (bind_rule_2)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AND 和 OR 运算符没有优先级顺序。