Back to blog

NetSuite: Role-Based Access Control (RBAC)

RBAC Overview

NetSuite uses a Role-Based Access Control (RBAC) model, where all user permissions are assigned through roles rather than granted directly. A role acts as a container for permissions, each with a specific access level (View, Create, Edit, Full), and determines which records, transactions, reports, and system functions a user can access. Users may have multiple roles, with each role providing a distinct set of capabilities and, in some cases, different restrictions such as subsidiary, department, or location filters. This structure supports least-privilege principles when roles are carefully designed and assigned.

Role Customization in NetSuite

Administrators configure and manage roles through the Manage Roles page and specific role records, where permissions for transactions, lists, reports, setups, and custom records can be assigned or removed. Standard or “seeded” roles such as Administrator or Accountant often come with overly broad permissions, including sensitive access and intra-role Segregation of Duties (SoD) risks. Because of this, organizations are strongly encouraged to create custom roles aligned with actual job responsibilities and stripped of unnecessary access. This approach not only supports compliance with SOX, ISO 27001, and NIST 800-53 requirements, but also minimizes the attack surface and risk of privilege misuse.

Manage Roles Menu Path (Setup → User/Roles → Manage Roles):

The Manage Roles Page:

The Role Record:

RBAC Risks

The risks of poorly designed RBAC in NetSuite include over-provisioned standard roles, overlapping roles that create hidden SoD conflicts, and role assignments without documented business justification. Role sprawl—where outdated or unused roles remain active—can also open the door to exploitation. To mitigate these risks, organizations should maintain a complete role inventory, define role owners, and document the intended purpose and required approvals for each role. Periodic role assessments, such as those performed using ERP Armor: Rules for NetSuite, can help identify excessive permissions, high-risk entitlements, and SoD violations.

RBAC Control Considerations

Best practices for RBAC in NetSuite include building job-based custom roles only, separating duties such as transaction creation and approval, and applying access restrictions to employee records based on subsidiary, department, or location. Although sometimes valuable, assigning permissions directly to users via Global Permissions should be avoided, if possible, as it can undermine role design controls and makes auditing NetSuite’s role-based access controls more difficult. A tiered role model—distinguishing between provisioning, view / audit, transactional, and configuration roles—further reduces risk and strengthens control.

When combined with regular User Access Reviews, NetSuite’s RBAC model can provide fine-grained security control and a clear audit trail. Implementing a granular sensitive-access and SoD risk ruleset makes it far easier to assess, monitor, and remediate high-risk access. With such a ruleset in place, high-risk permissions are categorized, risk-ranked, and reportable by both role and user, enabling process owners to make informed decisions and maintain strong ERP access governance.

Best Practices Summarized

  • Build job-specific custom roles only, based on least-privilege principles.
  • Enforce SoD by separating conflicting duties (e.g., creation vs. approval of transactions, transaction vs configuration).
  • Use access restrictions (subsidiary, department, location) wherever applicable.
  • Avoid overlapping roles with conflicting or redundant privileges.
  • Review role assignments at least quarterly as part of the User Access Review process.

By following these best practices, organizations can maintain a strong, auditable RBAC framework in NetSuite that both limits unnecessary access and enforces critical segregation of duties. Consistently applying least-privilege principles, monitoring for conflicts, and reviewing role assignments ensures that security remains proactive rather than reactive—strengthening compliance posture, reducing the attack surface, and protecting key financial and operational processes from both error and abuse.