Access Manager
Access Manager
Access Manager
PLM00020 - 13.0
Contents
• Defining rules.
Note:
With the exception of the Create privilege, rules and ACLs do not control the creation of objects.
They only determine what operations can be performed on existing objects. An administrator
controls which objects a user can create using other means such as:
• Using the Command Suppression application to suppress the display of menus and commands
• Deploying a BMIDE condition to prevent creation of certain objects, which is commonly used in
the Change Management module
• Deploying a BMIDE type display rule to create display rules that hide specific types when
creating new objects using the File→New menus
• Object metadata and business rules that are defined and maintained using the Business Modeler IDE.
Prerequisites You need Teamcenter administrator privileges to use the Access Manager
application.
Enable Access Access Manager does not need to be enabled before you use it, but during
Manager installation, this feature must be selected.
If you have trouble accessing Access Manager, see your system administrator; it
may be a licensing issue.
Note:
You can log on to Teamcenter only once. If you try to log on to more than
one workstation at a time, you see an error message.
View administration The Administration Data Report site located in the References for
data Administrators and Customizers contains the Administration Data
Documentation report, which provides a list of default administration values.
Select the Access Manger tile to expand the view of all default elements
(rules, named ACLs, and privileges) with descriptions and values.
Select the Preferences tile for information about the default preferences and
their values.
The Administration Data Report is described in more detail in the Managing
Administration Data manual.
1 Rule tree pane Enables you to view the structure of your access rules by
expanding and collapsing branches. Select a rule in the tree
to see the rule properties and named ACLs in the rule
properties pane and the named ACL table.
2 Rule properties Displays the condition and value for the rule selected in the
rule tree. You can modify these properties and then create
or modify a rule. You can delete the selected rule.
3 Named ACL table Displays the ACL name and accessor entries for the rule
selected in the rule tree. You can create, modify, and delete
named ACLs.
File→Import Browses for the ASCII file containing the rule tree data and then
imports the file.
File→Export Browses for the ASCII file containing the rule tree data and then
exports the file.
Edit→Up Moves a rule tree entry up one branch at a time within the same
level.
Edit→Down Moves a rule tree entry down one branch at a time within the same
level.
Button Description
Move Rule Up Moves a rule tree entry up one branch at a time within the same
level.
Move Rule Down Moves a rule tree entry down one branch at a time within the same
level.
• The button to the right of the access control entry (ACE) table
adds a new row to the table.
• The button at the bottom of the pane adds the rule to the Access
Manager tree.
Modify Modifies the selected rule and/or access control list (ACL).
• The button to the right of the ACL Name box deletes the selected
ACL.
• The button at the bottom of the pane deletes the selected rule
from the Access Manager tree.
• The button at the top right of the ACE table saves the ACL.
Button Description
Create ACL Creates the ACL after you enter a name in the ACL Name box.
Localization Displays the Language Translations dialog box that lists existing
translation values for the names of ACL rules. By default, it is
disabled. Enable it by selecting an ACL.
Access Manager uses symbols to represent privileges that can be granted using access control lists
(ACLs).
Within the rich client user interface, application functionality is provided in perspectives and views.
View The basic display component that displays related information in a UI window.
Perspective A collection of one or more views and their layout.
Some applications use a perspective with multiple views to arrange how functionality is presented.
Other applications use a perspective with a single view.
You can use the HiddenPerspectives preference to prevent the display of some Teamcenter
perspectives in the rich client.
If your site has online help installed, you can access application and view help from the rich client Help
menu or by pressing F1.
Object protection and ownership are extremely important in a distributed computing environment.
Objects represent actual product information in the database and must be protected from unauthorized
or accidental access, modification, and deletion. Teamcenter implements two different tiers of data
protection:
• Object-based protection is a secondary security mechanism that allows you to grant exceptions to
rules.
Rules-based protection
• Granting privileges to the data according to the users' IDs and their session context (the group and
role they used to log on).
Note:
Rules do not control the creation of objects. They only determine what operations can be
performed on existing objects.
• A condition.
The condition and value identify the set of objects to which the rule applies; the ACL defines the
privileges granted to users (accessors).
User actions against objects cause the rule tree to be evaluated to dynamically build an access control
list for the object. The ACL controls permissions for the object and determines who (accessors) can do
what (actions) to the object.
Object-based protection uses access control lists (ACLs) to create exceptions to rules-based protection on
an object-by-object basis.
Teamcenter uses ACLs to determine access to an object. Users with proper permissions can override the
ACL for an object to grant or deny permissions for certain users but only when the rule tree allows.
For example, the rule tree does not allow object-based access rules to override the rules-based
protection when:
Note:
ACLs do not control the creation of objects. They only determine what operations can be
performed on existing objects.
• Each ACL contains a list of accessors and the privileges granted, denied, or not set for each
accessor.
• Each individual pairing of an accessor with their privileges is considered a single access control
entry (ACE).
Access control lists (ACLs) contain a list of accessors and the privileges granted, denied, or not set for
each accessor. Accessors are collections of users who share certain common traits, such as membership
in the group that owns the object or membership in the project team. Just as rules have a precedence
weighting in the rule tree, accessor precedence weighting is considered when the ACL is evaluated.
Each pairing of an accessor with corresponding privileges in the list is referred to as an access control
entry (ACE). An ACL can be comprised of one or many ACEs.
ACLs are associated with conditions in the rule tree as part of a rules-based security model, and they can
be used in more than one rule.
In addition, object ACLs grant exceptions to rules-based protection and are created by users with change
privileges.
Note:
• If an ACL is modified by a user, other users who are logged on at the same time are not affected
by the updated ACL until they log off and log on again.
• ACLs do not control the creation of objects. They only determine what operations can be
performed on existing objects.
System Administrator
World
Lifecycle of data
All data in an enterprise typically passes through three basic phases, Released, In-Process, and
Working.
Released Data is formalized and must be protected from modification. Released data is
often consumed by users outside the authoring group; whereas, in-process and
working data is consumed by authors and generally requires more restrictive read
access.
for last-minute changes. The primary objective for protecting in-process data is to
ensure that it is tightly controlled while it is being released.
Working Data is not very firm and is expected to undergo many changes before it is
released. The objective for protecting working data is to ensure that only the
proper persons have permission to view, modify, or manipulate the data.
Rules are organized in the Access Manager rule tree and are evaluated based on their placement within
the tree structure. The default rule tree included in your Teamcenter installation assumes that users are
granted privileges unless explicitly denied.
The rule tree acts as a filter that an object passes through when a user attempts to access the object.
When conditions that apply to the selected object are met, the privileges defined in the ACL are applied.
• The rules are evaluated from the top to the bottom of the tree.
• Rules at the top take precedence over rules at the bottom of the tree.
The rule tree appears to the left of the Access Manager window.
For a list of default rule conditions, see the Access Manager Guide.
• If you have many custom rules, migrate your legacy rule tree and then manually add new
Teamcenter-supplied rules:
1. Create a backup of your existing rule tree using the Access Manager Export action.
2. Upgrade your Teamcenter configuration to Teamcenter 13.0. During Teamcenter upgrade, TEM
automatically imports your legacy rule tree to Teamcenter 13.0.
4. Start Access Manager and add rules introduced to Teamcenter since your previous version.
• If you have few or no custom rules, use the standard Teamcenter 13.0 rule tree and then manually
add your custom rules.
1. Create a backup of your existing rule tree using the Access Manager Export action.
3. Upgrade your Teamcenter configuration to Teamcenter 13.0. During Teamcenter upgrade, TEM
automatically imports your legacy rule tree to Teamcenter 13.0.
4. Import the standard Teamcenter 13.0 rule tree using the am_install_tree utility. Use the
mode=replace_all argument to overwrite the legacy rule tree with the Teamcenter 13.0 rule
tree. The utility automatically creates ACLs and privileges during import.
5. Manually add your custom rules into the rule tree in the appropriate locations.
The Access Manager supports localization. This includes locale-specific display names of access control
list (ACL) objects, privilege names, and accessor type values such as group names and role names. This
localization capability is provided using text server XML files. The rule tree import/export functionality
supports XML format input files.
The am_install_tree utility supports both ASCII text format and XML format rule tree files. However,
export in the Access Manager application generates the output file only in XML format. This allows
exported ACL name translations to be migrated to other sites.
<named_acls>
<named_acl>
<acl_name>Working</acl_name>
<acl_name language="fr_FR">working_fr</acl_name>
<acl_name language="de_DE">working_de</acl_name>
<acl_name language="jp_JP">working_jp</acl_name>
<ace_entry>
<accessor_type>group</accessor_type>
<accessor>dba</accessor>
<grant>
<p>READ</p>
<p>WRITE</p>
<p>COPY</p>
</grant>
<revoke>
<p>DELETE</p>
<p>CHANGE</p>
</revoke>
</ace_entry>
<ace_entry>
<accessor_type>Owning Group</accessor_type>
<accessor> </accessor>
<grant>
<p>READ</p>
<p>WRITE</p>
<p>COPY</p>
</grant>
<revoke>
<p>DELETE</p>
<p>CHANGE</p>
</revoke>
</ace_entry>
</named_acl>
<named_acl>
<acl_name>In Project ACL</acl_name>
<grant>
<p>READ</p>
<p>WRITE</p>
<p>COPY</p>
</grant>
<revoke>
<p>DELETE</p>
<p>CHANGE</p>
</revoke>
</ace_entry>
<ace_entry>
<accessor_type>Owning Group</accessor_type>
<accessor> </accessor>
<grant>
<p>READ</p>
<p>WRITE</p>
<p>COPY</p>
</grant>
<revoke>
<p>DELETE</p>
<p>CHANGE</p>
</revoke>
</ace_entry>
</named_acl>
</named_acls>
<rule_tree>
<tree_node>
<rule_name>Has Class</rule_name>
<rule_argument>POM_object</rule_argument>
<acl_name></acl_name>
<tree_node>
<rule_name>Has Bypass</rule_name>
<rule_argument>true</rule_argument>
<acl_name>Bypass</acl_name>
</tree_node>
<tree_node>
<rule_name>Has Status</rule_name>
<rule_argument></rule_argument>
<acl_name>Vault</acl_name>
</tree_node>
<tree_node>
<rule_name>Has Class</rule_name>
<rule_argument>POM_application_object</rule_argument>
<acl_name>Working</acl_name>
<tree_node>
<rule_name>Has Class</rule_name>
<rule_argument>Dataset</rule_argument>
<acl_name>Dataset ACL</acl_name>
</tree_node>
</tree_node>
</tree_node>
</rule_tree>
</Tc_data_access_config>
Access Manager rule tree example
The Access Manager rules can be displayed by clicking the Access Manager tile.
The Rule Tree lists the rules in the rule tree hierarchy.
Rules are defined by a combination of a condition, a value for that condition, and an access control list
(ACL) that grants privileges to accessors.
• The condition and value identify the set of objects to which the rule applies.
• The ACL defines the privileges that are granted to users (accessors) specified in the ACL.
Example ACL
Rule syntax
The parts of the rule can be thought of as an IF clause and a THEN clause.
• The condition and value supply the IF part of the rule and examine the object with Boolean logic.
• The access control list (ACL) supplies the THEN part of the rule by describing the access permission.
For example:
In this example, Has Type is the condition, UGMASTER is the value, and UG Model is the name of the
ACL.
When a user attempts to access data, the rule tree is evaluated to determine the privileges to be granted
or denied. The following assumptions apply to the evaluation:
• Rules higher in the rule tree are more global in nature and apply to all object types.
• Lower-level rules refine access to more specific objects such as UGMASTER datasets. For example:
Has Class(POM_application_object)
Has Class(Dataset)
Has Type(UGMASTER)
• Precedence determines the privileges granted. Rule precedence is from top to bottom in the tree,
with the highest rule having greatest precedence and the lowest rule having least precedence.
• Accessor precedence in the ACL and rule precedence within the tree are both considered when
granting access privileges. Accessors have a predefined precedence in the system.
Note:
The way Access Manager evaluates Master forms does not follow the normal rules. Master forms
inherit access privileges from the parent item or item revision, so if you change access privileges
to an item or item revision, you affect the privileges on the Master form. You can use the
TC_MASTERFORM_DELEGATE environment variable to change the default behavior.
The rule tree evaluation results in an effective ACL. The effective ACL represents the cumulative
compilation of all the named ACLs that apply to the object the user is trying to access.
• Trim rules that do not apply to the object because their conditions are false.
Note:
The rules are not removed from the tree, but they are ignored during evaluation.
• Evaluate subbranch rules in order of precedence, from top to bottom, in the event that there are
multiple subbranch rules.
The effective ACL is determined by compiling the ACLs in the order that the tree is traversed.
This example rule tree shows the order of precedence in the left column, assuming all conditions are
met.
• The first two rows are the first two rules evaluated because they are highest in the tree and have no
subbranch.
• The third row only gets evaluated after all its subbranches are evaluated.
When the user attempts to access a UGMASTER dataset, the rule tree is trimmed to reflect only those
rules that apply to the object.
Has Class(POM_object)
Has Class(Dataset)
Based on the trimmed rule tree, the effective ACL is compiled by evaluating the tree (from bottom to
top) as follows:
1. Find the topmost leaf node in the tree, in this case, Has Type(UGMASTER) –> UGMASTER. Add the
UGMASTER ACL to the effective ACL.
2. Find the next node, Has Class(Dataset). This node has no associated ACL, so it does not contribute
to the effective ACL.
3. Find the next node, Has Class(POM_application_object) –> Working. Add the Working ACL to
the effective ACL.
4. Find the next node, Has Class(POM_object). This node has no associated ACL, so it does not
contribute to the effective ACL.
ACL
Accessor User Read Write Delete Change Promote Demote Copy
Role in Owning Group Designer UGMASTER
World UGMASTER
World Working
The effective ACL is evaluated when a user attempts to access a UGMASTER dataset. The lines that do
not apply to the user are ignored. For example, if you are a designer in the owning group of the
UGMASTER dataset, but you are not the owning user, system administrator, or group administrator, the
following entries in the ACL are applied when you try to access a UGMASTER dataset.
World
World
After the effective ACL is trimmed to include only the entries that apply to the user attempting to access
the dataset, the privileges in the remaining ACL entries are evaluated. This is done by working down
each privilege column until you encounter a granted or denied symbol.
In this example, the privilege evaluation grants the accessor read, write, and copy privileges and denies
the accessor delete, change, promote, and demote privileges.
This simplified view of the default rule tree is used in the following example:
Has Class(POM_object)
Has Bypass(true) –> Bypass
Has Status( ) –> Vault
Has Class(POM_application_object) –> Import/Export
A user, Jim Smith, attempts to open the MyDataset text dataset with released status. To perform this
action, Jim Smith needs read privileges on the dataset.
The following ACLs are considered when the sample rule tree is evaluated:
1. The Has Bypass(true) –> Bypass rule is evaluated. This high-level rule grants system
administration privileges to users.
Result: Jim does not have bypass set, nor is he a system administrator; therefore, this rule
condition is false and the Bypass ACL is not applied. The evaluation moves down the tree to the
next branch.
2. The Has Status() –> Vault rule is evaluated. This rule evaluates whether the object has an attached
status type. If yes, the Vault ACL is applied.
Result: The MyDataset dataset is in released status; therefore, the rule condition is true and the
Vault ACL is applied.
Vault ACL
The Vault ACL grants all users read and copy privileges and denies all users write, delete, change,
promote, and demote privileges. The World accessor represents all users.
Accessor User Read Write Delete Change Promote Demote Copy CICO
World
3. The Has Class(POM_application_object_) –> Import/Export rule is evaluated. This rule evaluates
whether the object is of the POM_application_object class. If yes, the Import/Export ACL is
applied to the object.
Result: All workspace objects, including datasets, are subclasses of the POM_application_object
class; therefore, the rule condition is true and the Import/Export ACL is applied.
Import/Export ACL
The Import/Export ACL grants all users (world) export, import and transfer in privileges and denies
all users transfer out privileges. In addition, this ACL grants remote site users import privileges and
denies remote site users transfer in privileges. The Import/Export ACL neither explicitly grants or
denies read privileges.
Remote Site
This view of the default rule tree is used in the example that follows:
Has Class(POM_object)
In Job(true)
Has Class(Dataset)
A user, Jim Smith (jsmith), a designer in the engineering group, attempts to modify the MyPart
UGMASTER dataset with working status. To perform this action, Jim Smith needs write privileges on the
dataset.
The following ACLs are considered when the sample rule tree is evaluated:
1. The Has Bypass(true) –> Bypass rule is evaluated. This high-level rule grants system
administration privileges to users.
Result: Jim does not have bypass set, nor is he a system administrator; therefore, this rule
condition is false and the Bypass ACL is not applied. The evaluation moves down the tree to the
next branch.
2. The In Job(true) rule is evaluated. This rule evaluates whether the object is in a workflow.
Result: No ACL is defined, therefore, the condition being true has no effect. The evaluation moves
down the tree to the next branch.
3. The Has Status() –> Vault rule is evaluated. This rule evaluates whether the object has an attached
status type. If yes, the Vault ACL is applied.
Result: The MyPart dataset is in working status; therefore, the rule condition is false and the Vault
ACL is not applied.
4. The Has Object ACL(true) rule is evaluated. This rule evaluates whether an ACL exists for the
object.
Result: No object ACL is defined by a user; therefore, the condition is false and has no effect. The
evaluation moves down the tree to the next branch.
5. The Has Class(Item) –> Items rule is evaluated. This rule evaluates whether the object is of class
item. If yes, the Items ACL is applied.
Result: The MyPart is of class dataset not item; therefore, the rule condition is false and the Items
ACL is not applied.
6. The Has Class(Item Revision) –> Item Revs rule is evaluated. This rule evaluates whether the
object is of class item revision. If yes, the Items ACL is applied.
Result: The MyPart dataset is of class dataset not item revision; therefore, the rule condition is
false and the Item Revs ACL is not applied.
7. The Has Type(UGMASTER) –> UGMASTER rule is evaluated. This rule evaluates whether the object
is of class UGMASTER. If yes, the Items ACL is applied.
Result: The MyPart dataset is of class UGMASTER; therefore, the rule condition is true and the
UGMASTER ACL is applied.
UGMASTER ACL
The UGMASTER ACL explicitly grants write access to users who fill the Designer role in the owning
group and explicitly denies write access to all other users in the owning group.
8. The Has Class(Dataset) rule is evaluated. This rule evaluates whether the object is of class dataset.
Result: The MyPart dataset is of class dataset; therefore, the rule condition is true. No ACL is
defined, therefore the condition being true has no effect.
9. The Has Class(POM_application_object) –> Working rule is evaluated. This rule evaluates
whether the object is of the POM_application_object class. If yes, the Working ACL is applied to
the object.
Result: All workspace objects, including datasets, are subclasses of the POM_application_object
class; therefore, the rule condition is true and the Working ACL is applied.
Working ACL
The Working ACL explicitly grants write, delete, and change privileges to owning users and write
privileges to the owning group. It also grants delete and change privileges to the group
administrator and the system administrator. All other users are granted read and copy privileges
and explicitly denied write, delete, change, promote, and demote privileges.
Group Administrator
Owning Group
System Administrator
World
Result: After all the rules are evaluated, the following is the result. Note that the Working ACL grants
the owning group write permission, but the UGMASTER ACL already removed that privilege. The figure
also shows the applied named ACL.
Accessor User Read Write Delete Change Promote Demote Copy Named ACL
World Import
/Export
Remote Site Import/
Export
Role in Owning Designer UGMASTER
Group
Owning Group UGMASTER
System Working
Administrator
World Working
Tip:
You must always save the rule or ACL after making modifications.
The following table lists the access conditions by category. Click a condition to learn more about it.
Condition Description
Administrative
Has Application Provides additional security to administration applications, for example, Organization, Access
Manager, and Authorization.
Has Bypass Specifies whether the user has bypass privileges set. Bypass privilege supersedes other
privileges.
This privilege allows administrators to make changes that could potentially cause unintended
loss of data and have serious repercussions that are normally guarded against by access rules.
Has Metadata Class Provides additional security to property conditions and other metadata.
General
Has Attribute Specifies an attribute and value associated with a particular class.
Has Class Specifies an object class. The object is evaluated to determine if it is of the specified class.
Has Classification Validates the custom classification attribute value of the object against the value specified for
the condition.
Has Description Specifies a description for the object. The object is evaluated to determine whether the
description matches this value.
Has Digital Signature Specifies whether a business object has a digital signature of the specified status.
Has Form Attribute Enables access control of items and item revisions by setting conditions on attributes of the
Masterform class.
Has Item Key Specifies a multifield key identifier against which the item is evaluated.
Condition Description
Has Object ACL Specifies that an ACL is associated with an object. This condition does not expect an ACL
attached to a rule. It is a placeholder that indicates the point at which process ACLs and
object ACLs are applied in the rule tree hierarchy.
Has Property Specifies the value of a compound property against which an object is evaluated.
Has Status Specifies the status type against which the object is evaluated.
Has Type Specifies the object type against which the object is evaluated.
Inactive Sequence Specifies that previous sequences are historical and cannot be worked on independently. The
latest sequence is always the working sequence for the revision.
Note:
This condition is used in conjunction with the Inactive Sequence Objects ACL.
In Job Specifies whether the target object is in a workflow job (process). This condition does not
expect an ACL attached to a rule. It is a placeholder that indicates the point at which
workflow ACLs are applied in the rule tree hierarchy.
Note:
No subbranches can be added below the In Job branch in the Access Manager rule
tree.
Is Local Specifies whether the object's residence in the local database is evaluated. This condition is
used when Multi-Site Collaboration is implemented.
Is Sponsored Mode Checks whether the Teamcenter session is in sponsored mode. It enables end users to
configure rules to enforce data access control when the Teamcenter session is launched in
sponsored mode.
Site Geography Checks whether the given geography matches the geography of the site being evaluated.
User Has Digital Signature Specifies whether a business object has a digital signature of the specified status in the
context of the logged-on user.
Ownership/Accessor based
Current Group Is Checks the current logged-on group that is set in the session. It enables end users to
configure access rules for the Sponsor group.
Is Current Group External Evaluates whether the security of the current logged in group is external.
Is GA Specifies whether the user's status as a group administrator in the current group is evaluated.
Is Group External Evaluates whether the object under consideration is Group object and has external security.
Is Group Member External Evaluates whether the object under consideration is GroupMember and belongs to a group
that has external security.
Is Group Same As Current Evaluates whether the object under consideration is Group and is the same as the current
Group logged in group that has external security.
Condition Description
Is Member Group Same As Evaluates whether the group member object belongs to the same group as the current
Current Group logged on group.
Owning Group Evaluates whether the object is owned by the group under which the user is logged on to
Teamcenter.
Owning Group Has Security Evaluates whether the owning group of the object has a security string. This condition is true
only if the security value of the owning group is equal to the value of this condition.
Owning Site Evaluates whether the object is owned by the specified site. This condition is used when
Multi-Site Collaboration is implemented.
Owning User Evaluates whether the object is owned by the specified user.
Is User External Evaluates whether the user object is from a group whose security is external.
Is User In Current Group Evaluates whether the user object under evaluation has current group membership.
Incremental Change
In IC Context Enables structure edits (occurrence edits, occurrence notes, transform edits, and attachment
edits) to be controlled by the Structure Manager, Manufacturing Process Planner, Multi-
Structure Manager, or Part Planner application.
Project
In Current Project Specifies the project ID against which the object is evaluated.
Note:
This rule is not delivered with the default installation of Teamcenter. It must be added
manually.
Is Project Member Specifies whether the user's membership in the project is evaluated. This condition is only
true when the user is a current member of the project.
Has Project Of Category Checks whether the workspace object being evaluated has any project assigned of the given
category.
Program
In Current Program Specifies access based on whether the program to which the data is assigned is the current
program under which the user is logged on to Teamcenter.
In Inactive Program Controls access to data based on whether the status of the owning program is inactive.
In Invisible Program Controls access to data based on whether the status of the owning program is invisible.
Is Owned By Program Controls access to data based on whether data is owned by the program specified as a value
for the Is Owned By Program condition.
Is Program Member Specifies whether the user's membership in the program is evaluated. This condition is only
true when the user is a member of the owning program or a shared program.
Condition Description
ADA License Has Checks whether the ADA license being evaluated has the given citizenship.
Citizenship
Citizenship On Any ADA Lic Checks whether the citizenship of the user being evaluated matches any of the citizenships
applied to the ADA licenses attached to the workspace objects.
Has ADA License Of Checks whether the workspace object being evaluated has any ADA license of the given
Category category.
Has Named ADA License Checks whether a specific ADA license is attached to the workspace objects being evaluated.
User In Attach ADA Lic of Checks whether the user being evaluated is listed in the ADA license attached to the
Ctgry workspace objects. The given category must match that on the ADA license.
User In Attached License Checks whether the user being evaluated is listed on any or all of the ADA licenses attached
to the workspace objects.
User In License Verifies that the user being evaluated is listed in the ADA license.
User In Named License Checks whether the user being evaluated is listed on an ADA license of the specified name. It
does not check if the license is attached to the workspace objects being evaluated.
User-ADA Lic Has Checks whether the user's citizenship matches the passed-in value and then sees if the user's
Citizenship citizenship is on any of the ADA licenses attached to the workspace object being evaluated.
Citizenship On Any ITAR Lic Checks whether a citizenship of the user being evaluated matches any of the citizenships
applied to the ITAR licenses attached to the workspace objects.
Group Nationality Checks whether the given nationality matches the group nationality.
Has Government Compares the classification level in the condition argument with the object classification
Classification level. If the object is not classified, or if the object classification level is less than that of the
given classification in the argument, this condition returns True.
Has ITAR License Of Checks whether the workspace object being evaluated has any ITAR license of the given
Category category.
Has Named ITAR License Checks whether a specific ITAR license is attached to the workspace objects being evaluated.
ITAR License Has Checks whether the ITAR license being evaluated has the given citizenship.
Citizenship
Site Geography Checks whether the given geography matches the geography of the site being evaluated.
User Citizenship Checks whether the given citizenship matches the citizenships of the user being evaluated.
User Citizenship Or Checks whether the given citizenship matches the citizenship or nationality of the user being
Nationality evaluated.
User Declared Geography Checks whether the given geography matches the geography the user declared when
logging on to the system.
Condition Description
Note:
For more information about User Declared Geography, see Configure geography
access.
User Geography Checks whether the given geography matches the geography of the user being evaluated.
User Has Government Checks whether the government classification level of the user being evaluated is equal to,
Clearance greater than, or less than the value specified in the condition.
User In Attach ITAR Lic of Checks whether the user being evaluated is listed in the ITAR licenses attached to the
Ctgry workspace objects. The given category must match that on the ITAR license.
User In Attached ITAR Checks whether the user being evaluated is listed on any or all of the ITAR licenses attached
License to the workspace objects.
User In Named ITAR License Checks whether the user being evaluated is listed on an ITAR license of the specified name. It
does not check if the license is attached to the workspace objects being evaluated.
User Is ITAR Licensed Checks whether the user currently logged on is cited in a valid (not expired) ITAR license
attached to the workspace object either directly or by membership in a cited organization
(group).
User Nationality Checks whether the given nationality matches the nationality of the user being evaluated.
User TTC Expired Checks whether the current date is later than the technology transfer certification (TTC) date
on the User object.
User-ITAR Lic Has Checks whether the user's citizenship matches the passed-in value and then sees if the user's
Citizenship citizenship is on any of the ITAR licenses attached to the workspace object being evaluated.
Citizenship On Any IP Lic Checks whether the citizenship of the user being evaluated matches any of the citizenships
applied to the IP licenses attached to the workspace objects.
Has IP Classification Checks whether the IP classification of the workspace object being evaluated is equal to,
greater than, or less than the value specified in the condition.
Has IP License Of Category Checks whether the workspace object being evaluated has any IP license of the given
category.
Has Named IP License Checks whether a specific IP license is attached to the workspace objects being evaluated.
Has No IP Classification Checks whether the workspace object does not have a value specified in the IP classification
attribute.
IP License Has Citizenship Checks whether the IP license being evaluated has the given citizenship.
User Has IP Clearance Checks whether the IP clearance level of the user being evaluated is equal to, greater than, or
less than the value specified in the condition.
User In Attach IP Lic of Checks whether the user being evaluated is listed in the IP license attached to the workspace
Ctgry objects. The given category must match that on the IP license.
User In Attached IP License Checks whether the user being evaluated is listed on any or all of the IP licenses attached to
the workspace objects.
Condition Description
User In Named IP License Checks whether the user being evaluated is listed on an IP license of the specified name. It
does not check if the license is attached to the workspace objects being evaluated.
User Is IP Licensed Checks whether the user being evaluated is listed on an IP license attached to the workspace
object.
User-IP Lic Has Citizenship Checks whether the user's citizenship matches the passed-in value and then sees if the user's
citizenship is on any of the IP licenses attached to the workspace object being evaluated.
Exclude licenses
Citizenship On Any Exclude Checks whether the citizenship of the user being evaluated matches any of the citizenships
Lic applied to the exclude licenses attached to the workspace objects.
Exclude License Has Checks whether the exclude license being evaluated has the given citizenship.
Citizenship
Has Exclude License Of Checks whether the workspace object being evaluated has any exclude license of the given
Category category.
Has Named Exclude License Checks whether a specific exclude license is attached to the workspace objects being
evaluated.
User In Attach Excl Lic of Checks whether the user being evaluated is listed in the exclude license attached to the
Ctgry workspace objects. The given category must match that on the exclude license.
User In Attached Exclude Checks whether the user being evaluated is listed on any or all of the exclude licenses
License attached to the workspace objects.
User In Named Exclude Checks whether the user being evaluated is listed on an exclude license of the specified
License name. It does not check if the license is attached to the workspace objects being evaluated.
User Is Excluded Checks whether the user being evaluated is listed on an exclude license attached to the
workspace object.
User-Exclude Lic Has Checks whether the user's citizenship matches the passed-in value and then sees if the user's
Citizenship citizenship is on any of the exclude licenses attached to the workspace object being
evaluated.
CATEGORY
License by Category
DESCRIPTION
Checks whether the ADA license being evaluated has the given citizenship.
Note:
Citizenships are a two-letter country code from ISO 3166 (for example, Germany’s country code is
DE). A user can have multiple citizenships.
CONDITION EVALUATION
true If any of the citizenships of the ADA license being evaluated match the specified
citizenship, the condition evaluates to true.
false If none of the citizenships of the ADA license being evaluated match the specified
citizenship, the condition evaluates to false.
INPUT ARGUMENTS
CATEGORY
DESCRIPTION
Checks whether any or all of the citizenships of the user being evaluated matches any of the citizenships
on the ADA licenses attached to the workspace objects.
Note:
Citizenships are a two-letter country code from ISO 3166 (for example, Germany’s country code is
DE). A user can have multiple citizenships.
CONDITION EVALUATION
true • If set to Any, the condition evaluates to true if any citizenship of the user being
evaluated matches the user citizenships applied to any nonexpired ADA licenses
attached to the workspace object being evaluated.
• If set to All, the condition evaluates to true if all of the citizenships listed for the user
being evaluated are found on any nonexpired ADA licenses. Each of the user’s
citizenships must be on at least one of the nonexpired ADA licenses but does not
have to be on each nonexpired ADA license.
false • If set to Any, the condition evaluates to false if none of the citizenships of the user
being evaluated match the user citizenships applied to any nonexpired ADA license
attached to workspace object being evaluated.
• If set to All, the condition evaluates to false if at least one of the citizenships listed
for the user being evaluated is not found on any nonexpired ADA licenses.
INPUT ARGUMENTS
• Any
• All
• (Custom License:{Any|All})
CATEGORY
DESCRIPTION
Checks whether the citizenship of the user being evaluated matches any of the citizenships applied to
the exclude licenses attached to the workspace objects.
Note:
Citizenships are a two-letter country code from ISO 3166 (for example, Germany’s country code is
DE). A user can have multiple citizenships.
CONDITION EVALUATION
true • If set to Any, the condition evaluates to true if any citizenship of the user being
evaluated matches the user citizenships applied to any of the nonexpired exclude
licenses attached to the workspace object being evaluated.
• If set to All, the condition evaluates to true if all of the citizenships of the user being
evaluated match any of the user citizenships applied to the nonexpired exclude
licenses attached to the workspace object being evaluated. Each of the user
citizenships must be on at least one of the nonexpired exclude licenses but does not
have to be on each nonexpired exclude license.
false • If set to Any, the condition evaluates to false if none of the citizenships of the user
being evaluated matches the user citizenships applied to any of the nonexpired
exclude licenses attached to workspace object being evaluated.
• If set to All, the condition evaluates to false if at least one of the citizenships of the
user being evaluated is not found on any of the nonexpired exclude licenses
attached to workspace object being evaluated.
INPUT ARGUMENTS
Any or All
CATEGORY
DESCRIPTION
Checks whether any or all of the citizenships of the user being evaluated matches any of the citizenships
on the IP licenses attached to the workspace objects.
Note:
Citizenships are a two-letter country code from ISO 3166 (for example, Germany’s country code is
DE). A user can have multiple citizenships.
CONDITION EVALUATION
true • If set to Any, the condition evaluates to true if any citizenship of the user being
evaluated matches the user citizenships applied to any of the nonexpired IP licenses
attached to the workspace objects.
• If set to All, the condition evaluates to true if all of the citizenships of the user being
evaluated matches the user citizenships of any nonexpired IP licenses attached to
the workspace objects. Each of the user citizenships must be on at least one of the
nonexpired IP licenses but does not have to be on each nonexpired IP license.
false • If set to Any, the condition evaluates to false if none of the citizenships of the user
being evaluated match the user citizenships applied to any of the nonexpired IP
license attached to the workspace object being evaluated.
• If set to All, the condition evaluates to false if at least one of the citizenships of the
user being evaluated is not found on any nonexpired IP licenses.
INPUT ARGUMENTS
Any or All
CATEGORY
DESCRIPTION
Checks whether a citizenship of the user being evaluated matches the any of the citizenships applied to
the ITAR licenses attached to the workspace objects.
Note:
Citizenships are a two-letter country code from ISO 3166 (for example, Germany’s country code is
DE). A user can have multiple citizenships.
CONDITION EVALUATION
true • If set to Any, the condition evaluates to true if any citizenship of the user being
evaluated matches the user citizenships applied to any of the nonexpired ITAR
licenses attached to the workspace objects.
• If set to All, the condition evaluates to true if all of the citizenships of the user being
evaluated are found on any of the nonexpired ITAR licenses attached to the
workspace objects. Each of the user citizenships must be on at least one of the
nonexpired ITAR licenses but does not have to be on each nonexpired ITAR license.
• If none of the nonexpired ITAR licenses attached to the workspace objects have user
citizenships applied, the condition evaluates to true.
false • If set to Any, the condition evaluates to false if none of the citizenships of the user
being evaluated matches the user citizenships applied of any nonexpired ITAR
license attached to workspace object being evaluated.
• If set to All, the condition evaluates to false if at least one of the citizenships of the
user being evaluated is not found on any nonexpired ITAR licenses.
INPUT ARGUMENTS
Any or All
Current Group Is
CATEGORY
General
DESCRIPTION
Checks the current logged-on group that is set in the session. It enables end users to configure access
rules for the Sponsor group.
Note:
This condition applies to the current logged-on user only. This does not apply to a given user and
group that are different from the logged-on user group.
INPUT ARGUMENTS
true or false
• Is Sponsored Mode
CATEGORY
License by Category
DESCRIPTION
Checks whether the IP license being evaluated has the given citizenship.
Note:
Citizenships are a two-letter country code from ISO 3166 (for example, Germany’s country code is
DE). A user can have multiple citizenships.
CONDITION EVALUATION
true If any of the citizenships of the user being evaluated match the specified citizenship,
the condition evaluates to true.
false If none of the citizenships of the user being evaluated match the specified citizenship,
the condition evaluates to false.
INPUT ARGUMENTS
This condition accepts negation using a minus (–) prefix. For example, –IR means that
the user cannot have an IR citizenship.
Group Nationality
CATEGORY
DESCRIPTION
INPUT ARGUMENTS
nationality Two-character ISO 3166 codes identifying the nationality of the group or organization.
This condition accepts negation using a minus (–) prefix. For example, –us indicates
any user belonging to a group not from the U.S.
• User Nationality
CATEGORY
License by Category
DESCRIPTION
Checks if any type of Authorized Data Access (ADA) license with the specified category is attached to the
workspace object being evaluated.
CONDITION EVALUATION
true If there is any type of ADA license with the specified category attached to the
workspace object, this condition evaluates to true.
false If there is no ADA license with the specified category or if the license exists but is not
attached to the workspace object, the condition evaluates to false.
INPUT ARGUMENTS
EXAMPLE
Has Application
CATEGORY
Administrative
DESCRIPTION
Provides additional security to administration applications, for example, Organization, Access Manager,
and Authorization. Therefore, if any user gets unauthorized access to these applications, access is
denied to that user, as the World accessor is explicitly granted Read privileges and explicitly denied
Write, Delete, Check-In/Check-Out, and Create access control list (ACL) privileges.
For example, a non-dba user can access the Authorization application, but is only granted read access.
INPUT ARGUMENTS
Any
Access Manager
Authorization
Organization
Note:
If you select Any as an input argument, it includes all applications registered with Access Manager.
EXAMPLES
• Example 1
As a customer, you want to restrict access to the Organization application to only allow users with
DBA privileges and your research and development group users to access your data. To achieve this
use case, create rules in the Access Manager rule tree to grant Read, Write, Delete, Check-In/Check-
Out, and Create access for any non-dba user.
1. Using Organization, create a group, for example, AclGroup, and create a role, for example,
AclRole, and add it to the AclGroup. Then, add your research and development group users, for
example, RD_engineer, to the AclRole.
2. Using Authorization, set your new role, AclRole, to have full access to the Organization
application.
3. To grant Read, Write, Delete, Check-In/Check-Out, and Create access for any non-dba user to
access the Organization application, you must create an ACL.
• Example 2
As a customer, if you use the Authorization application to manage application security for the Access
Manager and Authorization applications, then you must:
1. Create an Access Manager rule condition in the Access Manager rule tree under the Has
Application(Any) condition for the Access Manager and Authorization applications.
• Access Manager
• Authorization
2. Include the appropriate accessors in the ACL used against this condition.
Note:
You must make entries to the ACL for group and role accessors to make it like the accessors
used for these applications in the Authorization application.
Has Attribute
CATEGORY
Default
DESCRIPTION
Specifies an attribute and value associated with a particular class. The given attribute should be a valid
persistent attribute on the given class.
CONDITION EVALUATION
If the given attribute does not exist on the class, the rule tree evaluates to false.
INPUT ARGUMENTS
class:attribute=value
Note:
This condition supports the != comparator. If != is used with the Has Attribute rule tree condition,
the condition evaluates to true if the value of the specified attribute on the object under
evaluation is not equal to the value specified on the righthand side of the != comparator. It will not
support any other comparator like <. >. <=, or >=.
class The class of the object for which you set the rule.
attribute The attribute of the class. Supported attribute types include:
• POM_string (string)
• POM_int (integer)
• POM_float (float)
• POM_logical (logical)
• POM_untyped_reference (reference)
• POM_external_reference (reference)
• POM_typed_reference (reference)
value The value for which the attribute is evaluated. value can contain wild cards.
EXAMPLE
The following shows how to use the Has Attribute condition with single-tag reference attributes, in this
case, owning_organization and owning_project:
The following example shows how to use the Has Attribute condition with a string attribute:
Has Attribute(Item:object_name=test*)
The following example shows how to use the Has Attribute condition with a reference attribute:
Has Attribute(Item:owning_organization=1)
• A value of 1 in the argument indicates that the condition expects the attribute value to be a nonnull
(nonzero) value.
• A value of 0 in the argument indicates that the condition expects the attribute value to be a null_tag
value.
The following example shows how to use the Has Attribute condition with an integer attribute:
Has Attribute(WorkspaceObject:revision_number=2)
• All the strings used in the rule tree are internal values.
• References can only be checked for a null_tag (0) or nonnull (nonzero) value.
• Has Attribute supports only single value attributes. Attributes with variable-length arrays (VLAs) are
not supported.
• Has Class
• Has Type
• Has Property
Has Bypass
CATEGORY
Administrative
DESCRIPTION
Specifies whether the user has bypass privileges set. Bypass privilege supersedes other privileges.
CONDITION EVALUATION
INPUT ARGUMENTS
true or false
Has Class
CATEGORY
Default
DESCRIPTION
Specifies an object class. The object is evaluated to determine if it is of the specified class.
INPUT ARGUMENTS
class-name
Do not use wildcard characters with the Has Class condition. For example, do not use Has Class (Des*).
Has Class requires full and correct class names.
• Has Attribute
• Has Type
• Has Property
Has Classification
CATEGORY
General
DESCRIPTION
Validates the custom classification attribute value of the object against the value specified for the
condition.
INPUT ARGUMENTS
EXAMPLE
EAR_classification>=EAR_highest
• Has IP Classification
Has Description
CATEGORY
General
DESCRIPTION
Specifies a description for the object. The object is evaluated to determine whether the description
matches this value.
CONDITION EVALUATION
true Evaluates to true if the description of the object matches the specified description.
false In all other cases, it evaluates to false.
INPUT ARGUMENTS
Note:
The description value can contain wildcard characters.
• Has Item ID
• Has Name
CATEGORY
General
DESCRIPTION
Specifies whether a business object has a digital signature of the specified status.
CONDITION EVALUATION
True Evaluates to True if the attached digital signature has specified status.
False In all other cases, it evaluates to False.
INPUT ARGUMENTS
Valid
Invalid
Propagated
Revoked
Voided
Note:
This condition is installed only if the digital signature schema is installed.
CATEGORY
License by Category
DESCRIPTION
Checks whether the workspace object being evaluated has any exclude license of the given category.
CONDITION EVALUATION
true If there is an exclude license with the specified category attached to the workspace
object, evaluates to true.
false If there is no exclude license with the specified category or if the license exists but is
not attached to the workspace object, the condition evaluates to false.
INPUT ARGUMENTS
EXAMPLE
CATEGORY
General
DESCRIPTION
Enables access control of items and item revisions by setting conditions on attributes of the Masterform
class. This rule can be applied to the ItemRevisionMaster form to control access to the item.
This rule can also be used to control write access to the properties of items and item revisions, which in
turn determine who can add or remove datasets associated with the item or item revision through a
Specification relation.
This rule cannot be used to control access to the datasets, and it cannot be applied to user-defined
forms. It should be added below the Working→Item Revision/Item Rule rule in the rule tree.
Note:
The way Access Manager evaluates Master forms does not follow the normal rules. Master forms
inherit access privileges from the parent item or item revision, so if you change access privileges
to an item or item revision you affect the privileges on the Master form.
You can use the TC_MASTERFORM_DELEGATE environment variable to change the default
behavior.
INPUT ARGUMENTS
form-storage-class:attribute=value
form-storage- The storage class for the form type on which you set the rule.
class
attribute The attribute of the form. Supported attribute types are POM_string, POM_int, and
POM_double.
value The value for which the attribute is evaluated.
Note:
Blank spaces are not allowed in the rule syntax.
• Has Description
• Has Item ID
• Has Name
CATEGORY
DESCRIPTION
Compares the classification level in the condition argument with the object classification level. If the
object is not classified, or if the object classification level is less than that of the given classification in
the argument, this condition returns True.
INPUT ARGUMENTS
0 secret
1 top_secret,super_secret
EXAMPLE
When you have a rule, 'Has Government Classification ( secret )', the code converts it to a security
level of 0 and returns either True or False based on that.
• If more than one classification is on the same line in ITAR_level_list_ordering, each classification
returns 1 and are equivalent.
• If each entry has a different line in ITAR_level_list_ordering, you can use Has Government
Classification because each value would return a different level number.
Use Has Attribute to distinguish different classification entries on the same line in
ITAR_level_list_ordering. For example:
• User Is Excluded
CATEGORY
License by Category
DESCRIPTION
Checks whether the workspace object being evaluated has any IP license of the given category.
CONDITION EVALUATION
true If there is an IP license with the specified category attached to the workspace object,
evaluates to true.
false If there is no IP license with the specified category or if the license exists but is not
attached to the workspace object, the condition evaluates to false.
INPUT ARGUMENTS
• Workspace objects
EXAMPLE
CATEGORY
License by Category
DESCRIPTION
Checks whether the workspace object being evaluated has any ITAR license of the given category.
CONDITION EVALUATION
true If there is an ITAR license with the specified category attached to the workspace object,
evaluates to true.
false If there is no ITAR license with the specified category or if the license exists but is not
attached to the workspace object, the condition evaluates to false.
INPUT ARGUMENTS
• Workspace objects
EXAMPLE
Has Item ID
CATEGORY
General
DESCRIPTION
INPUT ARGUMENTS
Note:
• The item ID value can contain wildcard characters.
• Has Description
• Has Name
CATEGORY
General
DESCRIPTION
Specifies a multifield key identifier against which the item is evaluated. In a multifield key environment,
multifield key identifiers are assigned to each object to ensure their uniqueness in the database.
For assistance obtaining the multifield key identifier defined for an item, use the following utilities:
CONDITION EVALUATION
true If the item key ID matches the multifield key of the item, it evaluates to true.
false In all other cases, it evaluates to false.
INPUT ARGUMENTS
item-key
Note:
The item key value can contain wildcard characters.
EXAMPLE
You have a multifield key environment set up so that an item and its related objects have the same ID.
You want to restrict access to the CAD data but allow access to the associated Word document. Set up
the Access Manager rule as follows.
The rule states that a user is allowed access if the item has a multifield key ID of
{item_id=Item001,object_type=msword}, with the World having read access.
• Has Item ID
CATEGORY
Administrative
DESCRIPTION
Provides additional security to property conditions and other metadata by granting all privileges to the
System Administrator accessor and only allowing the World accessor to have Read access control list
(ACL) privileges.
INPUT ARGUMENTS
Any
BusinessRule
Constant
ConstantAttach
ImanType
POM_dd
Property
EXAMPLE
• As a customer, you want to restrict access by the World accessor to metadata and ensure only the
System Administrator accessor has access to metadata.
Has Name
CATEGORY
General
DESCRIPTION
• Has Description
• Has Item ID
CATEGORY
Licenses
DESCRIPTION
Checks whether the specified exclude license is attached to the workspace object being evaluated.
CONDITION EVALUATION
true If there is an exclude license corresponding to the license ID and the license is attached
to the workspace object, the condition evaluates to true.
false In all other cases, the condition evaluates to false.
INPUT ARGUMENTS
• Workspace objects
EXAMPLE
CATEGORY
Licenses
DESCRIPTION
Checks whether a specific intellectual property (IP) license is attached to the workspace object being
evaluated.
CONDITION EVALUATION
true If there is an IP license corresponding to the license ID and the license is attached to
the workspace object, the condition evaluates to true.
false In all other cases, the condition evaluates to false.
INPUT ARGUMENTS
• Workspace objects
EXAMPLE
CATEGORY
Licenses
DESCRIPTION
Checks whether the specified ITAR license is attached to the workspace object being evaluated.
CONDITION EVALUATION
true If there is an ITAR license corresponding to the license ID and the license is attached to
the workspace object, the condition evaluates to true.
false In all other cases, the condition evaluates to false.
INPUT ARGUMENTS
• Workspace objects
EXAMPLE
The following Access Manager rule states that a user is allowed access if there is an ITAR license by the
name ITAR001 attached to an object, with the World having read access:
User1 is allowed access because there is an ITAR license ITAR001 attached to Item001, as shown next.
However, User1 is not allowed access to Item002 because no ITAR001 license is attached to it.
CATEGORY
Licenses
DESCRIPTION
Checks whether the specified ADA license is attached to the workspace object being evaluated.
CONDITION EVALUATION
true If there is a license corresponding to the license ID and the license is attached to the
workspace object, the condition evaluates to true.
false In all other cases, the condition evaluates to false.
INPUT ARGUMENTS
• Workspace objects
EXAMPLE
Has No Classification
CATEGORY
General
DESCRIPTION
Matches if the object has a null value for the custom classification attribute.
INPUT ARGUMENTS
EXAMPLE
EAR_classification
• Has No IP Classification
CATEGORY
DESCRIPTION
Matches if the object has a null value for the government classification attribute.
Has No Status
CATEGORY
Default
DESCRIPTION
Supports the negation for the existing Has Status rule tree condition.
CONDITION EVALUATION
Condition evaluates to true if the object under evaluation does not have the defined status.
Has No IP Classification
CATEGORY
DESCRIPTION
Checks whether the workspace object does not have a value specified in the IP classification attribute.
• Has IP Classification
• User Is IP Licensed
CATEGORY
Default
DESCRIPTION
Specifies that an ACL is associated with an object. This condition does not expect an ACL attached to a
rule. It is a placeholder that indicates the point at which process ACLs and object ACLs are applied in the
rule tree hierarchy.
INPUT ARGUMENTS
true or false
• Workspace objects
• In Job
Has Property
CATEGORY
Default
DESCRIPTION
INPUT ARGUMENTS
The Has Property condition supports compound properties and persistent properties on the business
object type. It supports multi-value (VLA) properties.
Note:
Has Property does not support the following property types:
• Runtime
• Relation
• Table
• Reference
Typename:prop_name=prop_value
Note:
This condition supports the != comparator. If != is used with the Has Property rule tree condition,
the condition evaluates to true if the value of the specified attribute on the object under
evaluation is not equal to the value specified on the righthand side of the != comparator. It will not
support any other comparator like <. >. <=, or >=.
• PROP_char (character)
• PROP_int (integer)
• PROP_float (float)
• PROP_logical (logical)
• PROP_untyped_reference (reference)
• PROP_external_reference (reference)
• PROP_typed_reference (reference)
Note:
• Property value can contain wild cards.
• All the strings used in the rule tree are internal values.
• Workspace objects
EXAMPLE
The following example shows how to use the Has Property condition with a string property:
The following example shows how to use the Has Property condition with a reference property:
Has Property(Item:<reference_prop_name>=1)
• A value of 1 in the argument indicates that the condition expects the attribute value to be a nonnull
(nonzero) value.
• A value of 0 in the argument indicates that the condition expects the attribute value to be a null_tag
value.
The following example shows how to use the Has Property condition with a integer property:
Has Property(WorkspaceObject:<int_prop_name>=2)
The following example shows how to use the Has Property condition with a character property:
Has Property(WorkspaceObject:<char_prop_name>=’c’)
For an additional example of how to use the Has Property condition, see Security Administration.
• Has Attribute
• Has Class
• Has Type
Has Status
CATEGORY
Default
DESCRIPTION
INPUT ARGUMENTS
• Workspace objects
• Has Type
Has Type
CATEGORY
Default
DESCRIPTION
INPUT ARGUMENTS
Note:
Do not use wildcard characters with the Has Type condition. For example, do not
use Has Type (Des*). Has Type requires full and correct type names.
• Has Status
In Current Program
CATEGORY
Program
DESCRIPTION
Specifies access based on whether the program to which the data is assigned is the current program
under which the user is logged on to Teamcenter.
INPUT ARGUMENTS
true or false
EXAMPLE
• In Inactive Program
• In Invisible Program
• Is Owned By Program
• Is Program Member
In IC Context
CATEGORY
Incremental Change
DESCRIPTION
Enables structure edits (occurrence edits, occurrence notes, transform edits, and attachment edits) to be
controlled by the Structure Manager, Manufacturing Process Planner, Multi-Structure Manager, or Part
Planner application. The rule does not depend on the properties of the object.
When there is an active incremental change in the structure editor, the IC Context (true) condition is
satisfied and its associated ACL is applied.
INPUT ARGUMENTS
true or false
Note:
Always use the true value for this condition. The false value applies the rule to all objects,
regardless of whether structure edits are being made.
In Inactive Program
CATEGORY
Program
DESCRIPTION
Controls access to data based on whether the status of the owning program is inactive.
INPUT ARGUMENTS
true or false
EXAMPLE
• In Current Program
• In Invisible Program
In Invisible Program
CATEGORY
Program
DESCRIPTION
Controls access to data based on whether the status of the owning program is invisible.
INPUT ARGUMENTS
true or false
EXAMPLE
• In Current Program
• In Inactive Program
• Is Owned By Program
• Is Program Member
In Job
CATEGORY
Default
DESCRIPTION
Specifies whether the target object is in a workflow job (process). This condition does not expect an ACL
attached to a rule. It is a placeholder that indicates the point at which workflow ACLs are applied in the
rule tree hierarchy.
Note:
No subbranches can be added below the In Job branch in the Access Manager rule tree.
INPUT ARGUMENTS
true or false
In Project
CATEGORY
Project
DESCRIPTION
Specifies a project to which the object must be assigned. The condition is evaluated as being true when
the active project to which the object is assigned matches the project specified for this rule condition. If
you use an empty string as the value for this condition, the condition is deemed true if the object is
assigned to any active project.
INPUT ARGUMENTS
project-ID
In Project (project-ID)-project_acl
EXAMPLE
• In Current Project
• Is Project Member
Inactive Sequence
CATEGORY
General
DESCRIPTION
Specifies that previous sequences are historical and cannot be worked on independently. The latest
sequence is always the working sequence for the revision.
Note:
This condition is used with the Inactive Sequence Objects ACL.
INPUT ARGUMENTS
true or false
CATEGORY
License by Category
DESCRIPTION
Checks whether the IP license being evaluated has the given citizenship.
Note:
Citizenships are a two-letter country code from ISO 3166 (for example, Germany’s country code is
DE). A user can have multiple citizenships.
CONDITION EVALUATION
true If any of the citizenships of the user being evaluated match the specified citizenship,
the condition evaluates to true.
false If none of the citizenships of the user being evaluated match the specified citizenship,
the condition evaluates to false.
INPUT ARGUMENTS
This condition accepts negation using a minus (–) prefix. For example, –IR means that
the user cannot have an IR citizenship.
Is Archived
CATEGORY
General
DESCRIPTION
Note:
This rule condition is implemented to support a legacy feature that is now obsolete. Siemens
Digital Industries Software does not recommend this rule condition for new work.
INPUT ARGUMENTS
true or false
• Is Local
CATEGORY
Ownership/Accessor based
DESCRIPTION
INPUT ARGUMENTS
true or false
EXAMPLE
• Is User External
In Current Project
CATEGORY
Project
DESCRIPTION
Specifies the project ID against which the object is evaluated. The condition is evaluated as being true
when the object is in the current active project of the logged-on user, and the project ID of the current
project matches the value for this condition.
Note:
This rule is not delivered with the default installation of Teamcenter. It must be added manually.
INPUT ARGUMENTS
project-ID
In Project (project-ID)-project_acl
EXAMPLE
• In Project
• Is Project Member
Is GA
CATEGORY
Ownership/Accessor based
DESCRIPTION
Specifies whether the user's status as a group administrator in the current group is evaluated.
INPUT ARGUMENTS
true or false
• Is SA
Is Local
CATEGORY
General
DESCRIPTION
Specifies whether the object's residence in the local database is evaluated. This condition is used when
Multi-Site Collaboration is implemented.
INPUT ARGUMENTS
true or false
• Is Archived
Is Group External
CATEGORY
Ownership/Accessor based
DESCRIPTION
Evaluates whether the object under consideration is a group object and has external security.
INPUT ARGUMENTS
true or false
EXAMPLE
CATEGORY
Ownership/Accessor based
DESCRIPTION
Evaluates whether the object under consideration is GroupMember and belongs to a group that has
external security.
INPUT ARGUMENTS
true or false
EXAMPLE
CATEGORY
Ownership/Accessor based
DESCRIPTION
Evaluates whether the object under consideration is group and is same as the current logged in group.
INPUT ARGUMENTS
true or false
EXAMPLE
• Is Group External
CATEGORY
Ownership/Accessor based
DESCRIPTION
Evaluates whether the group member object belongs to the same group as the current logged on group.
INPUT ARGUMENTS
true or false
EXAMPLE
Is Owned By Program
CATEGORY
Program
DESCRIPTION
Controls access to data based on whether data is owned by the program specified as a value for the Is
Owned By Program condition.
INPUT ARGUMENTS
true or false
EXAMPLE
• In Current Program
• In Inactive Program
• In Invisible Program
• Is Program Member
Is Program Member
CATEGORY
Program
DESCRIPTION
Note:
This does not apply to project team members who are inactive group members.
CONDITION EVALUATION
true Evaluates to true if the user is a member of the owning program or a shared program.
false In all other cases, evaluates to false.
INPUT ARGUMENTS
true or false
EXAMPLE
• In Current Program
• In Inactive Program
• In Invisible Program
Is Project Member
CATEGORY
Project
DESCRIPTION
Specifies whether the user's membership in the project is evaluated. This condition is only true when the
user is a current member of the project.
INPUT ARGUMENTS
true or false
EXAMPLE
• In Current Project
• In Project
• Is Owned By Program
Is User External
CATEGORY
Ownership/Accessor based
DESCRIPTION
Evaluates whether the user object is from a group whose security is external.
INPUT ARGUMENTS
true or false
EXAMPLE
CATEGORY
Ownership/Accessor based
DESCRIPTION
Evaluates whether the user object under evaluation has current group membership.
INPUT ARGUMENTS
true or false
EXAMPLE
• Is User External
CATEGORY
Project
DESCRIPTION
Checks whether the workspace object being evaluated has any project assigned of the given category.
CONDITION EVALUATION
true Evaluates to true if a project with the specified category is assigned to the workspace
object.
false In all other cases, evaluates to false if a project with the specified category is not
assigned to the workspace object.
INPUT ARGUMENTS
• Workspace objects
• In Current Project
• In Project
• Is Owned By Program
Is SA
CATEGORY
Ownership/Accessor based
DESCRIPTION
INPUT ARGUMENTS
true or false
• Is GA
Is Sponsored Mode
CATEGORY
General
DESCRIPTION
Checks whether the Teamcenter session is in sponsored mode. It enables end users to configure rules to
enforce data access control when the Teamcenter session is launched in sponsored mode.
INPUT ARGUMENTS
true or false
• Current Group Is
CATEGORY
DESCRIPTION
Checks whether the ITAR license being evaluated has the given citizenship.
Note:
Citizenships are a two-letter country code from ISO 3166 (for example, Germany’s country code is
DE). A user can have multiple citizenships.
CONDITION EVALUATION
true If any of the citizenships of the user being evaluated match the specified citizenship,
the condition evaluates to true.
false If none of the citizenships of the user being evaluated match the specified citizenship,
the condition evaluates to false.
INPUT ARGUMENTS
This condition accepts negation using a minus (–) prefix. For example, –IR means that
the user cannot have an IR citizenship.
Has IP Classification
CATEGORY
DESCRIPTION
Validates the IP classification attribute value of the object against the value specified for the condition.
The operators can be used without a clearance value; the IP classification attribute of the object is
compared to the user's clearance level based on the specified operator.
Note:
• If the object has no IP classification attribute value, this rule does not apply.
• This condition applies to an object that is IP classified, for example, super-secret. To set the IP
classification to super-secret:
INPUT ARGUMENTS
0 secret
1 top_secret,super_secret
EXAMPLE
When you have a rule, 'Has IP Classification ( secret )', the code converts it to a security level of 0 and
returns either True or False based on that.
• If more than one classification is on the same line in IP_level_list_ordering, each classification
returns 1 and are equivalent.
• If each entry has a different line in IP_level_list_ordering, you can use Has IP Classification because
each value would return a different level number.
Use Has Attribute to distinguish different classification entries on the same line in
IP_level_list_ordering. For example:
• Has No IP Classification
• User Is IP Licensed
Owning Group
CATEGORY
Ownership/Accessor based
DESCRIPTION
Evaluates whether the object is owned by the group specified in the group-name argument.
INPUT ARGUMENTS
group-name
Wildcard characters can be used with the Owning Group condition to allow you to define rules applying
to a group and all its subgroups. For example, assume that the Design group has two subgroups:
Analysis.Design and Development.Design. By defining a value for the Owning Group condition using
a wildcard, you can define a general rule to control access to all data owned by the Design group and its
subgroups, for example:
EXAMPLE
• Owning Site
• Owning User
CATEGORY
Ownership/Accessor based
DESCRIPTION
Evaluates whether the owning group of the object has a security string. This condition is true only if the
security value of the owning group is equal to the value of this condition.
INPUT ARGUMENTS
Internal or External
EXAMPLE
• Owning Group
• Owning Site
• Owning User
Owning Site
CATEGORY
Ownership/Accessor based
DESCRIPTION
Evaluates whether the object is owned by the specified site. This condition is used when Multi-Site
Collaboration is implemented.
INPUT ARGUMENTS
site-name
EXAMPLE
• Owning Group
• Owning User
Owning User
CATEGORY
Ownership/Accessor based
DESCRIPTION
INPUT ARGUMENTS
EXAMPLE
• Owning Group
• Owning Site
Site Geography
CATEGORY
DESCRIPTION
Checks whether the given geography matches the geography of the site being evaluated.
INPUT ARGUMENTS
This condition accepts negation using a minus (–) prefix. For example, –us indicates
any user at a site outside the U.S.
• User Geography
CATEGORY
Licenses
DESCRIPTION
Checks whether the user's citizenship matches the passed-in value and then checks if the user's
citizenship is listed on any of the ADA licenses attached to the workspace object being evaluated.
CONDITION EVALUATION
true This condition evaluates to true if the user's citizenship matches the input citizenship
and that citizenship is listed on any nonexpired ADA license attached to the workspace
object.
false In all other cases, the condition evaluates to false.
INPUT ARGUMENTS
User Citizenship
CATEGORY
DESCRIPTION
Checks whether the given citizenship matches the citizenships of the user being evaluated.
CONDITION EVALUATION
true If any of the citizenships of the user being evaluated match the specified citizenship,
the condition evaluates to true.
false If none of the citizenships of the user being evaluated match the specified citizenship,
the condition evaluates to false.
INPUT ARGUMENTS
This condition accepts negation using a minus (–) prefix. For example, –IR means that
the user cannot have an IR citizenship.
• User Nationality
CATEGORY
DESCRIPTION
Checks whether the given citizenship matches the citizenship or nationality of the user being evaluated.
CONDITION EVALUATION
true If any of the citizenships or nationality of the user being evaluated match the specified
citizenship or nationality, the condition evaluates to true.
false If none of the citizenships or nationality of the user being evaluated match the
specified citizenship or nationality, the condition evaluates to false.
INPUT ARGUMENTS
This condition accepts negation using a minus (–) prefix. For example, –IR means that
the user cannot have an IR citizenship.
• User Citizenship
• User Nationality
CATEGORY
Licenses
DESCRIPTION
Checks whether the user's citizenship matches the passed-in value and then checks if the user's
citizenship is listed on any of the exclude licenses attached to the workspace object being evaluated.
CONDITION EVALUATION
true This condition evaluates to true if the user's citizenship matches the input citizenship
and that citizenship is listed on any nonexpired exclude license attached to the
workspace object.
false In all other cases, the condition evaluates to false.
INPUT ARGUMENTS
This condition accepts negation using a minus (–) prefix. For example, –IR means that
the user cannot have an IR citizenship.
CATEGORY
General
DESCRIPTION
Validates the user's custom clearance level (from the attached custom LOV) against the value specified
for the condition's input argument.
INPUT ARGUMENTS
EXAMPLE
EAR_clear>=EAR_highest
CATEGORY
General
DESCRIPTION
Specifies whether a particular business object has a digital signature of the specified status in the
context of the logged-in user.
CONDITION EVALUATION
True Evaluates to True if the attached digital signature has specified status in the context of
the logged-on user.
False In all other cases, it evaluates to False.
INPUT ARGUMENTS
Valid
Invalid
Propagated
Revoked
Voided
Note:
This condition is installed only if the digital signature schema is installed.
CATEGORY
DESCRIPTION
Validates the user's government clearance level (secret, super-secret, top-secret) against the value
specified for the condition’s input argument.
• If the input argument specifies an operator and a clearance value, the condition compares this input
value to the user’s government clearance.
Example: HasGovernmentClearance (>Secret)
• The operators can be used without a clearance value, in which case the user’s government clearance
is compared to the government classification attribute of the object based on the specified operator.
Example: HasGovernmentClearance (>)
Note:
If the object is not ITAR classified (gov_classification attribute value is empty), the User Has
Government Clearance condition always evaluates as being true regardless of whether or not the
user is assigned a government clearance level.
CONDITION EVALUATION
• The workspace object being evaluated does not have government classification set
on it. Therefore, this evaluates to true because the data is not classified, and the
user’s clearance does not have any effect.
Example:
HasGovernmentClassification()
True
secret True
• The condition has an input argument value and the user’s government clearance
value matches the condition’s input argument.
Example:
HasGovernmentClassification(>secret)
top-secret True
secret False
• The condition has no input argument, and the user’s government clearance level is
greater than or equal to the object’s government classification level.
Example:
HasGovernmentClassification()
• The user’s government clearance level is not set, the object’s government
classification level is not set, and the government clearance value is specified for the
condition as follows:
>
<
=
==
>=
<=
false Evaluates to false in all other cases, including the case where the object being
evaluated is not a subtype of WorkspaceObject.
INPUT ARGUMENTS
clearance_val Specific government clearance attribute values that can be prefixed by the following
ue operators:
>
>=
<
<=
=
• Workspace objects
EXAMPLE
The following example shows how to use the User Has Government Clearance condition using
operators and a clearance value:
The following example shows how to use the User Has Government Clearance condition using an
operator without a clearance value:
The following example shows how to use the User Has Government Clearance condition without any
value for the condition:
• User Is Excluded
CATEGORY
DESCRIPTION
Validates the user's clearance level against the value specified for the condition.
The Intellectual property (IP) clearance level is the level of access the user has to sensitive (classified)
information.
The operators can be used without a clearance value in which case the user's clearance is compared to
the IP classification attribute of the object based on the specified operator.
Note:
If the data is not IP classified, the User Has IP Clearance condition is evaluated as being true
regardless of whether or not the user is assigned a clearance level.
CONDITION EVALUATION
• The workspace object being evaluated does not have IP classification set on it.
• The condition has a clearance value specified and the user’s IP clearance level
matches the value specified for the condition.
• Operators are specified without a clearance value and the user’s IP clearance level
matches the IP classification specified on the object being evaluated, based on the
specified operator.
• The IP clearance value is not specified for the condition, and the user’s IP clearance
level is greater than or equal to the object’s IP classification level.
Example:
User Has IP Clearance (>=secret) -> TestACL
User’s IP Clearance
Evaluation
top-secret True
secret True
• The IP clearance value is specified as “=”/”>=”/”<=” for the condition, the user’s IP
clearance level is not set, and the object’s IP classification level is not set.
false Evaluates to false in all other cases, including the case where the object being
evaluated is not a subtype of WorkspaceObject.
INPUT ARGUMENTS
clearance_val Specific IP clearance values that can be prefixed by the following operators:
ue
>
>=
<
<=
• Workspace objects
EXAMPLE
The following example shows how to use the User Has IP Clearance condition using operators and a
clearance value:
The following example shows how to use the User Has IP Clearance condition using an operator
without a clearance value:
The following example shows how to use the User Has IP Clearance condition without any value for the
condition:
• Has IP Classification
• Has No IP Classification
• User Is IP Licensed
CATEGORY
DESCRIPTION
• Whether the evaluation object is a workspace object (WorkspaceObject) or one of its subtypes.
CONDITION EVALUATION
• If ADA licenses are attached, none of them list both the user and match the
category.
INPUT ARGUMENTS
EXAMPLE
Access control by licenses can be configured based on the license type to vary access at a high level or
based on the license name to vary the access at a granular level. Categories offer a way to control access
by licenses in between the high and granular levels. They provide a way to have different subtypes of
licenses under each type and configure access based on each category.
CATEGORY
DESCRIPTION
• Whether the evaluation object is a workspace object (WorkspaceObject) or one of its subtypes.
CONDITION EVALUATION
• If exclude licenses are attached, none of them list both the user and match the
category.
INPUT ARGUMENTS
EXAMPLE
Access control by licenses can be configured based on the license type to vary access at a high level or
based on the license name to vary the access at a granular level. Categories offer a way to control access
by licenses in between the high and granular levels. They provide a way to have different subtypes of
licenses under each type and configure access based on each category.
CATEGORY
DESCRIPTION
• Whether the evaluation object is a workspace object (WorkspaceObject) or one of its subtypes
CONDITION EVALUATION
• If ITAR licenses are attached, none of them list both the user and match the
category.
INPUT ARGUMENTS
EXAMPLE
Access control by licenses can be configured based on the license type to vary access at a high level or
based on the license name to vary the access at a granular level. Categories offer a way to control access
by licenses in between the high and granular levels. They provide a way to have different subtypes of
licenses under each type and configure access based on each category.
CATEGORY
DESCRIPTION
• Whether the evaluation object is a workspace object (Workspace Object) or one of its subtypes.
CONDITION EVALUATION
• If ITAR licenses are attached, none of them list both the user and match the
category.
INPUT ARGUMENTS
EXAMPLE
Access control by licenses can be configured based on the license type to vary access at a high level or
based on the license name to vary the access at a granular level. Categories offer a way to control access
by licenses in between the high and granular levels. They provide a way to have different subtypes of
licenses under each type and configure access based on each category.
CATEGORY
Licenses
DESCRIPTION
Checks whether the user from the current session is listed on any or all of the custom licenses attached
to the workspace object being evaluated.
CONDITION EVALUATION
true • If set to Any, the condition evaluates to true if the user is listed on at least one
custom license attached to the workspace object.
• If set to All, the condition evaluates to true if the user is listed on all custom licenses
attached to the workspace object.
false In all other cases, the condition evaluates to false.
INPUT ARGUMENTS
• Any
• All
• (Custom License:{Any|All|None})
EXAMPLE
EAR_itarlicense:Any.
CATEGORY
Licenses
DESCRIPTION
Checks whether the user from the current session is listed in any or all exclude licenses attached to the
workspace object being evaluated.
CONDITION EVALUATION
true • If set to Any, the condition evaluates to true if the user is listed on any nonexpired
exclude licenses attached to the workspace object.
• If set to All, the condition evaluates to true if the user is listed on all nonexpired
exclude licenses attached to the workspace object.
• If set to None, the condition evaluates to true if the user is not listed in any of the
attached Exclude licenses on the object under evaluation.
false In all other cases, the condition evaluates to false.
INPUT ARGUMENTS
Any or All
• Workspace objects
EXAMPLE
CATEGORY
Licenses
DESCRIPTION
Checks whether the user being evaluated is listed on any or all of the IP licenses attached to the
workspace objects.
CONDITION EVALUATION
true • If set to Any, the condition evaluates to true if the user is listed on at least one
nonexpired IP license attached to the workspace object.
• If set to All, the condition evaluates to true if the user is listed on all nonexpired IP
licenses attached to the workspace object.
• If set to None, the condition evaluates to true if the user is not listed in any of the
attached IP licenses on the object under evaluation.
false In all other cases, the condition evaluates to false.
INPUT ARGUMENTS
Any or All
• Workspace objects
EXAMPLE
CATEGORY
Licenses
DESCRIPTION
Checks whether the user from the current session is listed on any or all of the ITAR licenses attached to
the workspace object being evaluated.
CONDITION EVALUATION
true • If set to Any, the condition evaluates to true if the user is listed on any nonexpired
ITAR license attached to the workspace object.
• If set to All, the condition evaluates to true if the user is listed on all nonexpired ITAR
licenses attached to the workspace object.
• If set to None, the condition evaluates to true if the user is not listed in any of the
attached ITAR licenses on the object under evaluation.
false In all other cases, the condition evaluates to false.
INPUT ARGUMENTS
Any or All
• Workspace objects
EXAMPLE
The following Access Manager rule states that a user only needs to be on one or more of the ITAR
licenses attached to an object to be given access to that object, with World having read access:
User1 is listed on one of the licenses attached to Item001, as shown. Therefore, User1 is allowed access
to Item001. User5, on the other hand, is not listed on any of the ITAR licenses attached to item002 so
User5 is not given access to item002.
CATEGORY
Licenses
DESCRIPTION
Checks whether the user from the current session is listed on any or all of the licenses attached to the
workspace object being evaluated.
CONDITION EVALUATION
true • If set to Any, the condition evaluates to true if the user is listed on any nonexpired
ADA license attached to the workspace object.
• If set to All, the condition evaluates to true if the user is listed on all nonexpired ADA
licenses attached to the workspace object.
• If set to None, the condition evaluates to true if the user is not listed in any of the
attached licenses on the object under evaluation.
false In all other cases, the condition evaluates to false.
INPUT ARGUMENTS
Any or All
• Workspace objects
EXAMPLE
User In License
CATEGORY
ADA
DESCRIPTION
Checks whether the ADA_License object being evaluated lists the user being evaluated, either
individually or as a member of a group, so you can control the licenses that are visible to the user in
Teamcenter applications, such as when searching for licenses, viewing licenses in the ADA License
application, attaching licenses to an object, or viewing licenses attached to an object. For example, it
determines whether Teamcenter displays a particular license in the ADA licenses view to the user, as
shown, or in the Attach an object to Licenses dialog box.
CONDITION EVALUATION
true • If set to true, the condition returns true if the user being evaluated is listed on the
license either individually or as a member of a group.
• If set to false, the condition returns true if the user being evaluated is not listed on
the license either individually or as a member of a group.
false • If set to true, the condition returns false if the user being evaluated is not listed on
the license either individually or as a member of a group.
• If set to false, the condition returns false if the user being evaluated is listed on the
license either individually or as a member of a group.
INPUT ARGUMENTS
true or false
CATEGORY
Licenses
DESCRIPTION
Checks whether the user being evaluated is listed on a custom license of the specified name. It does not
check if the license is attached to the workspace objects being evaluated.
INPUT ARGUMENTS
EXAMPLE
EAR_itarlicense:ear_license_01
CATEGORY
Licenses
DESCRIPTION
Checks whether a user being evaluated is listed in an exclude license of the specified license ID. It does
not check if the license is attached to the workspace object being evaluated.
CONDITION EVALUATION
true If the user is in the specified license and the license is an exclude license, the rule
condition evaluates to true, regardless of whether the license is attached to the
workspace object.
false In all other cases, the condition evaluates to false.
INPUT ARGUMENTS
• Workspace objects
EXAMPLE
CATEGORY
Licenses
DESCRIPTION
Checks whether the user being evaluated is listed on an IP license of the specified name. It does not
check if the license is attached to the workspace objects being evaluated.
CONDITION EVALUATION
true If the user is in the specified license and the license is an IP license, the rule condition
evaluates to true, regardless of whether the license is attached to the workspace
object.
false In all other cases, the condition evaluates to false.
INPUT ARGUMENTS
License ID
• Workspace objects
EXAMPLE
CATEGORY
Licenses
DESCRIPTION
Checks whether the user being evaluated is listed on an ITAR license of the specified name. It does not
check if the license is attached to the workspace objects being evaluated.
CONDITION EVALUATION
true If the user is in the specified license and the license is an ITAR license, the rule
condition evaluates to true, regardless of whether the license is attached to the
workspace object.
false In all other cases, the condition evaluates to false.
INPUT ARGUMENTS
• Workspace objects
EXAMPLE
The following Access Manager rules states that a user must be in a named ITAR license to be given
access to an object, with the World having read access:
The ITAR 001 license has three users named on it (User 1, User 2, and User 3). In addition, the item
trying to be accessed, item001, has a gov_classification set to secret.
Using the User In Named ITAR license condition, User 1 can read item001 because User 1 is listed on
the license, while User 4 cannot read item001 because User 4 is not listed on the license.
CATEGORY
Licenses
DESCRIPTION
Checks whether a user from the current session is listed in the license of the specified license ID. The
rule condition does not check if the license is attached to the workspace object being evaluated.
CONDITION EVALUATION
true If the user is in the specified license, the rule condition evaluates to true, regardless of
whether the license is attached to the workspace object.
false In all other cases, the condition evaluates to false.
INPUT ARGUMENTS
• Workspace objects
EXAMPLE
CATEGORY
Licenses
DESCRIPTION
Checks whether the user's citizenship matches the passed-in value and then checks if the user's
citizenship is listed on any of the IP licenses attached to the workspace object being evaluated.
CONDITION EVALUATION
true This condition evaluates to true if the user's citizenship matches the input citizenship
and that citizenship is listed on any nonexpired IP license attached to the workspace
object.
false In all other cases, the condition evaluates to false.
INPUT ARGUMENTS
This condition accepts negation using a minus (–) prefix. For example, –IR means that
the user cannot have an IR citizenship.
CATEGORY
General
DESCRIPTION
Checks whether the user currently logged on is cited in a valid (not expired) custom license attached to
the workspace object either directly or by membership in a cited organization (group).
CONDITION EVALUATION
true • If set to true, the condition returns true if the user being evaluated is cited in any
valid (not expired) ADA license attached to the workspace object being evaluated
either directly or as a member of a group.
• If set to false, the condition returns true if the user being evaluated is not cited in
any valid (not expired) ADA license attached to the workplace object being evaluated
either directly or as a member of a group.
false • If set to true, the condition returns false if the user being evaluated is not listed in
any valid (not expired) ADA license attached to the workspace object being
evaluated either individually or as a member of a group.
• If set to false, the condition returns false if the user being evaluated is listed in any
valid (not expired) ADA license attached to the workspace object being evaluated
either individually or as a member of a group.
INPUT ARGUMENTS
Custom License:{true|false}
EXAMPLE
EAR_itarlicense:true
• User Is IP Licensed
User Is Excluded
CATEGORY
DESCRIPTION
Tests whether the user is cited in a valid (not expired) exclude license attached to the workspace object
either directly or by membership in a cited organization (group).
CONDITION EVALUATION
true • If the input argument is set to true, the condition evaluates to true if the user is
cited in any valid (not expired) exclude license attached to the workspace object
being evaluated either directly or by membership in a cited organization (group).
• If the input argument is set to false, the condition evaluates to true if the user is not
cited in any valid (not expired) exclude license attached to the workspace object
being evaluated either directly or by membership in a cited organization (group).
false • If the input argument is set to true, the condition evaluates to false if the user is not
cited in any valid (not expired) exclude license attached to the workspace object
being evaluated either directly or by membership in a cited organization (group).
• If the input argument is set to false, the condition evaluates to false if the user is
cited in any valid (not expired) exclude license attached to the workspace object
being evaluated either directly or by membership in a cited organization (group).
INPUT ARGUMENTS
true or false
User Is IP Licensed
CATEGORY
DESCRIPTION
Checks whether the user being evaluated is listed on an IP license attached to the workspace object.
CONDITION EVALUATION
true • If set to true, the condition returns true if the user being evaluated is cited in any
valid (not expired) IP license attached to the workspace object being evaluated
either directly or as a member of a group.
• If set to false, the condition returns true if the user being evaluated is not cited in
any valid (not expired) IP license attached to the workplace object being evaluated
either directly or as a member of a group.
false • If set to true, the condition returns false if the user being evaluated is not listed in
any valid (not expired) IP license attached to the workspace object being evaluated
either individually or as a member of a group.
• If set to false, the condition returns false if the user being evaluated is listed in any
valid (not expired) IP license attached to the workspace object being evaluated
either individually or as a member of a group.
INPUT ARGUMENTS
true or false
• Has IP Classification
• Has No IP Classification
CATEGORY
DESCRIPTION
Checks whether the user currently logged on is cited in a valid (not expired) ITAR license attached to the
workspace object either directly or by membership in a cited organization (group).
CONDITION EVALUATION
true • If the input argument is set to true, the condition evaluates to true if the user is
cited in any valid (not expired) ITAR license attached to the workspace object being
evaluated either directly or by membership in a cited organization (group).
• If the input argument is set to false, the condition evaluates to true if the user is not
cited in any valid (not expired) ITAR license attached to the workspace object being
evaluated either directly or by membership in a cited organization (group).
false • If the input argument is set to true, the condition evaluates to false if the user is not
cited in any valid (not expired) ITAR license attached to the workspace object being
evaluated either directly or by membership in a cited organization (group).
• If the input argument is set to false, the condition evaluates false if the user is cited
in any valid (not expired) ITAR license attached to the workspace object being
evaluated either directly or by membership in a cited organization (group).
INPUT ARGUMENTS
true or false
• User Is Excluded
CATEGORY
Licenses
DESCRIPTION
Checks whether the user's citizenship matches the passed-in value and then checks if the user's
citizenship is listed on any of the ITAR licenses attached to the workspace object being evaluated.
CONDITION EVALUATION
true This condition evaluates to true if the user's citizenship matches the input citizenship
and that citizenship is listed on any nonexpired ITAR license attached to the workspace
object.
false In all other cases, the condition evaluates to false.
INPUT ARGUMENTS
This condition accepts negation using a minus (–) prefix. For example, –IR means that
the user cannot have an IR citizenship.
CATEGORY
DESCRIPTION
Checks whether the given geography matches the geography the user declared when logging onto the
system.
INPUT ARGUMENTS
This condition accepts negation using a minus (–) prefix. For example, –us indicates
any user at a site outside the U.S.
• User Geography
• Site Geography
User Geography
CATEGORY
DESCRIPTION
Checks whether the given geography matches the geography of the user being evaluated.
INPUT ARGUMENTS
This condition accepts negation using a minus (–) prefix. For example, –us indicates
any user at a site outside the U.S.
• Site Geography
User Nationality
CATEGORY
DESCRIPTION
Checks whether the given nationality matches the nationality of the user being evaluated.
INPUT ARGUMENTS
This condition accepts negation using a minus (–) prefix. For example, –us indicates
any user not from the U.S.
• Group Nationality
CATEGORY
DESCRIPTION
Supports the negative rule tree condition for the existing User In Attach ADA Lic of Ctgry rule tree
condition.
• Whether the evaluation object is a workspace object (Workspace Object) or one of its subtypes.
CONDITION EVALUATION
• If ADA licenses are attached, none of them list both the user and match the
category.
INPUT ARGUMENTS
Access control by licenses can be configured based on the license type to vary access at a high level or
based on the license name to vary the access at a granular level. Categories offer a way to control access
by licenses in between the high and granular levels. They provide a way to have different subtypes of
licenses under each type and configure access based on each category.
CATEGORY
DESCRIPTION
Supports the negative rule tree condition for the existing User In Attach Excl Lic of Ctgry rule tree
condition.
• Whether the evaluation object is a workspace object (WorkspaceObject) or one of its subtypes.
• The workspace object has exclude licenses attached that does not:
CONDITION EVALUATION
• If exclude licenses are attached, none of them list both the user and match the
category.
INPUT ARGUMENTS
Access control by licenses can be configured based on the license type to vary access at a high level or
based on the license name to vary the access at a granular level. Categories offer a way to control access
by licenses in between the high and granular levels. They provide a way to have different subtypes of
licenses under each type and configure access based on each category.
CATEGORY
DESCRIPTION
Supports the negative rule tree condition for the existing User In Attach IP Lic of Ctgry rule tree
condition.
• Whether the evaluation object is a workspace object (WorkspaceObject) or one of its subtypes.
CONDITION EVALUATION
• If ITAR licenses are attached, both of them list both the user and match the category.
INPUT ARGUMENTS
Access control by licenses can be configured based on the license type to vary access at a high level or
based on the license name to vary the access at a granular level. Categories offer a way to control access
by licenses in between the high and granular levels. They provide a way to have different subtypes of
licenses under each type and configure access based on each category.
CATEGORY
DESCRIPTION
Supports the negative rule tree condition for the existing User In Attach ITAR Lic of Ctgry rule tree
condition.
• Whether the evaluation object is a workspace object (Workspace Object) or one of its subtypes.
CONDITION EVALUATION
• If ITAR licenses are attached, none of them list both the user and match the
category.
INPUT ARGUMENTS
Access control by licenses can be configured based on the license type to vary access at a high level or
based on the license name to vary the access at a granular level. Categories offer a way to control access
by licenses in between the high and granular levels. They provide a way to have different subtypes of
licenses under each type and configure access based on each category.
CATEGORY
DESCRIPTION
Checks whether the current date is later than the technology transfer certification (TTC) date on the
User object.
CONDITION EVALUATION
true • If the current date is later than the TTC value on the User object, the condition
evaluates to true.
false • If the current date is earlier than the TTC value on the User object, the condition
evaluates to false.
Note:
If the TTC value on the User object is not entered, the condition evaluates to true.
INPUT ARGUMENTS
• User Is Excluded
• Document the business rules and the rule tree developed to meet them.
Every rule in the rule tree and the named ACLs associated with the rules are included for a purpose.
For maintenance purposes, Siemens Digital Industries Software strongly recommends that you
document the purpose of the rules, how they are populated, and why they have been populated.
Future versions of Teamcenter add new rules and accessors. Merging new rules and accessors is a
manual process, which is simplified if you have thoroughly documented the Access Manager rule tree.
• Add new rules for working data in the Working data branch of the tree.
The proper location to add new rules for working data is under the Working data branch in the rule
tree. This helps you customize your rule tree and identify working data.
• Use the Has Attribute condition to create custom rules based on any attribute of an object of a
given class.
For example:
WorkspaceObject:object_name=*x
PublicationRecord:security=suppliers
The class and attribute names are not case sensitive. The attribute type can be string, double,
integer, logical, or reference.
This rule supports custom attributes.
• Use the Has Property condition to create custom rules based on the value of compound
properties.
For example:
Item:my_custom_prop=my_custom_prop_value
In this example, Item is the type name and my_custom_prop is the compound property.
Has Class(Form)
Has Type(Finance) –> finance_acl
If your site requires that project-level security rules take precedence over type-level security rules, you
must embed project-level security rules under the type-level security rules. However, Siemens Digital
Industries Software does not recommend this practice.
Note:
ACLs can be referenced in more than one rule.
Adding new rules, deleting rules, or in any way modifying existing rules on the Systems Objects
branch of the rule tree may result in unpredictable behavior or loss of data. Modifying the Systems
Objects branch of the rule tree is not supported unless specifically advised to do so by Siemens Digital
Industries Software.
2. Set the Condition, Value, and ACL Name for the new rule.
Note:
ACLs can be referenced in more than one rule.
This creates the new rule and adds it to the selected parent in the rule tree. An asterisk appears next to
the Access Manager name indicating that the application has been modified.
3. To attach an ACL to the rule, select an ACL from the ACL Name list.
Note:
When you make changes to a rule, the changes are not saved until you choose File→Save or click
the Save button on the toolbar.
Note:
Deleting a rule does not delete its corresponding ACLs. To remove ACLs from the rule tree,
they must be explicitly deleted.
• Click Move Up in the toolbar to move the rule up one level in the rule tree.
• Click Move Down in the toolbar to move the rule down one level in the rule tree.
3. Click Save .
To ensure proper operation, both sites should share the same Teamcenter version to ensure proper
operation. However, if both sides have the same data model for the data being exchanged, the
exchange can occur with different versions of Teamcenter and still operate properly.
You can use Teamcenter Environment Manager (TEM) to manage your administration data at multiple
sites. For example, you can export and import administration data using panels in TEM that are accessed
through the Manage Administration Data option in the Feature Maintenance panel. Using TEM, you
can select the specific instances of administration data by category, class, and specific attribute/value
criteria.
• Generate and view a report containing Access Manager administration data using the
generate_admin_data_report utility.
• Generate and view a report comparing administration data at two sites using the
generate_admin_data_compare_report utility.
• Export Access Manager named ACLs and privileges using the admin_data_export utility.
• Workflow ACL
These ACLs control access to data that is in process at a particular release level. They provide a subset
of Access Manager functionality that can be accessed from Workflow Designer.
• Project ACL
These ACLs control access to project data. They provide a subset of Access Manager functionality that
can be accessed from Project.
Access privileges
Note:
There are best practices for ACLs to consider
when creating an ACL with the Create
privilege.
Note:
It still allows copy and paste of the object as a
reference, with no new object created.
Note:
Write access is required.
Note:
The validation of the Assign to project
privilege in conjunction with privileged
project membership is evaluated based on
the value of the
TC_project_validate_conditions preference.
Note:
The validation of the Assign to project
privilege in conjunction with privileged
project membership is evaluated based on
the value of the
TC_project_validate_conditions preference.
Example:
If Bob checks out an object (item2) and
forgets to check it back in before leaving on
vacation, the CICO privilege can be granted
to the project manager, Uma, so she can
check item2 back in and the project can
proceed.
Accessor precedence
An accessor is a user or group of users who share certain traits, such as membership in the group that
owns the object or membership in the project team. The following list presents the predefined accessors
delivered with Teamcenter in order of precedence, from most restrictive to least restrictive. The more
restrictive the accessor, the higher precedence it has over other accessors.
Note:
• When two accessors with different precedences are added to a named ACL configuration, the
highest precedence accessor is automatically moved to the top in the ACL table.
• When two accessors with the same precedence are added to a named ACL configuration, they
stay in the order they are added.
• The Role in Group, Role in Owning Group, Role in Project, and Role in Project of Object
accessors work on the superset of roles the user possesses in the relevant group or project,
rather than on the session current role.
• When the TC_current_role preference is set, it affects the evaluation of the Role in Owning
Group, Role in Group, and Role accessors. It enforces object access based on the user's current
role in the current group.
• When the AM_PROJECT_MODE preference is set, it affects the evaluation of the Role in Project
and Role in Project of Object accessors.
General
Evaluates to true if the current logged-on user matches the user listed on the
owning_user attribute of the object being evaluated.
Example:
ObjecA.owning_user=User1
Owning Group The group of the user who Evaluates to true if the current logged-on user’s group membership is the group
first created the object listed on the owning_group attribute of the object being evaluated. The
owning_group attribute is always set to the group of the user who first created
the object.
Additional privileges (for example, write) may be granted to the owning group,
because it is common for users to share data with other members of their group.
Note:
Example:
ObjecA.owning_group=Group1
Group Any group named in the Evaluates to true if the current logged-on user’s group membership matches the
Organization application current logged-on user’s group.
Example:
Groups with A user whose group has the Evaluates to true if the current logged-on user has the given security value, either
Security given security value, either Internal or External. This value is used to distinguish between groups in the
Internal or External parent company (internal) and suppliers (external).
Example:
Role Any role named in the Evaluates to true if the current logged-on user’s role membership matches the
Organization application current logged-on user’s role.
Example:
Role in Group A specific role Evaluates to true if the current logged-on user performs the same skills and/or
responsibilities as other users on the same project.
Example:
Role in Owning A specific role Evaluates to true if the current logged-on user’s role grants specific privileges. For
Group example, all designers in the owning group are usually granted write privilege on
their development data.
Example:
System A user who is a member of Evaluates to true if the current logged-on user is a member of the system
Administrator the system administration administration group.
group
Example:
Group A user who has special Evaluates to true if the current logged-on user has group administrator privileges.
Administrator maintenance privileges for A group administrator is a group member who can add, modify, or remove group
the group members.
Example:
Site Any site named in the Evaluates to true if the current logged-on site (Teamcenter installation) matches
Organization application the site listed on the site attribute of the object being evaluated.
Example:
Remote Site Any remote site Evaluates to true if the current logged-on remote site (Teamcenter installation)
matches the remote site listed on the remote site attribute of the object being
evaluated.
Example:
World Any user on the system Evaluates to true, as this represents all users.
Example:
User Any user named in the Evaluates to true if the current logged-on user matches the user listed on the user
Organization application attribute of the object being evaluated.
User In License A specific user Evaluates to true if the current logged-on user is listed on the license either
through the user or group value.
The term ADA license refers to any ITAR, IP, or exclude license.
Example:
Workflow
Approver (RIG) Any role that is designed as Evaluates to true if the current logged-on user’s role matches the user who is a
an approver in the workflow signoff team member in the workflow process for the group.
process.
Note:
This accessor must only be used in a workflow ACL and matches the
signoff RIG requirements for the release level associated with the
workflow ACL.
Example:
Approver (Role) Any user designed as an Evaluates to true if the current logged-on user’s role matches the user who is a
approver in the workflow signoff team member in the workflow process for the group.
process.
Note:
Example:
If User1 logs on with Approver role, this accessor type evaluates to true.
If User2 logs on with Designer role, this accessor type evaluates to false.
Approver Any group that is designed Evaluates to true if the current logged-on user’s role matches the user who is a
(Group) as an approver in the signoff team member in the workflow process for the group.
workflow process.
Note:
Example:
Approver Any user designed as an Evaluates to true if the current logged-on user, who is a signoff team member,
approver in the workflow has approver privileges.
process.
Note:
Example:
Task Owner A user who is granted Evaluates to true if the current logged-on user has task owner privileges for the
privileges for the task’s task’s target data.
target data.
Note:
Example:
Task Owning A group that is granted Evaluates to true if the current logged-on user is a member of the task owning
Group privileges for the task’s group.
target data.
Note:
Example:
Responsible A user assigned as Evaluates to true if the current logged-on user is the person responsible for
Party responsible for performing performing a particular task.
a particular task
Note:
Example:
Project
Project Team Users in a project team to Evaluates to true if the current logged-on user is an active group member in a
which the object is assigned project team to which the object is assigned.
Example:
Note:
This does not apply to project team members who are inactive group
members.
Project Teams Team members (active group members) in any active project for the object.
Note:
This does not apply to project team members who are inactive group
members.
Current Project Users who are members of a particular current project team. Applicable only
Team when the project is set as the current project of the team members and if the
current project is active.
Current Project Users who are members of current project teams. Applicable only when the
Teams object is in the current project of the team members, and the current project is
active.
Regular Project Evaluates to true if the logged-on user is a regular team member of the
Member TC_project object on which access is being evaluated.
Administrator Evaluates to true if the logged-on user is the administrator of the TC_project
Project Member object on which access is being evaluated.
Team Admin Evaluates to true if the logged-on user is the team administrator of the
Project Member TC_project object on which access is being evaluated.
Privileged Evaluates to true if the logged-on user is the privileged team member of the
Project Member TC_project object on which access is being evaluated.
Role in Projects Users who have a specific role in one of the projects of the object. This accessor is
of Object affected by the values set in the AM_PROJECT_MODE preference. It is effective
only when the user is logged-on with the specified role in the current project, and
the current project is one of the projects assigned to the defined object.
Role in Project Project members with a specific role in a specific project. This is affected by the
values set in the AM_PROJECT_MODE preference.
Scheduler
Public Schedule Access to all users for schedules that are templates or made public. This accessor
applies to the Schedule Manager application.
RoleInAnySche Membership privileges of the logged-on user across all schedules in the system.
dule Member privileges (accessor IDs) can be COORDINATOR, PARTICIPANT, or
OBSERVER. This accessor applies to the Schedule Manager application.
ADA
User In License Not applicable. This accessor type controls access to a workspace object.
This accessor type evaluates to true if the current logged-on user is listed on any
ADA license attached to the object being evaluated.
During evaluation, the accessor type looks at the attached licenses. The accessor
type will evaluate to true if the current logged-on user is listed on any license, or
the user is a member of a group that is listed on the license.
The term ADA license refers to any ITAR, IP, or exclude license.
Note:
Example:
Use case scenario:
License1 lists User1, Group2.
User2 is a member of Group2.
ObjectA attaches License1.
Evaluation results:
User Not In Not applicable Evaluates to true if the current logged-on user is not listed on the license either
License through the user or group value.
The term ADA license refers to any ITAR, IP, or exclude license.
Example:
User Excluded Not applicable. The user or group is listed in a valid exclude license attached to the workspace
object being evaluated.
The term ADA license refers to any ITAR, IP, or exclude license.
Example:
If User1 logs on with a valid exclude license, this accessor type evaluates
to true.
If User2 logs on with no valid exclude license, this accessor type evaluates
to false.
ITAR
User Has Compares the user's clearance with the object classification and tests whether the
Government user has clearance above, below, or equal to that required to access the object.
Clearance
User ITAR Not applicable. Evaluates to true if the current logged-on user is cited in a current license
Licensed associated with the selected object.
Example:
User ITAR The user is not cited in a current license associated with the selected object.
Unlicensed
User Under The user's clearance is below the level required by the object. This accessor is
Government typically used to revoke access and is only applicable when the government
Clearance clearance on the user and the government classification on the object come from
a common multi-level scheme defined by the ITAR_level_list_ordering
preference.
User Over The user's clearance is over the level required by the object. This accessor is
Government typically used to grant access and is only applicable when the government
Clearance clearance on the user and the government classification on the object come from
a common multilevel scheme defined by the ITAR_level_list_ordering
preference.
IP
User Is IP Any user cited in a current Evaluates to true if the current logged-on user is cited in a current license
Licensed license associated with the associated with the selected object either directly or by membership in a cited
selected object either organization (group).
directly or by membership
in a cited group
Example:
User IP The user is not cited in a current license associated with the selected object.
Unlicensed
The user is not cited in a current license associated with the selected object.
User Has IP Compares the user's clearance (secret, super-secret, top-secret) with the object
Clearance classification and tests whether the user has clearance above, below, or equal to
that required to access the object.
User Over IP The user's clearance is over the level required by the object. This accessor is
Clearance typically used to grant access and is only applicable when the IP clearance on the
user and the IP classification on the object come from a common multi-level
scheme defined by the IP_level_list_ordering preference.
User Under IP The user's clearance is below the level required by the object. This accessor is
Clearance typically used to revoke access and is only applicable when the IP clearance on the
user and the IP classification on the object come from a common multi-level
scheme defined by the IP_level_list_ordering preference.
If you create a named ACL with the Create privilege to grant or deny permissions for users to
create objects, there are certain business objects where creation is not controllable.
Note:
Some AM rules do not lend themselves to using Create. For example, you would not include Has
Status because it is impossible for a business object to have status populated at time of creation.
3. Click Add to add a new row to the access control entry (ACE) table.
Note:
Some accessor types, such as User, Group, and Role, require you to select an accessor ID to
define a specific instance of the accessor type. Other accessor types, such as World and
Owning Group, are either singular or are relative to the object being accessed; therefore, no
ID is required.
6. Set privileges by double-clicking the cell corresponding to the privilege you want to set, and choose
to grant privileges or choose to deny privileges.
Note:
Whenever possible, do not explicitly set privileges. Leaving privileges unset allows rules to
accomplish focused objectives by allowing objects and accessors to filter through rules that
do not apply to them.
7. (Optional) Click Localization to display the Language Translations dialog box and set
localized values for the ACL.
8. Click Save .
Note:
You cannot modify the Accessor Type or Accessor ID values. To change these values, you
must delete the entry and add a new entry that reflects the correct accessor type and ID.
3. (Optional) Click Localization to display the Language Translations dialog box and set
localized values for the ACL.
4. Click Save .
3. Click Save .
Note:
Rules, ACLs, accessors, and privileges that support new functionality are introduced with each
Teamcenter version. Introducing new rules into your security implementation requires analysis to
determine how they should be used.
You can distribute rules to other sites by first exporting the rule tree as an ASCII file and then importing
that file at the receiving site.
Before importing a rule tree file, you must ensure schema compatibility. To successfully load a new rule
tree from a file, the importing site must have the same types, roles, and groups as those referenced in
the rule tree file. If there is any incompatibility, the import operation ends at the first discrepancy and an
error message appears.
If you encounter schema compatibility issues, open the rule tree file with a text editor and either print
the file or make note of the types, roles, and groups referenced in the file. You can then use the
Organization application to define the exact types, roles, and groups at your site.
Caution:
Siemens Digital Industries Software recommends that you do not modify the rule tree file in a text
editor, as this file must conform to a particular format and can be easily corrupted. You can use
Access Manager to modify the rule tree after the file is imported.
When you save the rule tree, a file is saved in the TC_DATA\am directory. This file is named tree_date-
time; it can be used to revert the rule tree to its state at a specific date and time.
Note:
If you use the TC_SKIP_FINDINGS_AM_IMPACTED_OBJECTS environment variable, you must run
indexing manually to submit the modifications to the Solr engine directly; this enables the security
strings on each object to reflect the rule changes.
This enables you to repair the rule tree in the event that rule tree modifications have been made that
render you unable to functionally log on to Teamcenter. For example, if a rule tree modification results
in rendering you unable to see your Home folder when you log on to Teamcenter, you can use the
bypass privilege to log on and repair the rule tree.
Setting this environment variable to any value prompts the system to bypass the AM rule tree when
logging on.
Note:
This environment variable should only be used when you cannot log on to Access Manager using
your standard administrative logon. It is not intended for general rule tree maintenance.
1. Choose File→Export.
2. Enter a name for the file into which you want to export the AM rule tree data and browse to the
directory where you will store the new file.
3. Click Export.
3. Click Import.
• After upgrading to new version of Teamcenter, you notice there is a new system branch in the default
rule tree for that version. However, you cannot add it because the system branch of the rule tree is
not modifiable in Access Manager.
• You have many custom stubs and ACLs in the rule tree outside of the system branch.
1. Before updating your rule tree, export your current rule tree with custom legacy rules into a file (for
example, C:\MyRuleTrees\Acme_rule_tree.xml) by choosing File→Export.
2. In Access Manager, import the new default rule tree with the updated system branch stub into
Access Manager by choosing File→Import.
3. Open the rule tree you exported in Step 1 into an XML editor and manually add the new system
branch stub.
You now have a rule tree that includes both your customizations and the updated system branch
stub.
4. Import your new updated rule tree .xml file from Step 3 into Teamcenter using the am_install_tree
command. For example:
5. Log on to Teamcenter and verify that your Access Manager rule tree contains your customizations
and the updated system branch.
Note:
If you encounter any problems with your rule tree, you can restore it as follows:
Then, repeat Step 3 and Step 4 until your results are correct.
• Finding objects.
The am_rule_test_harness utility automates rules testing with minimal configurations, thereby
reducing time, expense, and errors.
1. Define search criteria in a test input XML file, which specifies the user, group, role combination,
object, and privileges to be tested.
Note:
• The format for the search criteria is:
className{attrb1=value1,attrib2=value2...}
• Only single-value attributes, including those from parent classes, are supported.
• The following special characters cannot be used in class name, attribute name, or attribute
value: { } =,.
• Attribute value for the date range must be in the following format:
creation_date=\"start-date to end-date.
• For the input XML file, user_id, group, and role values are mandatory. Only the project
value is optional.
2. Run the am_rule_test_harness utility. When the utility is run, it searches for the specified objects
and evaluates whether the privileges are granted or denied for the given user, group, and role
combination.
3. Review the output XML file. If the generated output report indicates corrections need to be made,
correct the data in the input file, and rerun the tests using the updated input file.
4. If the generated output report indicates corrections need to be made, correct the data in the input
file, and rerun the tests using the updated input file.
The am_rule_test_harness utility requires an input XML file, which specifies the user, group, role
combination, object, and privileges to be tested.
When the am_rule_test_harness utility is run with an input XML file, the utility generates an output
report, for example:
If the generated output report indicates corrections need to be made, correct the data in the input file
and rerun the tests using the updated input file.
Note:
When the Access Manager rule tree contains the Current Group Is condition, the
am_rule_test_harness utility uses the group from the current logged-on user and not the
group specified in the input XML file.
4. If necessary, troubleshoot test errors using the Access Manager Test Harness report. Correct data in
the input XML file and rerun the tests.
To ensure proper operation, both sites should share the same Teamcenter version. However, if both
sides have the same data model for the data being exchanged, the exchange can occur with different
versions of Teamcenter and still operate properly.
You can use Teamcenter Environment Manager (TEM) to manage your administration data at multiple
sites. For example, you can export and import administration data using panels in TEM that are accessed
through the Manage Administration Data option in the Feature Maintenance panel. Using TEM, you
can select the specific instances of administration data by category, class, and specific attribute/value
criteria.
• Generate and view a report containing Access Manager administration data using the
generate_admin_data_report utility.
• Generate and view a report comparing administration data at two sites using the
generate_admin_data_compare_report utility.
• Export Access Manager named ACLs and privileges using the admin_data_export utility.
Use the Access dialog box to determine the access privileges you have to an object. You can also view
the access privileges for another user.
Note:
For quick access to summary access information, you can use the Information Center in the lower
portion of the Teamcenter window next to the clipboard.
1. In My Teamcenter, select the object affected by the access rule and choose View→Access.
Tip:
You can also right-click the object and choose Access from the shortcut menu, or you can
click Access on the toolbar.
The Access dialog box appears, showing the privileges that the logged-on user has to the selected
object.
2. To view privileges assigned to your other roles and groups, select the role or group from the lists in
the Access dialog box.
The system updates the Access table to reflect the privileges of the selected group and role.
3. To view the privileges of a different user, select the user, group, and role from the lists in the
Access dialog box.
The system updates the Access table to reflect the privileges of the selected user, group, and role.
In this example, you see privileges for two users for one object.
The Access dialog box shows the user taylor has several privileges, such as Delete, Read, and
Write privileges to the 000017/A item.
2. To view the privileges of a different user, select the user, group, and role from the lists in the
Access dialog box.
The Access dialog box shows the user smith has Read and Write privileges but does not have
Delete privileges to the 000017/A item.
Note:
The Access dialog box and the Extra Protection dialog box may display different information.
• The Access dialog box displays information based on the current user and that user's group and
role.
• The Extra Protection dialog box displays information based on the current user, without
assessing the current user's group or role.
View the access control list (ACL) associated with the object
Note:
Because there is a significant performance impact to collect the statistics, the feature is disabled
by default.
Statistics are logged in both grep/Excel-compatible and human-readable format. The grep utility is used
to extract the statistics entries from the syslog file using the AM_STATISTIC_ENTRY string. Each
resulting entry is in comma-separated values (CSV) format for import into Microsoft Excel.
grep/Excel format:
AM_STATISTIC_ENTRY,entry_type,name,call_count,min_cpu,max_cpu,total_cpu,
min_real,max_real,total_real,min_sql,max_sql,total_sql
Where:
entry_type: RULE | ACCESSOR
name: Name of the rule or accessor function
call_count: Total number of calls to this Rule or Accessor function
min_cpu: Minimum number of seconds of CPU time used by a call to this
function
max_cpu: Maximum number of seconds of CPU time used by a call to this
function
total_cpu: Total number of seconds of CPU time used by all calls to
this function
AM_STATISTIC_ENTRY,RULE,Owning
User,8601,0.000000,0.000000,0.000000,0.000000,0.000000,0.000000,0,0,0
AM_STATISTIC_ENTRY,RULE,Has
Class,198591,0.000000,0.016000,0.186000,0.000000,0.016000,0.156000,0,0,0
AM_STATISTIC_ENTRY,RULE,Has
Status,16416,0.000000,0.016000,0.031000,0.000000,0.016000,0.031000,0,0,0
AM_STATISTIC_ENTRY,RULE,In
Job,8208,0.000000,0.016000,0.016000,0.000000,0.016000,0.016000,0,0,0
AM_STATISTIC_ENTRY,ACCESSOR,World,321,0.000000,0.000000,0.000000,0.000000,0.000000,0.0000
00,0,0,0
The human-readable format contains the statistics in tabular form with column and row labels.
Rule_Name
Total Calls
Resource Minimum Maximum
Average Total
Owning
User 8601
CPU Time 0.000000 0.000000 0.000000
0.000000
Real Time 0.000000 0.000000 0.000000
0.000000
SQL Calls 0 0
0.000000 0
Has
Class
198591
Accessor_Name
Total Calls
Resource Minimum Maximum
Average Total
World
321
CPU Time 0.000000 0.000000 0.000000
0.000000
Real Time 0.000000 0.000000 0.000000
0.000000
SQL Calls 0 0
0.000000 0
Asia-Pacific
Americas Suites 4301-4302, 43/F
Granite Park One AIA Kowloon Tower, Landmark East
5800 Granite Parkway 100 How Ming Street
Suite 600 Kwun Tong, Kowloon
Plano, TX 75024 Hong Kong
USA +852 2230 3308
+1 314 264 8499