Version 9.6
 —  Implementation Concepts  —

Using Permissions and Roles to Manage Access to the Registry

Permissions determine which operations users can perform and which set of objects they can access. There are two types of permissions in CentraSite: instance-level permissions and role-based permissions.

The following diagram illustrates the relationships between instance-level permissions, role-based permissions, users, groups and roles.

graphics/fig_UserGroupRoleRelationships.png


Instance-Level Permissions

An instance-level permission gives a specified user or group access to one particular object in the registry. Instance-level permissions, which are granted at the View, Modify or Full level, determine how a specified user or group is allowed to interact with a registry object.

This Permission Level... Enables the specified user or group to...
View
  • Access the object

  • Read the object's metadata (except its instance-level permission settings)

Modify
  • Perform all of the activities granted by the View permission

  • Edit the object's metadata (except its instance-level permission settings)

  • Read the object's instance-level permission settings

Full
  • Perform all of the activities granted by the View and Modify permissions

  • Delete the object

  • Set the object's instance-level permission settings

Note that each permission level inherits the capabilities of the preceding level.

Objects that Support Instance-Level Permissions

Access control at the instance-level is not supported by all object types in the registry. The following list identifies the types of objects on which you can control access at the instance level.

** All CentraSite users have implicit and irrevocable permission to view all instances of these object types. However, you can use instance-level permissions to restrict who can edit and delete them.

Access to other types of objects is controlled using the broader role-based permissions (described below) or is enabled contextually. (Enabled contextually means that an object is a constituent of some other "access-controlled" object. For example, the individual operations and bindings associated with a Web service are objects that can only be accessed within the context of the Service object itself. Therefore, the permissions that control access to the Service object also control access to the service's constituent objects.)

Setting Instance-Level Permissions

To set permissions on an object, you must have Full permission on the object. You can use the CentraSite Control user interface to assign instance-level permissions to any of the types of objects listed above. Additionally, you can set permissions on the following types of objects using the CentraSite plug-in for Eclipse: assets, taxonomies, report templates and supporting documents.

Besides setting instance-level permissions through the user interface, you can create design/change-time policies to automate the assignment of instance-level permissions on certain types of objects (specifically, assets and policies). For example, you might use a design/change-time policy to automatically extend access to specified groups of consumers when an asset switches to the "Deployed" state.

Profile Permissions

Assets (of any type) include an additional level of access control called a profile permission. Profile permissions enable you to control access to individual profiles within an instance of an asset.

A profile represents a collection of attributes. It is used to group the metadata for an asset when the asset is displayed in the user interface. Profiles enable CentraSite Control and the CentraSite plug-in for Eclipse to present the details for an asset in an organized manner. In CentraSite Control, for example, all of the attributes associated with a particular profile are grouped together on a separate tab.

The attributes associated with a profile are displayed on individual tabs in CentraSite Control

graphics/scrn_profiles.png

Profile permissions determine which profiles a user sees when he or she views an asset with CentraSite Control or the CentraSite plug-in for Eclipse. You might use profile permissions, for example, to limit the amount of information that consumers see for an asset.

Important:
Profile permissions restrict access at the UI level but not the API level. At the API level, profile permissions are irrelevant. If a user has view permission on an asset, he or she can access all of the asset's metadata through the API, regardless of whether profile permissions exist for the asset.

Top of page

Role-based Permissions

A role-based permission is a permission that CentraSite confers to users through a role. A role is a set of role-based permissions that you assign to users or groups.

Role-based permissions enable access to an entire set of objects or give users the ability to perform certain operations in CentraSite. Unlike instance-level permissions, which are granted directly to individual users or groups, role-based permissions are assigned to roles, and roles are assigned to users and groups. You cannot assign a role-based permission to a user or group directly.

There are two basic types of role-based permissions:

Permissions that Enable Access to Areas of the User Interface

Role-based permissions include a set of permissions that enable access to certain features and screen sets in the CentraSite Control user interface. These permissions determine which tabs are displayed to a user in CentraSite Control's navigation bar.

For example, CentraSite will not display the Policies tab to a user unless the user has the "Use the Policy UI" permission. The UI-related permissions also include permissions that enable users to view certain logs and use certain controls in CentraSite Control.

graphics/scrn_navBar.png

By default, all CentraSite users (including guests) have permission to use the Asset Catalog area of the CentraSite Control user interface. To use the other parts of the user interface, a user must belong to a role that explicitly includes the appropriate user interface permission (meaning that the role includes the actual permission itself) or implicitly includes the permission (meaning that the role includes a permission that implicitly grants the UI permission). For example, when you give a user permission to "Manage Design/Change-Time Policies", that permission implicitly grants that user permission to the "Use the Policy UI".

Permissions that Enable Access to Objects in the Registry or Repository

Role-based permissions also include permissions that enable users to create and/or work with an entire class of objects. Generally speaking, these types of role-based permissions grant a specified level of access to all objects of a specific type. For example, the Modify Assets permission grants Modify level access on all objects of type Asset. The role-based permissions enable you to apply access controls over an entire class of objects instead of assigning permissions on each instance of an object individually.

These role-based permissions are granted at varying levels. The name of the permission itself indicates the level of access that it grants.

If the name includes the following term... The permission enables users to...
View Read objects of a specified type. This level is equivalent to giving a user View instance-level permission on all objects of a given type.
Modify Read and edit objects of a specified type. This level is equivalent to giving a user Modify instance-level permission on all objects of a given type.
Create Create and read objects of a specified type. This level is equivalent to giving a user View instance-level permission of all objects of a given type and giving them the ability to create new instances of that type.
Manage Create, read, edit, delete and modify the instance-level permission of objects of a specified type and modify the object's instance-level permissions. This level is equivalent to giving a user Full instance-level permission of all objects of a given type.

Note:
Be aware that CentraSite does not provide role-based permissions at all levels for all object types. Access to certain objects types can only be granted at the Manage level, for example. Refer to the CentraSite user documentation for the role-based permissions available for each object type.

Organization-Specific vs. System-Wide Permissions

The permissions that enable access to registry/repository objects are either organization-specific or system-wide. An organization-specific permission grants a specific level of access to all objects of a given type within a specified organization. Permissions that enable access to assets, policies and lifecycle models are organization-specific. A system-wide permission grants access to objects that are available to all organizations, such as taxonomies and asset types.

System-wide permissions are generally given only to a small group of high-level administrators.

Permissions are system-wide or organization-specific

graphics/scrn_PermissionTypes.png

Top of page

Issues to Consider when Working with Permissions

CentraSite provides you with coarse-grain and fine-grain permission controls. You will use both types, depending on your needs. When working with permissions in CentraSite, keep the following points in mind:

Top of page

Roles

A role is a set of role-based permissions. Assigning a role to a user gives the user the permissions specified in the role. Roles can be assigned to individual users or to groups. CentraSite is installed with several predefined roles, including the following:

The predefined roles are usually adequate for most CentraSite implementations. However, you can create custom roles if the ones that CentraSite provides do not suit your needs. You can also modify many of the predefined roles that CentraSite supplies.

Note:
Avoid creating a role that is equivalent to the CentraSite Administrator role. The CentraSite Administrator role is specifically optimized to maximize performance. An equivalent role will not perform as efficiently as the predefined CentraSite Administrator role that is installed with CentraSite.

To create or modify a role, you must have the "Manage Users" permission for the organization to which the role belongs. Be aware, however, that you cannot create a role that has more permissions than what your own user account has. For example, if you do not have the "Manage Taxonomies" permission, you cannot create a role that includes the "Manage Taxonomies" permission.

Assigning Roles to Users

You assign roles to users or groups using the CentraSite Control user interface. A user or group can be assigned multiple roles. When a user is given multiple roles, he or she receives the union of all permissions in those roles.

Configuring the Default Roles that CentraSite Assigns to Users in an Organization

By default, CentraSite assigns the Asset Provider and Asset Consumer roles to an organization's Users group. Consequently, every user that you add to an organization receives these roles.

If you do not want users in your organization to receive these roles automatically, or if you want to customize the set of permissions that users receive by default, you can do any of the following:

For example, if you want to create an organization whose users can only consume assets, you would remove the Asset Provider role from that organization's Users group. Doing this ensures that users added to the organization only receive permission to view assets. (An administrator could, of course, selectively give specific users in the organization permission to publish assets as necessary.)

Top of page