2.2. 在目录服务器中安全地使用角色


在创建新角色时,请考虑用户是否可以从角色中轻松添加或删除自己。例如,您可以允许 Mountain Biking 相关组角色的用户轻松添加或删除自己。但是,您必须不允许分配了 marketing 角色的用户从角色中添加或删除自己。

一个潜在的安全风险是通过激活角色来激活用户帐户。Inactive 角色为其后缀定义了特殊的访问控制指令(ACI)。如果管理员允许用户自由地从角色中添加和删除自己,则这些用户可以从非活动角色中删除自己,以解锁其帐户。

例如,用户被分配一个受管角色。当 Directory 服务器使用帐户取消激活锁定此受管角色时,用户无法绑定到服务器,因为目录服务器为该用户计算 nsAccountLock 属性为 true。但是,如果用户已经绑定到目录服务器,且现在通过受管角色锁定,用户可以从其条目中删除 nsRoleDN 属性,并在没有指定限制 ACI 时解锁他自己。

要防止用户删除 nsRoleDN 属性,请根据角色类型使用以下 ACI:

  • 受管角色.对于属于受管角色成员的条目,请使用以下 ACI:

    aci: (targetattr="nsRoleDN")
    (targattrfilters= add=nsRoleDN:(!(nsRoleDN=cn=AdministratorRole,dc=example,dc=com)), del=nsRoleDN:(!(nsRoleDN=cn=nsManagedDisabledRole,dc=example,dc=com)))
    (version3.0;acl "allow mod of nsRoleDN by self but not to critical values"; allow(write) userdn=ldap:///self;)
  • 过滤的角色。保护作为过滤器一部分的属性(nsRoleFilter)。不要允许用户添加、删除或修改过滤角色使用的属性。如果 Directory 服务器计算 filter 属性的值,则必须保护可修改此过滤器属性值的所有属性。
  • 嵌套角色。嵌套角色可以包含过滤和管理的角色。因此,您必须为嵌套角色包含的角色的每个属性限制 ACI 中的修改操作。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部