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:
You can create a new Access Rule in the Configuration | Access Rules container, or modify an existing Access Rule in that container.
To create a new Access Rule
- Right-click the Access Rules container, and select New | Access Rule.
- On the General page, type a name and description for the new Access Rule.
- Click Next to proceed to the Conditions page.
- Configure a conditional expression and then click Finish.
To modify an existing Access Rule
- Right-click the Access Rule you want to modify, and then click Properties.
- On the General page, view or change the name and description of the Access Rule.
- On the Conditions page, view or change the conditional expression.
The Conditions page provides an editor for configuring a conditional expression. When you configure an expression, you need to add at least one condition. Initially, you add a condition to the default condition group. You can create additional condition groups to group a set of conditions and nest the grouped conditions within other condition groups.
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.
To add a condition to a condition group
- Click the name of the condition group and then click Insert condition.
OR
- Click the plus sign (+) next to the name of the condition group.
You can remove a condition, if needed, by clicking the Delete condition button labeled X on the right side of the list item representing the condition in the condition builder.
To add a condition group into another condition group
- Click the name of the condition group, point to Insert condition group, and then click an option to specify the logical operator:
- AND group The condition group evaluates to TRUE if all conditions in the group are TRUE.
- OR group The condition group evaluates to TRUE if any condition in the group is TRUE.
By default, AND is the logical operator between the conditions in a condition group. It is possible to change the logical operator by converting the condition group to a different group type: Click the name of the group, point to Convert condition group to, and then click the option appropriate to the desired logical operator.
You can remove an entire condition group, if needed, by clicking the name of the group and then clicking Delete condition group.
Once you have added a condition to a condition group, you can use the following steps to configure the condition.
To configure a condition
- Click Configure condition to evaluate, and then choose from the following options to specify what you want the condition to evaluate:
- Click Device claim to evaluate a computer claim, or groups the computer account is a member of. Then, in the claim type list, select the desired claim type, or click Group if you want the condition to evaluate the group membership of the computer account.
- Click Target object property to evaluate a certain property of the object to which the authorizing user requests access. Then, in the property list, select the desired property.
- Click User claim to evaluate a user claim, or groups the user account is a member of. Then, in the claim type list, select the desired claim type, or click Group if you want the condition to evaluate the group membership of the user account.
- Click in the middle field of the condition line to choose the comparison operator you want.
- Click Define value to compare to, and then choose from the following options to specify the desired comparison value:
- Click Device claim to perform comparison with a computer claim. Then, in the claim type list, select the desired claim type.
- Click Target object property to perform comparison with the value of a certain property of the object to which the authorizing user requests access. Then, in the property list, select the desired property.
- Click User claim to perform comparison with a user claim. Then, in the claim type list, select the desired claim type.
- Click Value to perform comparison with a particular text string, integer, Boolean value, or a list of groups. Then, supply the desired value. The value you can supply depends upon the type of data the condition is intended to evaluate. For example, when configuring a condition to evaluate group memberships, then you have to supply a list of groups as a comparison value. If the claim type you have selected to evaluate provides a list of suggested values, then you can only select a comparison value from that list.
When you configure a condition, consider the following:
- Only single-value claim types and object properties are supported. The multi-value claim types and object properties are filtered out from the lists provided by the condition builder.
- To perform comparison, a valid condition requires that values on either side of the comparison operator be of the same or compatible data type. Therefore, when you supply a comparison value, the condition builder restricts you to the options that match the data type of the claim or property you choose to evaluate. If you choose to evaluate a string-value, integer-value, or Boolean claim type or object property, then the comparison value must be a string, integer, or Boolean value, respectively.
- If you choose to evaluate the group membership of a user or device, the comparison value must be a list of groups. Other options are unavailable in this case.
Access Rules are intended to be applied 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. By applying an Access Rule, you create a conditional link that has an effect only if the Access Rule’s conditional expression evaluates to True during permission check.
To apply an Access Rule
- In a list of Access Template links, double-click the Access Template link to which you want to apply the Access Rule.
You can select Access Template links from various lists provided be the Active Roles console. Thus, you can use the Delegate Control command on a container object to display a list of all Access Template links that determine the permission settings for that container. The Links command on an Access Template displays all links of that Access Template. The Active Roles Security tab in the advanced details pane lists the Access Template links that determine the security settings for the object selected in the Active Roles console.
- In the Properties dialog box that appears, click the Access Rule tab.
- Click the Change button, and then select the Access Rule you want to apply.
From the Access Rule tab, you can also perform the following tasks:
- Choose a different Access Rule for the selected Access Template link. Click the Change button and choose the Access Rule you want.
- View or change the Access Rule applied to the selected Access Template link. Click the Properties button and then go to the Conditions page to review or modify the Access Rule’s conditional expression.
- Remove the Access Rule from the selected Access Template link. Click the Clear button to remove the Access Rule.