Skip to main content
User guide

Role-based access control (RBAC)

Delegating administration: the permission → privilege → role layers, what the shipped roles can do, giving a help desk a reset-password-only account, and how the admins group relates to RBAC.

RBAC decides what an administrator may change in the directory; it has nothing to do with HBAC (which hosts a user may log in to). Three layers:

LayerGranularityExample
permissionone ACI: which operation on which attributes of which object typeSystem: Change User password
privilegea set of permissionsModify Users and Reset passwords
rolea set of privileges, granted to users / groups / hosts / serviceshelpdesk

The UI manages roles and privileges; permissions are CLI only (ipa permission-find), 300+ are shipped and rarely touched. Not gated by a licence module.

Roles

Shipped roles

RoleCan
helpdeskedit user attributes, reset passwords, change group membership
User Administratorcreate / delete / edit users and groups
IT Specialistmanage hosts, host groups, services, automount, netgroups
IT Security Specialistmanage HBAC, sudo, SELinux maps, password policies
Security Architectmanage RBAC itself, replication, trusts, certificates
Enrollment Administratorenrol hosts (the account ipa-client-install uses)
Subordinate ID Selfservice Userrequest one's own subordinate IDs

The admins group bypasses RBAC: it is the directory's super-group and may change anything. Before adding someone to admins, check whether a role covers the need.

Role detail

Role

The Privileges tab lists the privileges the role contains; Members lists the users, groups, hosts and services holding it. A help-desk account that can only reset passwords: put the help-desk group into the helpdesk role's members and leave admins alone.

Hosts and services can hold roles too: grant Enrollment Administrator to a bastion's host/ principal and automation on that machine enrols new hosts with its own keytab instead of a stored admin password.

Privileges

Privileges

38 shipped, grouped by object type (DNS Administrators, Certificate Administrators, Automount Administrators…). A custom privilege = a chosen set of permissions, then placed in a role. A common one, "read-only auditor": a privilege holding only System: Read * permissions (ipa permission-find --type=user --right=read).

Self-service and delegation

Users editing their own attributes (password, phone, SSH keys) go through "self-service permissions", not roles; delegation rules let one group edit chosen attributes of another group. Both are CLI only: ipa selfservice-find, ipa delegation-find.

Boundaries

  • Role membership changes take effect immediately, no console re-login; cached tickets are unaffected because RBAC is evaluated server-side per request.
  • RBAC covers IPA API / LDAP writes only; filesystem, sudo and AD-side rights are separate.
  • Deleting a privilege does not clean roles that referenced it; the role just has one entry fewer.

On this page