Managing access to knowledge bases and knowledge articles
Summarize
Summary of Managing access to knowledge bases and knowledge articles
This guide explains how ServiceNow customers can manage user access to knowledge bases and knowledge articles by controlling who can read or contribute content. Access is controlled primarily through user criteria (recommended from Knowledge Management v3 onwards) and roles. Knowledge administrators, knowledge base managers, and owners can assign these criteria and roles to regulate read and contribute permissions at both the knowledge base and article levels.
Show less
Controlling Access with User Criteria and Roles
Read access allows users to view knowledge articles, while contribute access permits users to create, modify, or retire articles. User criteria are categorized as:
- Cannot Contribute/Can Contribute: Define contribute permissions at the knowledge base level.
- Cannot Read/Can Read: Define read permissions at both knowledge base and article levels.
If no user criteria are set for a knowledge base, all users may read, and users with roles may contribute by default.
Special User Privileges
Users with special roles bypass user criteria restrictions:
- Knowledge administrators: Full contribute and read access to all knowledge bases (except scoped bases) and can assign user criteria.
- Knowledge base owners and managers: Full contribute and read access to their knowledge bases and can manage user criteria. Note that managers cannot modify draft articles by other authors if article versioning is enabled.
- Ownership group members: Can read, modify, approve, and retire specific knowledge articles.
Explicit Roles and Plugin Integration
The Explicit Roles plugin adds predefined user criteria based on internal roles (e.g., sncinternal) to control access automatically for knowledge bases. When upgrading to versions with this plugin, existing knowledge bases require a fix script to apply these criteria properly.
System Properties Influencing Access
Several system properties affect how user criteria determine access:
glide.knowman.blockaccesswithnousercriteria: Controls contribute and read access when no user criteria are set. If true, no access except for special users; if false, users with roles or unauthenticated users can access accordingly.glide.knowman.applyarticlereadcriteria: Determines whether article-level read criteria override knowledge base contribute access.glide.knowman.search.applyrolebasedsecurity(requires manual addition): Allows overriding role-based security for articles using user criteria only.
Using Diagnostics and Best Practices
After setting user criteria, administrators can use the User Criteria Diagnostics feature to verify effective access for users to knowledge bases and articles. It is recommended to use user criteria rather than roles to control article-level access for better granularity and compliance with newer versions.
Practical Actions for ServiceNow Customers
- Create and assign user criteria at the knowledge base level to define who can read or contribute content.
- Use user criteria at the article level to refine read access permissions for specific articles.
- Understand default behaviors when no user criteria are set and adjust system properties if needed to enforce stricter access controls.
- Leverage special user roles for administrative and managerial access without restricting their workflow.
- Utilize diagnostic tools to confirm that access settings meet organizational policies.
- Apply fix scripts when activating the Explicit Roles plugin on existing knowledge bases to ensure proper access assignments.
Determine whether certain users or categories of users can access knowledge bases and knowledge articles by controlling contribute and read access.
- Read access determines the ability to view knowledge articles in a knowledge base.
- Contribute access determines the ability to create, modify, and retire knowledge articles in a knowledge base.
As a knowledge administrator, manager of a knowledge base, or owner of a knowledge base, you can assign user criteria, or roles, or both, to control read access at the knowledge article level.
Try to use only user criteria, which were introduced in Knowledge Management v3, to control access to knowledge articles. Roles were used for this purpose in Knowledge Management v2. If no user criteria is selected for a knowledge base, all users can read and all users with roles can contribute to that knowledge base.
User criteria for knowledge access
As a knowledge administrator, manager of a knowledge base, or owner of a knowledge base, you control access to knowledge bases or knowledge articles for a user through user criteria, which are described in the following table.
| User criteria | Result |
|---|---|
| Cannot Contribute | Cannot contribute (that is can't create, modify, or retire) knowledge articles within a knowledge base. The Cannot Contribute user criteria is available only for knowledge bases. |
| Can Contribute | Can contribute (that is can view, create, modify, or retire) knowledge articles within a knowledge base. The Can Contribute user criteria is available only for knowledge bases. |
| Cannot Read | At the knowledge base level, cannot view knowledge articles within a knowledge base. At the knowledge article level, cannot view a knowledge article. |
| Can Read | At the knowledge base level, can view knowledge articles within a knowledge base. At the knowledge article level, can view a knowledge article. |
The access to knowledge base and its articles are defined based on the user criteria status for a user as described in the following table.
| Status | Access |
|---|---|
| The user matches both Can Contribute and Cannot Contribute at the knowledge base level | The user is denied contribute access to the knowledge base and its articles. |
| The user matches both Can Read and Cannot Read at the knowledge base level | The user is denied read access to the knowledge base and its articles. |
| The user matches Can Read at the knowledge base level and Cannot Read at the knowledge article level | The user is denied read access to the knowledge article. |
| The user matches Cannot Read and Can Read at the knowledge article level | The user is denied read access to the knowledge article. |
Users with special knowledge privileges
Users with special knowledge privileges aren't evaluated based on user criteria and have knowledge bases and knowledge articles access as described in the following table.
| User | Access |
|---|---|
| Knowledge administrator |
Note: This access doesn't apply to scoped knowledge bases. For more information, see
Scoped knowledge bases. |
| Owner of a knowledge base |
|
| Manager of a knowledge base |
Note: If the article versioning feature is enabled, the manager of a knowledge base
can't modify knowledge articles of other authors that are in the
Draft state. For more information, see Article versioning. |
| Members of an ownership group associated with a knowledge article | Read, modify, approve, and retire that knowledge article (see Ownership groups). |
Explicit roles and user criteria
Explicit roles (snc_external and snc_internal) are added to your instance when your administrator installs a plugin, such as the Customer Service plugin (com.sn_customerservice), that also activates the Explicit Roles plugin (com.glide.explicit_roles). If you create a knowledge base with the Explicit Roles plugin (com.glide.explicit_roles) activated, the application automatically adds the following predefined user criteria at the knowledge base level:
- Users with 'snc_internal' role – Added to the Can Read user criteria enabling only users with the snc_internal role have read access to the knowledge base.
- Users with snc_internal' and another role – Added to the Can Contribute user criteria enabling only users with the snc_internal role and at least one additional role have contribute access to the knowledge base.
When you upgrade to product versions (from Rome onwards) that offer the Explicit Roles plugin (com.glide.explicit_roles), the predefined user criteria Users with 'snc_internal' role and Users with 'snc_internal' and another role aren't automatically added to any existing knowledge bases created prior to the activation of the Explicit Roles plugin. To add these predefined user criteria to an existing knowledge base, run the Fix unsecured knowledge bases fix script. For more information about explicit roles and fix scripts, see Explicit Roles and Fix scripts.
Determining contribute access to a knowledge base and its articles using user criteria
When either Cannot Contribute isn't set or a user doesn't match Cannot Contribute and additionally Can Contribute is not set, the glide.knowman.block_access_with_no_user_criteria property value is further evaluated to determine contribute access, as explained in the following table.
| Property value | Result |
|---|---|
| true | No user has contribute access to the knowledge base except users with special knowledge privileges. |
| false | All users, including unauthenticated users, with at least one role can
contribute to the knowledge base. If the Explicit Roles plugin (com.glide.explicit_roles) is activated, users who have at least one role other than snc_internal can contribute to the knowledge base. To check knowledge bases accessible to unauthenticated users, use the User Criteria Diagnostics feature. For more information, see Configure access to knowledge bases for unauthenticated users. |
When a user has contribute access to a knowledge base, the glide.knowman.apply_article_read_criteria property is evaluated to determine contribute access to an article in the knowledge base, as explained in the following table.
| Property value | Result |
|---|---|
| true | Article-level read access overrides the default contribute permission granted by contribute access at the knowledge base level. |
| false | Contribute access at the knowledge base level takes precedence over article-level user criteria and the user has contribute access to every article in the knowledge base. |
Determining read access to articles in a knowledge base using user criteria
When either Cannot Read isn't set or a user doesn't match Cannot Read and additionally Can Read is not set, the glide.knowman.block_access_with_no_user_criteria property value is further evaluated to determine read access, as explained in the following table.
| Property value | Result |
|---|---|
| true | No user has read access except users with special knowledge privileges and users who have contribute access to the knowledge base. |
| false | All users, including unauthenticated users, have read access to the knowledge
base and the article-level user criteria are further evaluated. To check knowledge bases accessible to unauthenticated users, use the User Criteria Diagnostics feature. For more information, see Configure access to knowledge bases for unauthenticated users. |
When a user has contribute access to a knowledge base, the glide.knowman.apply_article_read_criteria property is evaluated to determine read access to an article in the knowledge base, as explained in the following table.
| Property value | Result |
|---|---|
| true | Article-level read access overrides the default read permission granted by contribute access at the knowledge base level. |
| false | Contribute access at the knowledge base level takes precedence over article-level user criteria and the user has read access to every article in the knowledge base. |