Security View Reference

The security views contain information about the permissions that are granted to users and user groups to perform operations on secured SMS object classes and instances, such as collections, packages, and reports.

Security Views

Security views can be used to query for SMS class or instance permissions for secured objects. In each view, class and instance permission values are listed as a decimal value that is the result of converting bit fields reserved for each security right. More information can be found in the next section. The security views are listed and described in the following table.

Security View

Description

v_SecuredObject

Describes the nine different types of objects in the SMS system that can be secured: Collection, Package, Advertisement, Status Message, Site, Query, Report, Software Metering Rule, and Software Updates.

The view lists the SMS objects by object key and name, as well as the default class permissions, default instance permissions, and the available instance permissions. The default permissions for SMS classes and instances are set to Read (0), and the available instance permissions for each object vary depending on what permissions are appropriate for the specific object.

The view can be joined to other security views by using the ObjectKey or ObjectName columns.

v_UserClassPermissions

Lists the SMS object key, user name, and permissions the user has to each specific secured object.

The view can be joined to other security views by using the ObjectKey column and to other views by using the UserName column.

v_UserClassPermNames

Lists the SMS object key, user name, permission name the user has to each specific secured object, and the permission number. This view contains the same information as the v_UserClassPermissions view, but instead of using one decimal value for combined permissions, it lists each permission individually by name.

The view can be joined to the other security views by using the ObjectKey column and to other views by using the UserName column.

v_UserInstancePermissions

Lists the SMS object key, user name, instance key (collection ID, advertisement ID, query ID, and so forth.), and permissions the user has to a specific instance of a secured object.

The view can be joined to the other security views by using the ObjectKey column and to other views by using the UserName or InstanceKey columns.

v_UserInstancePermNames

Lists the SMS object key, user name, permission name the user has to the specific instance of a secured object, instance key (collection ID, advertisement ID, query ID, and so forth), and permission number. This view contains the same information as the v_UserInstancePermissions view, but instead of using one decimal value for combined permissions, it lists each permission individually by name.

The view can be joined to the other security views by using the ObjectKey column and to other views by using the UserName or InstanceKey columns.

SMS Secured Objects

Class and instance permissions can be set on eight secured objects in SMS. These SMS secured objects and their associated object keys are listed in the following table.

Object Key

Object Name

1

Collection

2

Package

3

Advertisement

4

Status Message

5

(Not used)

6

Site

7

Query

8

Report

9

Software Metering Rule

How to Interpret Decimal Permission Values

In each security view there is a decimal number that equates to a specific class or instance permission. Each individual permission uses one of 18 bits. The following table lists each of these permissions, the bit that is used, and the decimal value of that bit.

Permission Name

Bit Value

Bit Position

Decimal Value

Read

1

1

1

Modify

10

2

2

Delete

100

3

4

Distribute

1000

4

8

Create Child

10000

5

16

Use Remote Tools

100000

6

32

Advertise

1000000

7

64

Modify Resource

10000000

8

128

Administer

100000000

9

256

Delete Resource

1000000000

10

512

Create

10000000000

11

1024

View Collected Files

100000000000

12

2048

Read Resource

1000000000000

13

4096

Delegate

10000000000000

14

8192

Meter

100000000000000

15

16384

Manage SQL Commands

1000000000000000

16

32768

Manage Status Filters

10000000000000000

17

65536

Manage Folder

100000000000000000

18

131072

To interpret a permission value, you can convert the decimal value to binary and use the table above to get the specific permissions. To help understand this process, two examples are listed below.

Decimal Conversion Example 1

In the v_SecuredObject view, the SMS_Site secured object has a value of 114695 for AvailableInstancePermissions. To find out what this means, first convert the decimal number to binary. This equates to 11100000000000111, in which the 1st, 2nd, 3rd, 15th, 16th, and 17th bits are used. By using the table above, the bits are interpreted as follows.

Permission Name

Decimal Value

Read

1

Modify

2

Delete

4

Meter

16384

Manage SQL Commands

32768

Manage Status Filters

65536

Decimal Conversion Example 2

In the v_SecuredObject view, the SMS_Collection secured object has a value of 6887 for AvailableInstancePermissions. This decimal number results in 1101011100111 when converted to binary. This is interpreted as follows.

Permission Name

Decimal value

Read

1

Modify

2

Delete

4

Use Remote Tools

32

Advertise

64

Modify Resource

128

Delete Resource

512

View Collected Files

2048

Read Resource

4096