Protection from accidental deletion
By default, claim type objects are protected from accidental deletion. This option prohibits all users, including domain and enterprise administrators, from deleting the claim type object. Protection is achieved by adding an explicit permission entry to the claim type object that denies everyone the right to delete the object. When you create a claim type object, the option to protect the object from accidental deletion is selected by default. As a best practice, it is advisable to leave this option selected.
Suggested values setting
The suggested values setting allows you to configure predefined values from which you can choose when using the claim type in a conditional expression. If you create a claim type without suggested values, you will have to type rather than select values in the condition builder. Another option is to create one or more suggested values for the claim type. These values will appear in a list provided by the condition builder.
You can add, edit or remove suggested values for a given claim type when creating or modifying the respective claim type object. When you add or edit a suggested value, you are prompted to complete the following fields:
-
Value: This value data will be used when evaluating conditional expressions that include the suggested value you are configuring.
-
Display name: This is the name of the suggested value that appears in the list when you configure a conditional expression.
Populating claim source attributes
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 (DCs) 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 DCs 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 DC retrieves when creating and issuing claims of that type. During authentication of a user, the claim-aware DC 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 DC retrieves information from the mapped attributes, and issues claims containing that information.
As DCs do not issue blank claims, you may encounter a situation where you have created a valid claim type but the DC does not issue the claim during authentication. This is because a claim type object merely maps claims to a certain attribute, directing the DC 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 DC 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:
-
Auto-generate the appropriate values for user and computer properties upon creation of user and computer objects.
-
Prevent invalid values from being assigned to user and computer properties, by applying validation rules or creating immutable lists of suggested values.
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 Administration Guide.
Conditional expression editor
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.