Managing Permissions

About Permissions

You use SAS Environment Manager to manage identities and authorization for SAS Viya. Information is available in the SAS Viya administration documentation:

You can configure user access based on folders, object types, or specific objects. You can control which categories appear in the user interface by controlling access to root endpoints. To grant full access to an object, a user must have access to all of the service endpoints (object URIs) that are associated with the object. For more information, see Full Access and Service Endpoints.

The default permissions for SAS Intelligent Decisioning are described in Default Permissions.

Default Permissions

Rule sets, decisions, treatments, treatment groups, lookup tables, value lists, segmentation trees, and custom code files are stored in folders. When these objects are created through the user interface, the default permissions are determined by the folder in which the object is stored.

In SAS Environment Manager, each folder is assigned permissions that apply to the folder itself and permissions that apply to the objects within the folder. The permissions that apply to the objects within the folder are said to be conveyed to those objects within the folder.

Global variables and custom functions are not stored in folders. The default permissions for these objects are controlled by authorization rules.

By default, each member of the Authenticated Users group has permission to do the following:

  • create rule sets, lookup tables, treatments, treatment groups, code files, global variables, custom functions, value lists, segmentation trees, and decisions in their own My Folder folder
  • in the Decision Repository folder, check out and commit objects that they created
  • create subfolders within the Decision Repository folder
  • update and delete any rule set, lookup table, treatment, treatment group, code file, global variable, custom function, value list, segmentation tree, or decision that was created in a folder to which the user has conveyed Update and Delete access
  • delete a specific version of a rule set, lookup table, treatment, treatment group, global variable, value list, segmentation tree, or decision if they have Delete permission for the object
  • activate any lookup table, global variable, or treatment group that was created in a folder to which the user has conveyed Update access
  • publish any rule set, decision, or model to which the user has Update access
  • run a publishing validation test for any rule set, decision, or model that they published
  • create a test definition, including scenario test definitions, for any rule set or decision to which the user has Read access
  • update or delete the test definition that they created
  • run the test and view the test results for any test definition that they created
  • run a rule-fired analysis or decision-path tracking analysis and view the results for any test that they created and executed

Default folders such as a user’s My Folder folder or the Decision Repository folder are assigned permissions so that any subfolders that are created within these folders inherit the permissions of the parent folder (unless the parent folder’s permission have been customized). For folder’s that are created directly under SAS Content, you must set permissions in SAS Environment Manager in order to enable users to access these folders. See Folder-Based Permissions for more information.

Modifying Permissions

You can modify the default permissions in the following ways:

About Permission Types

There are two types of permissions that you might need to set for users to work in SAS Intelligent Decisioning: folder-based permissions and rules-based permissions.

Permissions Types for SAS Intelligent Decisioning

Permissions Type

When to Use

Folder-based permissions

For objects that are stored in folders, it is recommended that you use folder-based permissions to control what tasks users can perform for those objects. The objects that are stored in folders are rule sets, decisions, treatments, treatment groups, lookup tables, value lists, segmentation trees, and custom code files.

Storing test definitions and test results in a folder is optional, but it is highly recommended. Storing test definitions and test results in a folder simplifies the tasks of setting permissions and transferring the files.

For more information, see Folder-Based Permissions.

Rules-based permissions

For tasks associated with publishing and for objects that are not stored in folders, you must use rules-based permissions. The objects that are not stored in folders are custom functions and global variables.

The ability to store tests outside of folders is supported for legacy purposes only. If you choose not to store test definitions and test results in a folder, then you must use rules-based permissions to control access to these files.

For more information, see Rules-Based Permissions.

Best Practices for Setting Permissions

To the extent possible, base your permission settings on the folders in which objects are stored. Use folders to organize objects according to which group of users need access to the objects. Customize the permission settings for your folders based on user groups, not on individual users.

TipRules for which the setting is Prohibit take precedence over all other rules for that URI. For example, if the same user belongs to a prohibited group and to an authorized group, the prohibited assignment takes precedence over the authorized assignment.

When you enter a rule that specifies Prohibit, make the URI for that rule as specific as possible.

Folder-Based Permissions

Setting Folder-Based Permissions

You must set permissions in SAS Environment Manager for any folder that is created as a new top-level folder under SAS Content. For default folders such as the My Folder folder or the Decision Repository folder, you must modify the permissions of folders that you create within these two folders if you do not want them to inherit the permissions of the parent folder.

  1. Click Applications menu, and select Manage Environment to switch to SAS Environment Manager.
  2. Click Content to navigate to the Content page.
  3. Navigate to the folder for which you want to set permissions.
  4. Right-click the folder name, and select Edit authorization. The Edit Authorization window appears.
  5. For any permission setting that you want to change, click the effective access icon in the column for that permission, and change the setting in the pop-up window. For more information about setting permissions in this window, see SAS Viya: General Authorization Window and Folder-Based Permission Settings for SAS Intelligent Decisioning Tasks.
  6. Click Save to save your changes and close the Edit Authorization window.

Folder-Based Permission Settings for SAS Intelligent Decisioning Tasks

The following table lists the folder permissions that are required to work with the objects that are stored in a folder. The permissions listed in this table assume that the permissions described in Default Permissions have not been customized.

Folder-Based Permission Settings for Tasks in SAS Intelligent Decisioning

Task

Folder Permissions

Make objects in a folder visible to users

Read

Save an object in a folder

Update

Create a new object

Add

Create a new version of an object

Update

Duplicate an object

Add, Update

Rename an object

Update

Copy a version of an object

Update

Activate a lookup table or a treatment group

Update

Delete an object

Delete

Move an object from folder A to folder B

Remove (folder A)

Add (folder B)

Validate a decision

Read

Create a test definition

Add

Run a test

Add

Rerun a previously run test

Add, Delete

Check out and commit objects

Read, Add, Update

Rules-Based Permissions

Setting Rules-Based Permissions

  1. Click Applications menu, and select Manage Environment to switch to SAS Environment Manager.
  2. Click Rules to navigate to the Rules page.
  3. Click new to create a new rule, or select a rule, and click Edit to modify an existing rule.
  4. Edit the rule’s settings and click Save.

    You can click help in the window for information about specific fields. For the object URIs for SAS Intelligent Decisioning , see Tasks Enabled by Default Rules for Object URIs. For additional information about rule settings, see SAS Viya Platform: General Authorization.

Rules-Based Permission Settings for Publishing Tasks

The following table lists the permissions that are required to customize the ability to publish objects to specific destinations.

Rules-Based Permission Settings for Publishing Tasks

Task

URI

Rule Type

Permissions

View available publishing destinations

/modelPublish/destinations/**

Grant

Read

Publish objects to any destination

/modelPublish/destinations/**

Grant

Read

/modelPublish/models/**

Grant

Create

Publish objects to only one specific destination

/modelPublish/destinations/destination-name

Grant

Read

/modelPublish/models/**

Grant

Create

Prohibit users from viewing a specific destination

/modelPublish/destinations/destination-name

Prohibit

Read

TipRules for which the setting is Prohibit take precedence of all other rules for that URI. When you enter a rule that specifies Prohibit, make the URI for that rule as specific as possible.

You can also specify rules for other SAS Intelligent Decisioning URIs. The SAS Intelligent Decisioning URIs are listed in Tasks Enabled by Default Rules for Object URIs

Full Access and Service Endpoints

In order to have full access to an object, a user must have access to the folder that contains the object, to the specific object, to any additional objects that are referenced by the object, and to the service endpoints for all object types. For example, in order to have full access to a specific decision, the user must have access to the following:

  • the folder that contains the decision.
  • the folder that contains the test definition and test results.
  • the decision, plus any rule sets, lookup tables, models, treatment groups, code files, global variables, custom functions, and nested decisions that are included in the decision.
  • the service endpoints for the object types for the folder, the decision, and all of the objects that are included in the decision. If the decision contains a model, the endpoints for the model repository and the model project (if the model is in a project) must be included.
  • the service endpoints for the object types that are needed to create and run a decision test: /scoreDefinitions/definitions and /scoreExecution/executions. Alternatively, if you are using the SASScoreUsers group, the user can be a member of the SASScoreUsers group. See Granting Access to Test Results for more information.
  • the service endpoints that are needed to publish the decision: /modelPublish/destination and /modelPublish/destination/{destination}.

Service endpoints for specific object types are represented by the object URIs.These object URIs are shown in Tasks Enabled by Default Rules for Object URIs. You grant permissions for object URIs by creating or modifying rules in SAS Environment Manager. For more information, see Setting Rules-Based Permissions and Rules Page in SAS Environment Manager: User’s Guide.

Note: If a user has access to a decision but does not have access to an object that is referenced in the decision, SAS Intelligent Decisioning displays a red X next to the object name.

Tasks Enabled by Default Rules for Object URIs

Permission rules for object URIs are defined in SAS Environment Manager. By default, general rules are defined for all object URIs in SAS Intelligent Decisioning. Tasks Enabled by Default Rules for Object URIs in SAS Intelligent Decisioning describes the tasks that are enabled by these default rules.

Tasks Enabled by Default Rules for Object URIs in SAS Intelligent Decisioning

Object URI

Tasks

/businessRules

View the Business Rules category.

/businessRules/ruleSets

Create, read, update, and delete rule sets. Create and delete versions of rule sets. Generate SAS code for rule sets.

/businessRules/rules

Import and export rule sets.

/decisions

View the Decisions category.

/decisions/codeFiles

Create, read, update, and delete custom code files.

/decisions/commons/validations/codeFiles

Validate code file content. Code file content is validated when you save the code file.

/decisions/flows

Create, read, update, and delete decisions. Create and delete versions of decisions. Generate SAS code for decisions.

/folders/folders

Create and read folders.

/folders/folders/folder-ID

Create, read, update, and delete the specified folder.

/businessRules/functionCategories

Create, read, update, and delete custom function categories.

/businessRules/functionCategories/category-ID/functions

Create custom functions in the specified category.

/businessRules/functions/function-ID

Read, update, and delete the specified custom function.

/modelPublish/models/**

Publish rule sets, models, and decisions to a publishing destination.

/modelPublish/destinations

Define new publish destinations.

/modelPublish/destinations/{destinationName}

Update or delete an existing destination. Publish content to the specified destination, and read published content in the specified destination.

/referenceData

View the Lookup Tables and Global Variables categories. Create, read, update, and delete lookup tables and global variables. Import and export lookup tables. Create, delete, and activate versions of lookup tables and global variables.

/referenceData/domains

Create, read, update, and delete lookup tables. Create, delete, and activate versions of lookup tables.

/referenceData/domainEntries

Import and export lookup tables.

/referenceData/globalVariables

Create, read, update, and delete global variables. Create, delete, and activate versions of global variables.

/scoreDefinitions/definitions/**

Create, read, update, and delete rule set tests, decision tests, model tests, and publishing validation tests in the user interface and in the score definition service.

/scoreExecution/executions/**

Run rule set tests, decision tests, model tests, and publishing validation tests in the user interface and the score execution service. Run rule-fired analyses and decision-path tracking analyses.

/subjectContacts/contacts/**

Create, read, update, and delete subject contact records.

/subjectContacts/traces/**

Create, read, update, and delete variable assignment records and variable change path records that are generated by scenario tests for decisions.

/treatmentDefinitions

View the Treatment Definitions category.

/treatmentDefinitions/definitions/**

Create, read, update, and delete treatment definitions.

/treatmentDefinitions/definitionGroups/**

Create, read, update, and delete treatment group definitions.

Granting Access to Test Results

Granting Access to Tests That Are Created in SAS Intelligent Decisioning 5.3 or Later

When you create a new rule set test or decision test in SAS Intelligent Decisioning 5.3 or later, you can specify a folder in which the test definition and the test results are stored. For tests that are saved in folders, access is based on the permissions for the folders, the object types, or the specific objects as described in Full Access and Service Endpoints.

Note: You can control access to tests that are created in SAS Intelligent Decisioning 5.4 or later by using the SASScoreUsers group. However, it is recommended that you store test definitions and results in folders. The ability to store tests outside of folders and the use of the SASScoreUsers group for rule set and decision tests is supported for legacy purposes only.

Granting Access to Tests That Were Created in SAS Decision Manager 5.1 or 5.2 on SAS Viya

In SAS Decision Manager 5.1 and 5.2, you could not save test definitions and test results in a folder. By default, SAS Decision Manager created rules that gave only the user who created a test permission to view, update, or delete the test definition and to run the test. Only a user who ran a test could view the test results and run rule-fired analyses or decision-path tracking analyses.

To grant other users access to test definitions or test results that were created in SAS Decision Manager 5.1 or 5.2, do one of the following:

  • Add the users to the SASScoreUsers group. SAS Intelligent Decisioning configures the SASScoreUsers group automatically. Members of this group have full access to test definitions and results. These permissions enable access through the user interface, the score definition service, and the score execution service. For instructions on adding users to a group, see Manage Custom Groups in SAS Environment Manager: User’s Guide.
  • Create rules in SAS Environment Manager that grant the users access to the URIs that were generated when a particular test was run. The Test Results page, Rule-Fired Analysis page, and Decision Path Tracking page for a test list the URIs to all of the test results. Specify the URIs of the results in the Object URI field in the New Rule window. See Rules Page in SAS Environment Manager: User’s Guide for more information.
    Note: Each time a test is run, the IDs for the test results are regenerated. Therefore, the URI to the test results changes.

Set Permissions for Check-Out Folders

IMPORTANT Default permissions are bootstrapped for the /Decision Repository folder by multiple services. Subfolders that are created in the repository folder inherit the default permissions for the decision repository. If a service is restarted, customized permission settings for subfolders in the repository might be overwritten with the default permission settings for the repository. If your site needs check out-enabled folders with different permissions, create those folders outside of the /Decision Repository folder.

If you create check-out folders outside of the /Decision Repository folder, you must manually set permissions for these folders in order to force users to check out the objects in these folders before modifying the objects. To manually set the permissions for check-out folders:

  1. Click Applications menu, and select Manage Environment.
  2. Click Content, navigate to the folder, and copy the URI of the folder into your paste buffer. You paste this URI into the Object URI or Container URI fields in the New Rule window in subsequent steps.
  3. Click Rules to display the Rules page.
  4. Click New, and enter the values shown in the following table in the New Rule window.
    Note: For this step, enter the folder URI in the Object URI field.
    Permissions for Managing Folder Subdirectories

    Field

    Value

    Object URI

    Enter the URI of the check-out folder: /folders/folders/guid

    Principal type

    Authenticated Users

    Rule type

    Grant

    Permissions

    Read, Add

    Description

    Enable authenticated users to read and add subdirectories in the check-out folder.

  5. Click Save.
  6. Click New, and enter the values shown in the following table in the New Rule window.
    Note: For this step and the remaining steps in this process, enter the folder URI in the Container URI field.
    Permissions for Managing Folder Contents

    Field

    Value

    Container URI

    Enter the URI of the check-out folder: /folders/folders/guid

    Principal type

    Authenticated Users

    Rule type

    Grant

    Permissions

    Read, Add

    Description

    Enable authenticated users to add items to and to read objects from the check-out folder.

  7. Click Save.
  8. Click New, and enter the values shown in the following table in the New Rule window.
    Permissions for Committing Updated Versions

    Field

    Value

    Container URI

    Enter the URI of the check-out folder: /folders/folders/guid

    Principal type

    Authenticated Users

    Rule type

    Grant

    Condition

    requestUri().endsWith('/revisions')

    Permissions

    Update

    Description

    Enable authenticated users to create new versions in the check-out folder.

  9. Click Save.
  10. Click New, and enter the values shown in the following table in the New Rule window.
    Permissions for Committing Lookup Tables and Value Lists

    Field

    Value

    Container URI

    Enter the URI of the check-out folder: /folders/folders/guid

    Principal type

    Authenticated Users

    Rule type

    Grant

    Condition

    requestUri().startsWith('/referenceData/domains/') && requestUri().contains('/contents') && !requestUri().endsWith('/entries')

    Permissions

    Update

    Description

    Enable authenticated users to commit lookup tables and value lists that are in the check-out folder.

  11. Click Save.
  12. Click New, and enter the values shown in the following table in the New Rule window.
    Permissions for Activating Treatment Groups

    Field

    Value

    Container URI

    Enter the URI of the check-out folder: /folders/folders/guid

    Principal type

    Authenticated Users

    Rule type

    Grant

    Condition

    requestUri().startsWith('/treatmentDefinitions/definitionGroups/') && requestUri().endsWith('/active')

    Permissions

    Update

    Description

    Enable authenticated users to activate treatment groups that are in the check-out folder.

  13. Click Save.

Grant Permission to Create Versions in Check-Out Folders by Using Tags

For information about using tags to create a new version of a decision, see Creating a New Version by Using Tags in SAS Intelligent Decisioning: User’s Guide.

  1. Sign in to SAS Environment Manager as an administrator.
    Note: If you are already logged in to SAS Intelligent Decisioning as an administrator, access SAS Environment Manager by clicking Applications menu and selecting Manage Environment.
  2. Create a new group for the users to whom you want to grant permission. For instructions, see Custom Groups in SAS Viya Platform: Identity Management.
  3. Click Rules to display the Rules page.
  4. Click New to open the New Rule window, and enter the values shown in the following table.
    Permissions for Creating Decision Versions in Check-Out-Enabled Folders by Using Tags

    Field

    Value

    Object URI

    Enter the following capability: /capability/sas/sid/createVersionFromTagInCheckoutFolder

    Principal type

    Group

    Principal

    Enter the name of the group that you created in Step 2.

    Rule type

    Grant

    Permissions

    Read

    Description

    Enable users in the group group-name to create new versions of decisions that are in a check-out folder by using tags.

  5. Click Save.

Configuring Support for Administering and Using Tags

Controlling the Use of Tags

By default, all authenticated users can create, delete, and rename tags in the Tag Management category view. All authenticated users can add tags to versions of objects and remove tags from object versions. Using tags is optional.

However, you can designate a tag administrator who can define a specific set of tags for use at your site. You can then set configuration options and permissions to require the use of tags, to restrict the tags to the set that is defined by your administrator, or both.

To fully control the use of tags, complete these steps:

  1. Define a users group for tag administrators.
  2. Define permission rules for both the tag administrators group and for authenticated users.
  3. Enable the SAS Intelligent Decisioning configuration properties for tag management.

Define the Tag Administrators Group

  1. Sign in to SAS Environment Manager as an administrator.
    Note: If you are already logged in to SAS Intelligent Decisioning as an administrator, access SAS Environment Manager by clicking Applications menu and selecting Manage Environment.
  2. Click users to navigate to the Users page.
  3. Create a new custom group for tag administrators. For instructions, see Create a New Custom Group in SAS Environment Manager: User’s Guide.
  4. Add the appropriate users to the new group. For instructions, see Add or Remove Custom Group Members in SAS Environment Manager: User’s Guide.
  5. Click Save.

Set Permissions for Administering and Using Tags

  1. Click Applications menu, and select Manage Environment.
  2. Click Rules to display the Rules page.
  3. Remove all permissions except Read from the /annotations/annotations/** object URI:
    1. In the search field at the top of the Rules page, enter annotations, and click Start search.
    2. Select the /annotations/annotations/** rule, and click edit
      /annotations/annotations/** rule with multiple permissions
    3. In the Edit Rule window, click remove for each permission except Read
    4. Click Save.
  4. Click New, and enter or select the values shown in the following table in the New Rule window.
    Permissions for Tag Administrators

    Field

    Value

    Object URI

    /annotations/annotations/**

    Principal type

    Group

    Group

    Enter the name of the tag administrators group that you created in Define the Tag Administrators Group.

    Rule type

    Grant

    Permissions

    Read, Delete, Add, Create, Remove, Update

    Description

    Enable members of the tag administrators group to manage tags.

  5. Click Save.
  6. Click New, and enter or select the values shown in the following table in the New Rule window.
    Permissions for Enabling Bulk Read Operations

    Field

    Value

    Object URI

    /annotations/annotations/**

    Principal type

    Authenticated Users

    Rule type

    Grant

    Permissions

    Read, Delete, Add, Create, Remove, Update

    Description

    Enable authenticated users to perform bulk read operations.

    Content type

    application/vnd.sas.selection+json

  7. Click Save.
  8. Click New, and enter or select the values shown in the following table in the New Rule window.
    Permissions for Adding Existing Tags to Objects

    Field

    Value

    Object URI

    /annotations/annotations/*/members

    Principal type

    Authenticated Users

    Rule type

    Grant

    Permissions

    Read, Delete, Add, Create, Remove, Update

    Description

    Enable authenticated users to add existing tags to objects.

  9. Click Save.
Last updated: May 18, 2026