安全标签和协议的最佳操作方法
请考虑下列适用于带有配置安全标签的系统的最佳做法:
• 针对不包含某些敏感信息的对象,设置空的安全标签值。也可以设置非空信息标记。具有空安全标签值和非空信息标记的对象不会限制访问,这表示您的 Windchill 系统不需要验证用户是否是授权参与者。
• 仅在一个或多个值限制对某个对象的访问时使用安全标签。否则,请针对对象使用全局属性而不是非空信息标记。纯粹作为信息标记的安全标签不可替代全局属性。
• 对于确实包含敏感信息的对象,请将参与者添加到标签值的已授权参与者组中,除非参与者仅需要在有限的时间内进行访问。协议仅应用作安全标签值限制的例外。尽管协议处于活动状态的时间不受限制,但协议不应用作向大量用户授予对带有安全标签的对象进行访问的主要手段。
• 应用于业务对象的所有“名称/值”对将一同存储在单个数据库列 (大小限制为 4000) 中。对于标准安全标签,需要保持
SecurityLabel 元素的
name 属性和
SecurityLabelValue 元素的
name 属性尽可能短,因为这些值通常不显示在用户界面中。有关详细信息,请参阅
编辑安全标签配置文件。对于自定义安全标签,需要保持
CustomSecurityLabel 元素的
name 属性和内部自定义安全标签值尽可能短。您可以使用自定义转换器减小数据库中存储的内部值的大小。有关详细信息,请参阅
创建自定义转换器类。
• 为安全标签值或协议指定授权参与者时请慎重。将组或组织指定为已授权参与者可赋予其这样的权限,使用该权限可更改组或组织成员资格对由安全标签值或协议授权的参与者进行控制的方法。请确保选择成员资格仅能由管理员修改的组和组织,此时应允许其通过所应用的安全标签值来扩展对象的访问权限或将其关联至协议。例如,如果选择与上下文团队角色相关联的系统组作为协议的已授权参与者,则在默认情况下,上下文管理员能够更改团队成员资格,因此也能够更改协议的已授权参与者。除非上下文管理员也是协议管理员,否则上下文管理员可能无法了解更改团队成员资格所造成的影响。
• 当创建或编辑有助于管理协议授权对象的协议时所需的“选择授权的相关变更”步骤。然而,在协议中将大更改对象包括为相关的更改对象会对 Windchill 性能造成负面影响。
• 默认情况下,所有安全标签均可用作“编辑安全标签”窗口中“对象列表”的列。可为“对象列表”表格设置自定义表格视图,以对所显示的安全标签列进行限制。如果从表格启动了“编辑属性值”操作,则只有可用的安全标签列显示在窗口中。如果您计划创建自定义表格视图并与用户共享该视图,则应在向用户开放系统前创建和共享视图,以防止无意授权对值造成修改。
• 由于在执行自定义评估器类和转换器类时,Windchill 需要频繁调用这些自定义类中的方法,因此性能会受到影响。例如,设置对外部系统的调用时,可以考虑通过缓存返回值来提高性能,以便进行后续方法调用。
• 使用自定义安全标签时,如果用户可以手动输入值 (例如使用配置自定义安全标签时默认提供的文本字段),则 PTC 建议向用户界面添加验证。建议使用自定义转换器类对值进行验证,以防止用户在用户界面中输入无效值或在导入文件中指定无效值时,系统将非预期值存储在数据库中。
• 当用户错误地将标准或自定义安全标签值设置为限制该用户访问权限的一个值,然后需要更正该值时,请确保管理员能够对该值进行修改。