SERVICENOW ADMINISTRATION

Users, Groups and Roles: Practical Guide

Understand how ServiceNow access is organised and how users, groups and roles work together.

User and group fundamentalsRole inheritancePractical access examples
HOW THE SOLUTION FLOWS

How access reaches a user

Access is easiest to support when users receive capability through governed group membership instead of many direct roles.

01User
02Group membership
03Group role
04Contained roles
05ACL decision

The simple model

A user represents a person who can access the platform. A group brings users together for a shared responsibility. A role grants permission to use platform capabilities.

  • User: who is using the platform
  • Group: which team the user belongs to
  • Role: what the user is allowed to do

How roles reach a user

A role can be assigned directly to a user, but group-based assignment is easier to govern. When a role is assigned to a group, every active group member receives that role through inheritance.

  • Prefer group-based role assignment
  • Avoid unnecessary direct roles
  • Review group membership regularly

Interview scenario

If a fulfiller moves from one support team to another, update the group membership instead of repeatedly changing individual roles. This keeps access aligned with team responsibility and makes auditing easier.

Implementation steps

Follow these steps in a personal developer or sub-production instance. Validate backend names and choice values before using the solution in production.

01

Create a responsibility-based group

WHERE: User Administration > Groups

Use a business name such as Network Support, not a person's name. Add manager, email and description.

02

Assign the minimum role to the group

WHERE: Group Roles related list

Add only the role required for the team's work. Review any roles contained inside it.

03

Add users through membership

WHERE: Group Members related list

Add active users and confirm manager approval. Avoid assigning the same role directly to each user.

04

Test with impersonation

WHERE: Impersonate User

Open the required module and records as a real group member. Also test a user who should not have access.

05

Review and remove access

WHERE: Access review process

Deactivate obsolete membership and document temporary access expiry.

Find active members of a support group

Run as a background script in a safe sub-production instance. The script reads group membership; it does not change access.

javascript
var member = new GlideRecord('sys_user_grmember');
member.addQuery('group.name', 'Network Support');
member.addQuery('user.active', true);
member.query();

while (member.next()) {
    gs.info(member.user.getDisplayValue());
}

How to test it

  1. 1Group member receives the required module
  2. 2Non-member is denied
  3. 3Direct URL is protected by ACL
  4. 4Inactive member no longer receives access
  5. 5Contained roles are understood
  6. 6Temporary access is removed on time

Common mistakes

  • Creating one role for every team
  • Assigning roles directly to hundreds of users
  • Using UI visibility as security
  • Deleting groups before moving open tasks
  • Testing only with admin
INTERVIEW PRACTICE

Can you explain this solution under pressure?

Practice real scenarios covering this topic, architecture decisions, troubleshooting and security.

Open 64+ scenarios →
Share this hands-on guide

Send it to your students, colleagues or ServiceNow community.

Continue learning with Ravi.

Explore more implementation guides or request the next topic.