`

documentum security, user privileges, object-level permissions

阅读更多
  • User privileges

Basic user privileges

 

0      None                 User has no special privileges

1      Create Type          User can create object types

2      Create Cabinet       User can create cabinets

4      Create Group         User can create groups

8      Sysadmin             User has system administration privileges

16     Superuser            User has Superuser privileges

 

The basic user privileges are additive, not hierarchical. For example, granting Create Group to a user does not give the user Create Cabinet or Create Type privileges. If you want a user to have both privileges, you must explicitly give them both privileges.

Typically, the majority of users in a repository have None as their privilege level. Some users, depending on their job function, will have one or more of the higher privileges. A

few users will have either Sysadmin or Superuser privileges.

 

User privileges do not override objectlevel permissions when repository security is turned on. However, a superuser always has at least Read permission on any object and can change the objectlevel permissions assigned to any object.

Applications and methods that are executed with Content Server as the server always have Superuser privileges.

 

Extended user privileges

 

8      Config Audit         User can execute the methods to start and stop auditing.

16     Purge Audit          User can remove audit trail entries from the repository.

32     View Audit           User can view audit trail entries.

 

The extended user privileges are not hierarchical. For example, granting a user Purge

Audit privilege does not confer Config Audit privilege also.

Repository owners, Superusers, and users with the View Audit permission can view all audit trail entries. Other users in a repository can view only those audit trail entries that record information about objects other than ACLs, groups, and users.

Only repository owners and Superusers may grant and revoke extended user privileges, but they may not grant or revoke these privileges for themselves.

 

 

What object-level permissions are

Objectlevel permissions are access permissions assigned to every SysObject (and SysObject subtype) in the repository. They are defined as entries in ACL objects. The entries in the ACL identify users and groups and define their objectlevel permissions to the object with which the ACL is associated. Each SysObject (or SysObject subtype) object has an associated ACL. For most sysObject subtypes, the permissions control the access to the object. For dm_folder, however, the permissions are not used to control access unless folder security is enabled. In such cases, the permissions are used to control specific sorts of access, such as the ability to link a document to the folder.

There are two kinds of objectlevel permissions: base permissions and extended permissions.

 

Base object-level permissions

Level

Permission Description

1

None No access is permitted

2

Browse The user can look at property values but not at associated content.

3

Read The user can read content but not update.

4

Relate The user can attach an annotation to the object.

5

Version The user can version the object, but cannot overwrite the existing version.

6

Write The user can write and update the object. Write permission confers the ability to overwrite the existing version.

7

Delete The user can delete the object.

These permissions are hierarchical. For example, a user with Version permission also has the access accompanying Read and Browse permissions. Or, a user with Write permission also has the access accompanying Version permission.

 

Extended object-level permissions

 

Change Location

In conjunction with the appropriate base permission level, allows the user to move an object from one folder to another. All users having at least Browse permission on an object are granted Change Location permission by default for that object.

Note: Browse permission is not adequate to move an object.

Change Ownership

The user can change the owner of the object.

Change Permission

The user can change the basic permissions of the object.

Change State

The user can change the document lifecycle state of the object.

Delete Object

The user can delete the object. The delete object extended permission is not equivalent to the base Delete permission. Delete Object extended permission does not grant Browse, Read, Relate, Version, or Write permission.

Execute Procedure

The user can run the external procedure associated with the object.

All users having at least Browse permission on an object are granted Execute Procedure permission by default for that object.

Change Folder Links

Allows a user to link an object to a folder or unlink an object from a folder.

The permission must be defined in the ACL associated with the folder.

The extended permissions are not hierarchical. You must assign each explicitly.

 

Default permissions

Object owners, because they have Delete permission on the objects they own by default, also have Change Location and Execute Procedure permissions on those objects also. By default, Superusers have Read permission and all extended permissions except Delete Object on any object.

 

Folder security

What folder security is

Folder security is a supplemental level of repository security. When folder security is turned on, for some operations the server checks and applies permissions defined in the ACL associated with the folder in which an object is stored or on the objects primary folder. These checks are in addition to the standard objectlevel permission checks associated with the objects ACL. In new repositories, folder security is turned on by default.

Folder security does not prevent users from working with objects in a folder. It provides an extra layer of security for operations that involve linking or unlinking, such as creating a new object, moving an object, deleting an object, and copying an object.

 

 

ACL and object-level permissions

 

Each SysObject has an associated ACL(object-level permission)

 

      SysObject    (*)                                                             User(has acl_name attribute) (*)

 

  has acl_name attribute                                  grant to user, ACL.grant(accessor,permit,xpermit)

  ACL is assigned to an sysobj                         an ACL can be granted to multi-accessors

                             

ACL(1) (accessor_name,accessor_permit,accessor_xpermit,application_permit)

 

With grant operation, Users(assessors)  associate with an ACL, so, the users have object-level permissions. The other way, each SysObject object has an ACL. Through the two steps, object-level permission is available when users access a SysObject object,

 

What an ACL is

ACL is the acronym for access control list. ACLs are the mechanism that Content Server uses to impose objectlevel permissions on SysObjects. An ACL has one or more entries that identify a user or group and the objectlevel permissions accorded that user or group by the ACL.

Each SysObject object has an ACL. The ACL assigned to most SysObjects is used to control access to the object. Folders are the exception to this. The ACLs assigned to folders are not used to defined access to the folder. Instead, they are used by folder security and may be used as default ACLs for objects stored in the folder.

Implementation overview

An ACL is represented in the repository as an object of type dm_acl. An ACLs entries are recorded in repeating properties in the object. Each ACL is uniquely identified within the repository by its name and domain. (The domain represents the owner of the ACL.) When an ACL is assigned to an object, the objects acl_name and acl_domain properties are set to the name and domain of the ACL.

After an ACL is assigned to an object, the ACL is not unchangeable. You can modify the

ACL itself or you can remove it and assign a different ACL to the object.

 

ACL is for object level permission, and RBAC is for operations control.

 

role, group, queue ? http://johnnygee.wordpress.com/page/14/

 

还是没太弄明白...

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics