Splunk® Enterprise

Knowledge Manager Manual

Download manual as PDF

Download topic as PDF

Manage knowledge object permissions

Note: This topic assumes that as a knowledge manager you have an admin role or a role with an equivalent permission set.

As a Knowledge Manager, you can set knowledge object permissions to restrict or expand access to the variety of knowledge objects in your Splunk deployment.

In some cases you'll determine that certain specialized knowledge objects should only be used by people in a particular role, within a specific app. And in others you'll move to the other side of the scale and make universally useful knowledge objects globally available to all users in all apps. As with all aspects of knowledge management you'll want to carefully consider the implications of these access restrictions and expansions.

When a Splunk user first creates a new report, event type, transaction, or similar knowledge object, it is only available to that user. To make that object available to more people, Splunk Web provides the following options, which you can take advantage of if your permissions enable you to do so. You can:

  • Make the knowledge object available globally to users of all apps (also referred to as "promoting" an object).
  • Make the knowledge object available to all users of an app.
  • Restrict (or expand) access to global or app-specific objects by user or role.
  • Set read/write permissions at the app level for roles, to enable users to share or delete objects they do not own.

By default, only users with a power or admin role can share and promote knowledge objects. This makes you and your fellow knowledge managers gatekeepers with approval capability over the sharing of new knowledge objects.

For more information about extending the ability to set permissions to other roles, see the subtopic "Enabling roles other than Admin and Power to set permissions and share objects," below.

How do permissions affect knowledge object usage?

To illustrate how these choices can affect usage of a knowledge object, imagine that Bob, a user of a (fictional) Network Security app with an admin-level "Firewall Manager" role, creates a new event type named firewallbreach, which finds events that indicate firewall breaches. Here's a series of permissions-related issues that could come up, and the actions and results that would follow:

Issue Action Result
When Bob first creates firewallbreach, it is only available to him. Other users cannot see it or work with it. Bob decides he wants to share it with his fellow Network Security app users. Bob updates the permissions of the firewallbreach event type so that it is available to all users of the Network Security app, regardless of role. He also sets up the new event type so that all Network Security users can edit its definition. Anyone using Splunk Enterprise in the Network Security app context can see, work with, and edit the firewallbreach event type. Users of other apps in the same Splunk deployment have no idea it exists.
A bit later on, Mary, the knowledge manager, realizes that only users in the Firewall Manager role should have the ability to edit or update the firewallbreach event type. Mary restricts the ability to edit the event type to the Firewall Manager role. Users of the Network Security app can use the firewallbreach event type in transactions, searches, dashboards, and so on, but now the only people that can edit the knowledge object are those with the Firewall Manager role and people with admin-level permissions (such as the knowledge manager). Splunk users in other app contexts remain blissfully ignorant of the event type.
At some point a few people who have grown used to using the very handy firewallbreach event type in the Network Security app decide they'd like to use it in the context of the Windows app as well. They make their case to the knowledge manager, who promptly promotes the firewallbreach event type to global availability. Now, everyone that uses this Splunk deployment can use the firewallbreach event type, no matter what app context they happen to be in. But the ability to update the event type definition is still confined to admin-level users and users with the Firewall Manager role.

Permissions - Getting started

To change the permissions for a knowledge object, follow these steps:

  1. In Splunk Web, navigate to the page for the type of knowledge object that you want to update permissions for.
  2. Find the knowledge object that you created (use the filtering fields at the top of the page if necessary) and open its permissions dialog.
    • In some cases you will need to click a Permissions link to do this. In other cases you need to make a menu selection such as Edit > Edit Permissions or Manage > Edit Permissions.
    • If you are on a listing page you can also expand the object row and click Edit for Permissions.
  3. On the Permissions page for the knowledge object in question, perform the actions in the following subsections depending on how you'd like to change the object's permissions.
  4. Click Save to save your changes.

This screen image shows the Permissions modal for a table dataset named Webstore Purchases. It is set up so that the table is restricted to the Search app. The role-based permissions for the Prices lookup definition have been set up so that all roles have read access, but only admin and power roles have write access.

Make an object available to users of all apps

To make an object globally available to users of all apps in your Splunk deployment:

  1. Navigate to the Permissions page for the knowledge object (following the instructions above).
  2. For Display for, select All apps.
  3. In the Permissions section, for Everyone, select a permission of either Read or Write.
    Option Definition
    Read Lets users see and use the object, but not update its definition. When users only have Read permission for a particular report, they can see it in the top level navigation and they can run it. But they can't update the search string, change its time range, or save their changes.
    Write Lets users view, use, and update the defining details of an object as necessary.
    If neither Read or Write is selected then users cannot see or use the knowledge object.
  4. Save the permission change.

Make an object available to all users of its app

All knowledge objects are associated with an app. When you create a new knowledge object, it is associated with the app context that you are in at the time. In other words, if you are using the Search & Reporting app when you create the object, the object will be listed in Settings with Search & Reporting as its App column value. This means that if you restrict its sharing permissions to the app level it will only be available to users of the Search & Reporting app.

When you create a new object, you are given the option of keeping it private, sharing it with users of the app that you're currently using, or sharing it globally with all users. Opt to make the app available to "this app only" to restrict its usage to users of that app, when they are in that app context.

If you have write permissions for an object that already exists, you can change its permissions so that it is only available to users of its app by following these steps.

  1. Navigate to the Permissions page for the knowledge object (following the instructions in "Permissions - Getting Started," above).
  2. For Display for, select App.
  3. In the Permissions section, for Everyone, select a permission of either Read or Write.
    Option Definition
    Read Lets users see and use the object, but not update its definition. When users only have Read permission for a particular report, they can see it in the top level navigation and they can run it. But they can't update the search string, change its time range, or save their changes.
    Write Lets users view, use, and update the defining details of an object as necessary.
    If neither Read or Write is selected then users cannot see or use the knowledge object.
  4. Save the permission change.

Moving or cloning a knowledge object

You may run into situations where you want users of an app to be able to access a particular knowledge object that belongs to a different app, but you do not want to share that object globally with all apps. There are two ways you can do this: by cloning the object, or by moving it.

Option Definition
Clone Make a copy of a knowledge object. The copy has all of the same settings as the original object, which you can keep or modify. You can keep it in the same app as the object you're cloning, or you can put it in a new app. If you add the cloned object to the same app as the original, give it a different name. You can keep the original name if you add the object to an app that doesn't have a knowledge object of the same type with that name. You can clone any object, even if your role does not have write permissions for it.
Move Move an existing knowledge object to another app. Removes the object from its current app and places it in an app that you determine. Once there, you can set its permissions so that it is private, globally available, or only available to users of that app. The ability to move an app is connected to the same permissions that determine whether you can delete an app. You can only move a knowledge object if you have created that object and have write permissions for the app to which it belongs.

Switching the app context of an knowledge object by moving it can have downstream consequences for objects that have been associated with it. See Disable or delete knowledge objects.

You can find the Clone and Move controls on the Settings pages for various knowledge object types. To clone or move an object, find the object in its list and click Clone or Move.

Restrict knowledge object access by app and role

You can use this method to lock down various knowledge objects from alteration by specific roles. You can arrange things so users in a particular role can use the knowledge object but not update it--or you can set it up so those users cannot see the object at all. In the latter case, the object will not show up for them in Splunk Web, and they will not find any results when they search on it.

If you want restrict the ability to see or update a knowledge object by role, simply navigate to the Permissions page for the object. If you want members of a role to:

  • Be able to use the object and update its definition, give that role Read and Write access.
  • Be able to use the object but be unable to update it, give that role Read access only (and make sure that Write is unchecked for the Everyone role).
  • Be unable to see or use the knowledge object at all, leave Read and Write unchecked for that role (and unchecked for the Everyone role as well).

See About role-based user access in Securing Splunk Enterprise.

Enable roles other than Admin and Power to set permissions and share objects

By default, only the Power and Admin roles can set permissions for knowledge objects. Follow these steps to give other roles the ability to set knowledge object permissions.

The ability to set permissions for knowledge objects share knowledge objects is controlled at the app level--it is not connected to a capability like other actions such as scheduling searches or changing default input settings.

Steps

  1. Select Settings > Apps.
  2. Find the app that you want to adjust permissions for and open its Permissions settings.
  3. On the Permissions page for the app, change the read and write permissions for the roles as appropriate. For example you can grant a role write access if it should be able to set knowledge object permissions for other users of that app, including the ability to share searches, alerts, and dashboards when these things are created via Splunk Web.

Set permissions for categories of knowledge objects

You can set role-based permissions for specific knowledge object types by making changes to the default.meta file. For example, you can give all user roles the ability to set permissions for all saved searches in a specific app.

See Set permissions for objects in a Splunk App on the Splunk Developer Portal.

About deleting users and roles with unshared objects

If a user leaves your team and you need to delete that user or role from your Splunk deployment, be aware that you will lose any knowledge objects belonging to them that have a sharing status of private. If you want to keep those knowledge objects, share them at the app or global level before deleting the user or role.

PREVIOUS
Understand and use the Common Information Model Add-on
  NEXT
Resolve orphaned searches, reports, and alerts

This documentation applies to the following versions of Splunk® Enterprise: 6.5.0, 6.5.1, 6.5.1612 (Splunk Cloud only), 6.5.2, 6.5.3


Was this documentation topic helpful?

Enter your email address, and someone from the documentation team will respond to you:

Please provide your comments here. Ask a question or make a suggestion.

You must be logged into splunk.com in order to post comments. Log in now.

Please try to keep this discussion focused on the content covered in this documentation topic. If you have a more general question about Splunk functionality or are experiencing a difficulty with Splunk, consider posting a question to Splunkbase Answers.

0 out of 1000 Characters