Policies
Policies have an Access Control List (ACL) for each controlled VOB metatype (such as element, VOB object, policy, and rolemap).
The access control entries (ACEs) in a policy list a principal and its granted permissions. Principals in a policy are usually roles, with the name of the role defined by the administrator. You can also put in specific users or groups as well, but most administrators prefer to put them into the rolemaps implementing the policy.
You create new policies with the cleartool mkpolicy command. Permission to create policies is controlled by the VOB object's effective ACL. The policy contents are supplied in a file that contains a section for each controlled metatype, listing the ACEs for that metatype. Each VOB gets a default policy (DefaultPolicy) as the result of a chflevel or mkvob operation.
Here is an example of a default policy:
policy "DefaultPolicy"
created 2012-06-26T09:36:54-04:00 by Tester Tester (tester0.user@qlnx004)
"Predefined object to represent default policy."
protected by rolemap: "DefaultRolemap"
effective access for user "mbadzak": Read
owner: tester0
group: user
contents:
vob ACL:
Everyone: rmelem,Read
User:at1.com/tester0 Full
element ACL:
Owner-User: Full
Owner-Group: rmver,mod-label,Change
policy ACL:
Owner-User: Full
Everyone: Read
rolemap ACL:
Owner-User: Full
Everyone: Read
The VOB owner has full permission if the specified environment variable (EV) CCASE_ACL_RECOVERY_MODE is set to TRUE or true. The element owner has full access to the object. Other users in the group can remove a version, attach and detach labels, and make changes to it. The default policy grants the policy/rolemap owner full permission to the policy/rolemap object. Other users can only read the policy/rolemap.
You modify policies with cleartool chpolicy to add or remove principals from a controlled metatype's ACL. Permission to modify a policy is controlled by the policy's rolemap (just like any other controlled object). You can see the effective ACL governing changes to a policy with cleartool describe -eacl policy:policy-name.
Policy modifications, made using either mkpolicy -replace or chpolicy, affect containers on the disk for all elements that are using a rolemap implementing the specified policy for ACL information. This may take a long time to execute if many elements are protected by such rolemaps. In a replicated environment with preserving replicas, importing an oplog with a policy modification modifies the containers on disk, and may also take a long time to execute.
[vob]
user:DOMAIN/backup read
Role:Manager read
Role:Developer read
Role:Integrator read
Role:Administrator Full
[element]
user:DOMAIN/backup read
Role:Manager read
Role:Developer change
Role:Integrator change