11.8.4. 在管理接口里使用 LDAP 进行验证
- 创建一个到 LDAP 服务器的转出连接。
- 创建一个启用 LDAP 的安全区。
- 在管理接口里引用新的安全区。
LDAP 转出连接允许下列属性:
表 11.4. LDAP 转出连接的属性
| 属性 | Required | 描述 |
|---|---|---|
url | 是 |
目录服务器的 URL 地址。
|
search-dn | 否 |
授权执行搜索的用户的全限定可区分名称(Distinguished Name,DN)。
|
search-credentials | 否 |
用户授权执行搜索的密码。
|
initial-context-factory | 否 |
当建立连接时使用的初始上下文。默认为
com.sun.jndi.ldap.LdapCtxFactory。
|
security-realm | 否 |
为了获得建立连接时所需的已配置的
SSLContext 而引用的安全区。
|
例 11.7. 添加 LDAP 转出连接
- 搜索 DN:
cn=search,dc=acme,dc=com - 搜索凭证:
myPass - URL:
ldap://127.0.0.1:389
/host=master/core-service=management/security-realm=ldap_security_realm:add
/host=master/core-service=management/ldap-connection=ldap_connection/:add(search-credential=myPass,url=ldap://127.0.0.1:389,search-dn="cn=search,dc=acme,dc=com")
管理接口可以针对 LDAP 服务器而不是默认的基于属性文件的安全区进行验证。LDAP 验证器将首先建立一个和远程目录服务器的连接,然后使用传入验证系统的用户名来执行搜索以找到 LDAP 记录的全限定可区分名称(Distinguished Name,DN)。新的连接将以用户的 DN 为凭证以及用户提供的密码来建立。如果这个针对 LDAP 服务器的验证成功,DN 就被证明为有效的。
- connection
outbound-connections里定义的连接的名称,用来连接 LDAP 目录。- advanced-filter
- 用于搜索基于提供的用户 ID 的用户的全限定过滤器。这个过滤器必须包含下列格式的变量:
{0}。之后它会被用户提供的用户名替代。 - base-dn
- 用户开始搜索的上下文的可区分的名称。
- recursive
- 搜索是否应该在 LDAP 目录树里进行递归,或者只搜索指定的上下文。默认为
false。 - user-dn
- 保存可区分名称的用户的属性。它会被用来测试验证。默认为
dn。 - username-attribute
- 搜索用户使用的属性的名称。根据用户输入的用户名来匹配指定的属性,这个过滤器执行简单的搜索。
- allow-empty-passwords
- 这个属性确定是否接受空的密码。这个属性的默认值是
false。 - 您必须指定
username-filter或advanced-filter。 advanced-filter属性包含一个使用标准 LDAP 语法的过滤器查询,例如:(&(sAMAccountName={0})(memberOf=cn=admin,cn=users,dc=acme,dc=com))
例 11.8. 代表启用了 LDAP 的安全区的 XML 片段
- connection -
ldap_connection - base-dn -
cn=users,dc=acme,dc=com. - username-filter -
attribute="sambaAccountName"
<security-realm name="ldap_security_realm">
<authentication>
<ldap connection="ldap_connection" base-dn="cn=users,dc=acme,dc=com">
<username-filter attribute="sambaAccountName" />
</ldap>
</authentication>
</security-realm>
警告
例 11.9. 添加 LDAP 安全区
/host=master/core-service=management/security-realm=ldap_security_realm/authentication=ldap:add(base-dn="DC=mycompany,DC=org", recursive=true, username-attribute="MyAccountName", connection="ldap_connection")
在创建了安全区后,你需要在管理接口的配置里引用它。管理接口将使用安全区来进行 HTTP digest 验证。
例 11.10. 应用安全区到 HTTP 接口里
/host=master/core-service=management/management-interface=http-interface/:write-attribute(name=security-realm,value=ldap_security_realm)
例 11.11. 应用安全区到 Native 接口
/host=master/core-service=management/management-interface=native-interface/:write-attribute(name=security-realm,value=ldap_security_realm)

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.