Creating a claim type object makes the Active Directory forest aware of the claim type. However, claim type objects do not provide information held in the actual claims. When issuing claims, domain controllers retrieve that information from user and computer objects. Hence, in addition to claim type objects, user and computer objects must contain the information necessary for domain controllers to issue claims.
Attribute-based claim types define the attributes from which to source the claims. These are attributes of user and computer objects. Each claim type object specifies a certain attribute that the domain controller retrieves when creating and issuing claims of that type. During authentication of a user, the claim-aware domain controller reads all enabled claim types from the user’s Active Directory forest, and maps them to the attributes of the authenticating user or computer. Then, the domain controller retrieves information from the mapped attributes, and issues claims containing that information.
As domain controllers do not issue blank claims, you may encounter a situation where you have created a valid claim type but the domain controller does not issue the claim during authentication. This is because a claim type object merely maps claims to a certain attribute, directing the domain controller to issue claims based on the information present in that attribute. If the attribute of the authenticating user or computer does not contain information, the domain controller does not issue the claim.
Therefore, it is important that claim source attributes contain information. Additionally, as authorization decisions depend upon information found in claims, claim source attributes must contain valid information. Incorrect attribute information can lead to unexpected access to data using claims-based authorization.
To ensure that claim source attributes contain valid information, you could periodically inspect and, if needed, set or correct the properties of users and computers by using the Active Roles console or Web Interface. However, it would be more practical to leverage property generation and validation policies provided by Active Roles. You can use policies to:
Property generation and validation policies allow you to specify, and enforce, conditions that the property values must meet, and determine default property values. For further information, see Property Generation and Validation in the Active Roles Administrator Guide.
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 Conditional expression editor to build a conditional expression for that Access Rule. Conditional expressions are logical expressions that provide a True or False result. Once an Access Rule has been 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 upon the evaluation result of the Access Rule’s conditional expression during permission check. If the expression evaluates to True, the link is enabled and permission check considers the Access Template permission settings; otherwise, the link is disabled and the Access Template permission settings are disregarded.
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. It is possible to 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:
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:
You can choose from the following options to specify a comparison value:
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 Access Rule’s conditional expression evaluates to True during 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:
In the list, double-click a link to open the Properties dialog box. The Access Rule tab in that dialog box includes the following items: