← All resources

Service Management

Role-Based Access Control: A Practical Guide for IT Teams

By the Pendravo team · August 13, 2026

A four-role starting point for a small IT team, with the access each role is granted shown alongside it.

A simple, four-role starting point most small IT teams can put in place in an afternoon.

Role-based access control sounds like something invented by a company with a security team and a compliance department down the hall. The idea underneath the acronym is smaller than that. Instead of deciding, one person at a time, what each individual can see and do, you define a handful of roles and put people in them.

If your company has grown past the point where "everyone can see everything" feels comfortable, this is worth doing properly, even when the entire IT team is you and one other person.

Why Small Teams Skip It, and What It Costs Later

Most small teams start with no structure at all. Whoever set the system up has full access, and everyone else was added as they went, based on whatever they asked for at the time, with nobody recording why. At five people that is entirely fine. By thirty it has quietly become something else.

The failure mode is rarely dramatic. It is almost never an outsider breaking in. It is an old permission nobody removed: granted for a project that ended two years ago, attached to an account that changed hands twice since, and invisible because an over-privileged account doing something it should not have been able to do still looks, in the log, like a legitimate account doing legitimate work. That is also why this kind of problem tends to be found late rather than caught early.

The practical argument is simpler than the security one. Defining roles while you have thirty people is an afternoon. Reconstructing why forty individual permissions were granted, once nobody left on the team remembers, is a project nobody wants to own.

Start With Roles, Not With People

The common mistake is designing access around individuals. "Give Sarah access to this" rather than "anyone approving purchases gets access to this." Roles outlast people. When somebody leaves, or moves department, you move them out of a role instead of trying to reconstruct from memory which custom grants they accumulated over four years of one-off requests.

A reasonable starting point for a small company looks like this:

  • Administrator. Full configuration access. Two people at most, and ideally not the same person twice under different logins
  • Agent or fulfiller. Can see and resolve requests within their own area
  • Approver. Can approve requests and read the records that inform the decision, without being able to reconfigure the system
  • Requester. Can raise and track their own requests, and nothing else

Four is plenty to begin with. Split one in two later, when a real case demands it, rather than designing today for edge cases you are imagining.

Map Each Role to What It Actually Needs

This is the step that gets skipped, and it is the one doing the work. For each role, write down what it needs to see and do, rather than what is easiest to grant while you are in a hurry. "Can view all tickets" and "can view tickets assigned to their own team" are not variations on a theme. They are different grants, and the gap between them matters the first time genuinely sensitive information passes through the system.

A worked example from our own setup, since abstract advice on this is cheap. Declaring a major incident is not the same act as working one: the declaration fires stakeholder communication to people outside the team. So the ability to declare one is a separate role from general incident handling, held by the few people who own that communication, rather than something everyone on the service desk inherits by default. That is the whole exercise in miniature. You are looking for the actions whose consequences reach further than the screen they are performed on.

Groups Are the Other Half of the Answer

Roles describe what somebody does. Groups describe where they sit. Pair the two, because a finance approver and an HR approver hold the same level of authority over completely different records, and a role name alone cannot express that.
Roles describe what someone does, groups describe where they sit; the same Approver role scoped to Finance versus HR grants authority over completely different records. Groups also give you somewhere to send approvals that is not a named person. Route an approval to a group and it survives that person being on holiday, changing jobs or leaving, which is the difference between a process and a habit.

The Two Habits That Keep It True

A role structure decays without two recurring habits, and both are dull enough to be worth writing into a process rather than trusting to intention.

Two habits that keep role-based access working: revoke access the day someone leaves, and review who holds administrator access every quarter. The first is offboarding. Most of the risk here is not about who gets added, it is about who never gets removed. Make revocation a required step when somebody leaves or changes role, on the same day, from a written checklist however short. Contractors and temporary staff need the same discipline and usually get less of it, because their access is the easiest to forget once a project wraps up.

The second is a review on a schedule. Once a quarter, read the list of who holds administrator access and ask whether each name still needs it. This is the most commonly skipped step in the whole exercise, and it is exactly why companies discover months after somebody left that the account was still live.

When This Is Premature

We sell a platform with roles and groups built into it, so here is the case against doing this yet.

Below roughly ten people, where everyone can name everyone else's job without thinking, a formal role structure mostly generates administration. You will spend an afternoon designing it and the next six months granting exceptions to it, because the real answer at that size genuinely is that everybody needs to see most things. Write down who holds administrator access, make sure it is more than one person and fewer than everyone, and come back to the rest when a department appears or the first person leaves.

The trigger is not a headcount so much as a moment: the first time somebody asks who can see a particular record and the honest answer is that you would have to check. At that point this stops being hygiene and starts being useful.

The Bad Day It Is Actually For

Imagine the bad day, because it makes the value concrete. A record goes missing, or turns up somewhere it should not have, and you need to establish who could have touched it. Without roles, the honest answer is usually "most people", because access accumulated informally over years with no consistent logic behind it. With roles, it is a short list you can produce in minutes, along with when each person held the role.

That is the difference between a bad afternoon and a genuine crisis, and it is also what an insurer, an auditor or a nervous customer is really asking for when they ask about access control.

For what it is worth, ours works the way this article describes because we needed it to first. Three access levels decide whether somebody administers the platform, works in it, or only raises requests through the portal, with requesters free and unlimited. Functional roles sit on top of that to unlock particular applications, membership of a group grants its roles to everyone in it, and a person's effective access is what their own roles and their groups' roles add up to. Our pricing reflects the same split, which is the honest reason the distinction exists: the people resolving work are the ones we charge for.

If you are putting this in place for the first time, the natural companion piece is how to build a service catalog without hiring a consultant. Knowing which requests you handle, and who handles them, makes the role design mostly a matter of writing down what is already true.