跳到主要内容

基于角色的访问控制(RBAC)

管理员分权:权限、特权、角色三层,自带角色的能力范围,如何给帮助台一个只能重置密码的账号,以及 admins 组与 RBAC 的关系。

本页说明 IPA Server 下的 Role-based access control 页面组。RBAC 决定管理员能修改目录里的什么,与 HBAC(用户能登录哪台主机)无关。不受许可模块限制。

层粒度示例
权限(permission)一条 ACI:对哪类对象的哪些属性做什么操作System: Change User password
特权(privilege)一组权限Modify Users and Reset passwords
角色(role)一组特权,授予用户、组、主机、服务helpdesk

界面管理角色和特权两层。权限只能在命令行管理(ipa permission-find),自带 300 多条,一般不修改。

角色

自带角色

角色能力
helpdesk修改用户属性、重置密码、修改组成员
User Administrator创建、删除、修改用户与组
IT Specialist管理主机、主机组、服务、自动挂载、netgroup
IT Security Specialist管理 HBAC、Sudo、SELinux 映射、密码策略
Security Architect管理 RBAC 本身、复制、信任、证书
Enrollment Administrator为主机入域,ipa-client-install 使用的账号
Subordinate ID Selfservice User用户自行申请从属 ID

admins 组不经过 RBAC,它是目录里的超级组,可以修改任何内容。授予管理员权限时优先使用角色,不把用户加入 admins。

角色详情

角色详情

Privileges 页签是该角色包含的特权;Members 是持有该角色的用户、组、主机、服务。给帮助台一个只能重置密码的账号:把帮助台的组加入 helpdesk 角色的成员,不动 admins。

主机和服务也能作为角色成员。把 Enrollment Administrator 授予一台跳板机的 host/ 主体后,该机器上的自动化用自己的 keytab 为新机器入域,不需要保存管理员密码。

特权

特权

自带 38 条,按对象类型分(DNS Administrators、Certificate Administrators、Automount Administrators 等)。自定义特权是挑选一组权限,再放进角色。常见需求是只读审计员:创建只含 System: Read * 类权限的特权(ipa permission-find --type=user --right=read)。

自助与委派

用户修改自己的部分属性(密码、电话、SSH 公钥)由自助服务权限放行,不经过角色。委派规则(delegation)允许一组用户修改另一组用户的指定属性。两者只在命令行管理:ipa selfservice-find、ipa delegation-find。

边界

事项说明
生效时间角色成员变更立即生效,不需要重新登录管理台。RBAC 在服务端每次请求时判定,已缓存的票据不受影响
控制范围只覆盖 IPA API 和 LDAP 写操作。文件系统、sudo、AD 侧权限各自独立
删除特权不会从角色里自动移除引用,角色只是少一项

本页内容