Troubleshooting ServiceNow Instance Security and Access Control: A Practical Guide
Troubleshooting approach for instance security
Instance security includes user authentication (who is allowed in), authorization (what can they access), role-based access control (RBAC), and audit logging. When something breaks, users cannot access what they need, or security is compromised.
Use a symptom-led approach to diagnose and fix access issues.
Symptom: User cannot log in
A user tries to log in but is denied (invalid credentials, account locked, or system not recognizing them).
Diagnosis: check if the user account is active, if password is correct, if there is an account lock (too many failed attempts), or if SSO integration is working.
Fix: confirm credentials are correct (have user reset password if forgotten). Check if account is active (administrator console). If account is locked, enable it. If SSO is enabled, confirm SSO system is working (test login in SSO provider).
Symptom: User cannot access a table or record
User is logged in but cannot view or modify a specific table (HR data, financial data) or specific record.
Diagnosis: check if the user has the required role. Check if access control lists (ACLs) are preventing access. Check if field-level security is restricting visibility.
Fix: verify user has the required role (e.g., to access HR data, user needs hr_user role). Check ACLs for the table (open the table and review ACL rules). If ACLs are blocking access, update them to allow the role. Check field-level security if specific fields are hidden.
Symptom: User has too much access (security concern)
A user has roles or access they should not have (access to financial data they do not need, or admin access when they should have limited access).
Diagnosis: review the user’s roles and record-level access. Identify roles that are too privileged or not needed for their job.
Fix: remove unnecessary roles. If a role is overly broad (for example, admin_user gives too much access for their job), create a more restricted role. Remove record-level access that is not needed.
Symptom: Access control list (ACL) problems
ACLs are configured but do not seem to be working as expected: users with access do not have it, or users without access have it.
Diagnosis: review the ACL rule (who does it apply to, what does it allow). Check the rule order (ACLs are evaluated in order; first match wins). Check if there are conflicting ACLs.
Fix: verify the ACL applies to the right role or user. Check that the permission (read, write, create, delete) is what you intended. If there are multiple ACLs, ensure they are ordered correctly and not conflicting. Test the ACL by logging in as a user with that role.
Symptom: Audit logging is not capturing changes
Changes are made to records but audit logs do not show who made the change or what changed.
Diagnosis: check if audit logging is enabled for the table. Some tables have audit logging off by default.
Fix: enable audit logging for the table (table properties > auditing). Specify which fields to audit if you want to audit only certain fields (cost, access level) rather than all fields. Review existing logs to see if they are being captured after enabling.
Symptom: Role inheritance or role dependencies not working
A user should have access based on role hierarchy (user has role A, which includes role B permissions) but access is not granted.
Diagnosis: check if role inheritance is set up correctly. Check if the user is in the parent role and the child role is configured.
Fix: verify the role hierarchy (role includes other roles). Verify the user has the parent role. Test that permissions from child roles are applied. Roles may need to be saved or the user session restarted for changes to take effect.
Symptom: SSO integration broken
Single Sign-On is configured but users cannot log in via SSO (authentication fails, or they cannot choose SSO option).
Diagnosis: check if SSO configuration in ServiceNow is correct (provider URL, certificate, mappings). Check if the SSO provider is working. Check if the network connection is available.
Fix: verify SSO configuration (tenant, provider URL, certificate are all correct). Test the SSO provider independently (can you log in to the SSO provider directly?). Check integration logs for errors. If certificate is expired, renew it.
Symptom: Password policies not enforced
Users are setting weak passwords that violate security policy (short passwords, no special characters).
Diagnosis: check if password policies are configured (length, complexity, history). Check if policies are applied to the user creation workflow.
Fix: configure password policy (minimum length, required character types, minimum uniqueness). Apply the policy to all users. Existing users may need to update passwords to comply.
When to escalate
Escalate to your security team if: troubleshooting does not resolve access issues, you suspect unauthorized access or data breach, SSO integration is completely broken, or audit logging is not working and you cannot diagnose why. Provide: the symptom, user affected, troubleshooting steps taken, and what you suspect the cause is.
Reproducing an Access Complaint Before Changing Anything
An access complaint arrives as a sentence: I cannot see the report, or my approval button has disappeared. The temptation is to open the access control rules and start adding roles until the complaint stops. That habit can create the over-permissioned accounts the platform team later has to clean up. The first job is to reproduce the exact view the user sees, using the same record, the same role set and the same route into the page, and to write down what was blocked and by which rule.
Ordering the Checks So the Cheapest Explanation Comes First
Walk the checks from the least intrusive to the most, so that a stale session or a misread role is ruled out before anyone touches a rule. Many reported blockages turn out to be a stale session, a role that was removed on a different date from the one the user remembers, or a reference field that points at a record the user cannot read. Only after those are excluded should the access rules themselves be examined.
| What the user reports | Check first | Then check | Avoid doing |
|---|---|---|---|
| A button or menu item has gone | Current roles and any recent role removal in the audit trail | Client-side conditions that hide the item for that role | Granting admin to make it reappear |
| A record opens but a field is blank | Field-level rule and the data policy on that field | Whether the value sits on a referenced record the user cannot read | Removing the field-level rule for everyone |
| A list shows fewer rows than expected | Row-level access rules for the table and any filter saved on the list | Group membership used by the row rule | Widening the table read rule |
| A report is missing data | Who owns the report and which user runs it | Whether the report joins to a restricted table | Sharing the report with a wider group |
| Login fails only for some users | Identity source status and account state | Second factor enrollment and session limits | Resetting credentials for the whole population |
Reproducing With the Right Account
Use impersonation or a persona test account that holds exactly the complainant’s roles, and reproduce the step on the same record. If the problem does not reproduce, the cause is often in the session, the role set, or the data, not in the rule. If it does reproduce, read the rules that ran for that table and action, and note which one returned the decision. Record the rule name and the evaluation result in the ticket before editing anything.
Ordered Steps When a Rule Is the Cause
- Confirm the complainant’s current roles and the date each was assigned or removed.
- Reproduce the step with a test account holding the same roles, and capture the exact message or empty state.
- Identify the rule that decided the outcome, including any rule added by a recent change.
- Decide whether the rule is wrong or the requester is outside policy, and get the data owner’s answer if it is the former.
- Make the smallest change that fixes the case, scoped to the role or group concerned.
- Re-run the persona checks for that table and close the ticket only when the original step succeeds for the right person and still fails for everyone else.
Incidents Where You Should Not Edit Rules at All
During a suspected breach, a rule edit can destroy the evidence of how access was used. In that case, freeze the account and preserve the logs first, then involve the security lead before any rule is changed. Restoring service to a legitimate user can wait a short time; losing the trail cannot be undone. The same caution applies when the complaint came from someone who should not have had access in the first place.
Frequently Asked Questions About Troubleshooting Access
Why does a user see something after logging out and back in?
Role and rule changes may not reach an existing session until the user signs in again. Check the time of the change against the time of the session before blaming the rule.
Can a single user have a rule that works for everyone else but not for them?
Yes, usually through a group membership, a delegation, or a role inherited from a group they no longer belong to. Check the membership history before changing anything.
How do we know if an access fix caused a new leak?
Re-run the persona checks for the affected table and read the audit trail for the rule change. Each fix should include the one negative case it must still pass.
When should we escalate instead of troubleshooting further?
Escalate when the persona cannot reproduce the problem and the complainant’s roles look right, when restricted data may have been exposed, or when two rules contradict each other and nobody knows which was intended.
For the audit side of this work, the audit trail evidence article explains what to keep, and the access controls review article gives a practical method for reviewing access controls.
Frequently asked questions
How do we know if someone accessed data they should not have?
Check audit logs for that user and the affected table. Look for read/write/delete operations by that user. If you find unexpected access, investigate the context (were they authorized for that access, was there a legitimate reason for the access?).
What should we do if we find unauthorized access?
Immediately revoke access (remove roles, disable account if needed). Investigate how the unauthorized access occurred (was ACL misconfigured, was access accidentally granted). Review data the unauthorized user accessed. Report to management and security team.
How do we audit access control effectiveness?
Quarterly: review active users and their roles, check for users with overly broad access, verify ACLs are still appropriate, test access by logging in as different roles. Use access reviews: send each manager a list of their team's access and ask if it is appropriate.
Related guides
- ServiceNow Instance Security and Access Control Testing and Acceptance Checklist
- ServiceNow Instance Security and Access Control Governance Model
- ServiceNow Instance Security and Access Control Requirements Workshop Questions
- ServiceNow Instance Security and Access Control Use Cases for Enterprise Teams
Related Oblytech services
Where this topic turns into delivery work, these are the Oblytech services that cover it.
Planning, running or fixing a ServiceNow programme? Tell us where you are and we will suggest a sensible next step.
Contact us