Access Rules are used in Active Roles to specify conditions for authorizing user access to securable objects (target objects) that involve user groups, user claims, device groups, device claims, and target object properties. When you apply an Access Template, you can specify an Access Rule to determine the conditions that must be satisfied for the permissions resulting from the Access Template to take effect.
When configuring an Access Rule, you use the Conditional expression editor to build a conditional expression for that Access Rule. Conditional expressions are logical expressions that return either a True or False result. Once an Access Rule is configured, you can apply the Access Rule to an Access Template link (see Applying an Access Rule), which causes the link to be dynamically enabled or disabled depending on the evaluation result of the Access Rule’s conditional expression during the permission check. If the expression evaluates to True, the link is enabled and the permission check considers the Access Template permission settings. If the expression evaluates to False, the link is disabled and the Access Template permission settings are ignored.
The Access Rule management pages provide a built-in editor for configuring conditional expressions. Each Access Rule holds a certain conditional expression that evaluates during permission check. A conditional expression is composed of conditions combined using AND/OR logic. Each condition is a certain statement that specifies criteria allowing permission check to determine whether to apply a given Access Template.
When you configure a conditional expression, you need to add at least one condition, but you are not limited in the number of conditions that you can add. You can add, delete and group conditions using various operators. It is possible to nest condition groups within other condition groups to achieve the results that you want.
A condition group contains one or more conditions connected by the same logical operator. By grouping conditions, you specify that those conditions should be evaluated as a single unit. The effect is the same as if you put parentheses around an expression in a mathematical equation or logic statement.
By default, a single condition group is created when you add a condition. You can create additional condition groups to group a set of conditions and nest grouped conditions within other condition groups.
In a condition group, conditions are connected using the AND or OR logical operator:
By default, AND is the logical operator between the conditions in a condition group. You can change the logical operator by converting the condition group to a different group type.
When you add a condition, the conditional expression editor first prompts you to specify what you want the condition to evaluate. The following options are available:
-
Device claim: Evaluate a computer claim, or groups the computer account is a member of. You can choose one of the existing computer claim types or, to evaluate groups, you can select the Group item in the claim type list provided by the condition builder.
-
Target object property: Evaluate a certain property of the object to which the authorizing user requests access. You can select the desired property from a list provided by the condition builder.
-
User claim: Evaluate a user claim, or groups the user account is a member of. You can select one of the existing user claim types or, to evaluate groups, you can select the Group item in the claim type list provided by the condition builder.
Once you have specified what you want the condition to evaluate, you can choose a comparison operator and specify a comparison value. The comparison operator determines the operation of comparing the claim, group membership, or property with the comparison value you specified, and causes the condition to evaluate to TRUE or FALSE depending on the outcome of that operation.
The following comparison operators are available:
-
equals: The condition evaluates to True if the comparison value evaluates to the exact value of the claim or property; otherwise, the condition evaluates to False.
-
does not equal: The condition evaluates to False if the comparison value evaluates to the exact value of the claim or property; otherwise, the condition evaluates to True.
-
member of any: The condition evaluates to True if the comparison value lists any of the groups the user (or computer) is a member of. If the user (or computer) is not a member of any of the groups listed in the comparison value, the condition evaluates to False.
-
member of each: The condition evaluates to True if the comparison value lists only the groups the user (or computer) is a member of. If the user (or computer) is not a member of each group listed in the comparison value, the condition evaluates to False.
-
not member of any: The condition evaluates to False if the comparison value lists any of the groups the user (or computer) is a member of. If the user (or computer) is not a member of any of the groups listed in the comparison value, the condition evaluates to True.
-
not member of each: The condition evaluates to False if the comparison value lists only the groups the user (or computer) is a member of. If the user (or computer) is not a member of each group listed in the comparison value, the condition evaluates to True.
You can choose from the following options to specify a comparison value:
-
Device claim: The comparison value is the value of a certain computer claim. You can select one of the existing computer claim types from the claim type list provided by the condition builder.
-
Target object property: The comparison value is the value of a certain property of the object to which the authorizing user requests access. You can select the desired property from a list provided by the condition builder.
-
User claim: The comparison value is the value of a certain user claim. You can select one of the existing user claim types from the claim type list provided by the condition builder.
-
Value: Depending on what the condition is intended to evaluate, this option allows you to specify a particular text string, integer, Boolean value (True or False), or a list of groups. In case of a claim type that provides a list of suggested values, the condition builder prompts you to select a value from the list.
You apply Access Rules to Access Template links. A single Access Rule or no Access Rule can be applied to a given link. By default, no Access Rule is applied, which configures an unconditional link. Applying an Access Rule creates a conditional link that has an effect only if the conditional expression of the Access Rule evaluates to True during the permission check.
To apply an Access Rule, the Active Roles Console provides the Access Rule tab in the Properties dialog box for an Access Template link. You can display a list of Access Template links in a number of ways:
-
Right-click a container and then click Delegate Control. This displays a list of all Access Template links applied to that container or inherited from a higher-level container.
-
Right-click a user or group and then click Delegated Rights. This displays a list of all Access Template links applied to that user or group or inherited from another security group.
-
Right-click an Access Template and then click Links. This displays a list of all Access Template links referring to that Access Template.
In the list, double-click a link to open the Properties dialog. The Access Rule tab in that dialog box includes the following items:
-
Access Rule: This field identifies the Access Rule that is currently applied to the Access Template link. If no Access Rule is applied, this field is empty; otherwise, the field displays the name of the Access Rule along with the path to the Access Rule object in the Configuration > Access Rules container.
-
Change: Click this button to select the Access Rule you want to apply to the link.
-
Properties: Click this button to view or change the Access Rule properties, including the conditional expression of the Access Rule.
-
Clear: Click this button if you want to remove the Access Rule from the Access Template link.
-
To see if a given link has an Access Rule applied, refer to the Access Rule field in the list of Access Template links.
Access Rules allow you to deploy and manage authorization policies that include conditional expressions involving user claims, device claims, and object properties. Claims are assertions about the attributes of the user or device. When authorizing access to a given object, Active Roles can use Access Rules to evaluate the claims of the user or device requesting access along with the properties of that object, and enable the appropriate Access Template links depending upon the evaluation results.
Access Rules are held in the Access Rules container under the Configuration node in the Active Roles Console tree. You can use the Active Roles Console to: