Managing Permissions
- About Permissions
- Default Permissions
- Modifying Permissions
- About Permission Types
- Best Practices for Setting Permissions
- Folder-Based Permissions
- Rules-Based Permissions
- Full Access and Service Endpoints
- Tasks Enabled by Default Rules for Object URIs
- Granting Access to Test Results
- Set Permissions for Check-Out Folders
- Grant Permission to Create Versions in Check-Out Folders by Using Tags
- Configuring Support for Administering and Using Tags
About Permissions
You use SAS Environment Manager to manage identities and authorization for SAS Viya. Information is available in the SAS Viya administration documentation:
- Authorization in SAS Viya in SAS Viya Platform: Orientation to Authorization
- Identity Management: Overview in SAS Viya Platform: Identity Management
- SAS Viya Platform: External Credentials
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:
- Modify permissions for a specific folder and the objects that are stored in that folder by using the Edit Authorization window for the folder. For more information, see the following topics:
- Modify the existing rules or create new rules. For more information, see the following topics:
- Modify the existing user groups or create new
ones. For more information, see the following topics:
- Custom Groups in SAS Viya Platform: Identity Management
- Manage Custom Groups in SAS Environment Manager: User’s Guide
- Granting Access to Test Results
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 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.
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.
- Click
, and select Manage Environment to switch to SAS Environment Manager.
- Click
to navigate to the Content page.
- Navigate to the folder for which you want to set permissions.
- Right-click the folder name, and select Edit authorization. The Edit Authorization window appears.
- 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.
- 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.
|
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
- Click
, and select Manage Environment to switch to SAS Environment Manager.
- Click
to navigate to the Rules page.
- Click
to create a new rule, or select a rule, and click
to modify an existing rule.
- Edit the rule’s settings and click
Save.
You can click
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.
|
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 |
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.
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.
|
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.
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
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:
- Click
, and select Manage Environment.
- Click
, 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.
- Click
to display the Rules page.
- Click
, 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/guidPrincipal type
Authenticated Users
Rule type
Grant
Permissions
Read, Add
Description
Enable authenticated users to read and add subdirectories in the check-out folder. - Click Save.
- Click
, 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/guidPrincipal 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. - Click Save.
- Click
, 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/guidPrincipal 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. - Click Save.
- Click
, 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/guidPrincipal 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. - Click Save.
- Click
, 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/guidPrincipal 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. - 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.
- 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
and selecting Manage Environment.
- 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.
- Click
to display the Rules page.
- Click
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/createVersionFromTagInCheckoutFolderPrincipal 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. - 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:
Define the Tag Administrators Group
- 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
and selecting Manage Environment.
- Click
to navigate to the Users page.
- Create a new custom group for tag administrators. For instructions, see Create a New Custom Group in SAS Environment Manager: User’s Guide.
- Add the appropriate users to the new group. For instructions, see Add or Remove Custom Group Members in SAS Environment Manager: User’s Guide.
- Click Save.
Set Permissions for Administering and Using Tags
- Click
, and select Manage Environment.
- Click
to display the Rules page.
- Remove all permissions except
Read from the /annotations/annotations/** object URI:
- In the search field at the top of the
Rules page, enter
annotations, and click.
- Select the
/annotations/annotations/** rule, and click

- In the Edit Rule
window, click
for each permission except Read
- Click Save.
- In the search field at the top of the
Rules page, enter
- Click
, 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. - Click Save.
- Click
, 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 - Click Save.
- Click
, 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/*/membersPrincipal type
Authenticated Users
Rule type
Grant
Permissions
Read, Delete, Add, Create, Remove, Update
Description
Enable authenticated users to add existing tags to objects. - Click Save.