匹配共享规则是对象的动态访问控制的一部分。这些规则允许将用户分配给自动管理组,并将这些组动态分配给特定对象记录上的角色。
注意:当实施任何自定义安全或访问控制时,管理员应当在对生产机构进行这些更改之前执行 UAT(用户验收测试)。有些更改可能影响特定于应用程序的功能,导致 Vault 难以使用。
配置概述
对于匹配共享规则,可以考虑两种配置:您的初始配置和定期重新配置。第二种是持续维护。
初始配置和定期配置
在开始实施任何匹配共享规则之前,请规划您的访问控制模型。例如,在所有角色中,需要使用哪些标准(最多五个字段)将用户与对象记录匹配?对于所有要使用匹配共享规则的对象,您无需完成此过程:您可以在不同的时间配置个别对象。在此阶段,建议您咨询 Veeva 服务团队。
当您的组织实施一项计划之后,您可以开始进行配置。当完成以下任务时,建议启用配置模式。为对象启用匹配共享规则之后,所有用户都将失去对对象记录的访问权限,直到您完全配置这些规则。
- 从管理 > 配置 > 对象中,查看用户角色设置对象。您可以为此对象添加或删除字段,也可以使用用户角色设置类创建新的对象。Vault 使用此对象中的字段值将自动管理用户组与特定的对象记录匹配。Vault 只能使用某些字段进行匹配。每个字段都必须同时存在于用户角色设置对象和受保护的对象上。
- 从管理 > 设置 > 安全设置中,查看自动管理组字段顺序设置中的字段顺序。此设置控制着 Vault 如何命名自动管理组。如果需要,您可以随时对这些字段重新排序,但这样只会影响在更改之后创建的组,因此建议在继续配置匹配共享规则之前进行更改。请注意,应用程序角色始终位于名称的末尾。
- 从管理 > 配置 > 对象 > [对象] > 详细信息中,启用匹配共享规则。选择受保护的对象要使用的特定用户角色设置对象。为对象选择一个生命周期。您可能需要配置新的生命周期。
- 可选:选中使用操作安全性控制共享设置复选框。这样即可配置共享设置的操作安全性,以控制用户对每个记录、角色和生命周期状态的共享设置的访问权限。
- 可选:从管理 > 配置 > 对象生命周期 > [生命周期] > 角色中,设置您希望与匹配共享规则结合使用的任何其他角色。
- 从管理 > 配置 > 对象 > [对象] 中,导航到共享规则标签页。设置匹配共享规则,以规定 Vault 如何将组匹配到和分配给对象记录。
- 导航到业务管理员,并(为您正在使用的用户角色设置对象)创建用户角色设置记录的初始集。在大多数 Vault 中,每个用户拥有多个记录。由于存在大量的记录,您应考虑使用 Vault 加载程序来创建初始集。注意:如果启用,管理员可以配置用户角色约束,以限制用户角色分配.
注意:如果对象使用自定义共享规则,启用匹配共享规则并不会影响现有的角色分配。由于使用匹配共享规则而执行的分配是对现有分配的补充。
持续维护
随着新用户的加入、现有用户的角色发生变化以及其他用户的离开,您需要创建、更新和删除用户角色设置记录,以维护您的访问控制设置。出现这种情况时,Vault 会自动重新计算组成员资格,以确保这些用户对正确的对象记录拥有正确的角色。如果这些编辑导致创建新的自动管理组,当 Vault 为新的组计算访问权限时会出现延迟。根据受影响的对象记录的数量,可能会出现长达几分钟的延迟。当执行此操作时,配置屏幕中会显示一个通知横幅。
用户角色设置和对象类
如果您的任何对象使用匹配共享规则,您的 Vault 将包含一个用户角色设置对象,或者包含多个具有用户角色设置对象类的对象。用于文档的 DAC 始终使用原始用户角色设置对象,但用于对象记录的匹配共享规则可以使用多个具有此类的对象。
在很多情况下,需要创建多个具有此类的对象:
- 如果您的 Vault 对文档使用动态访问控制。
- 如果您需要为多个对象设置匹配共享规则,而这些对象需要五 (5) 个以上的匹配字段。例如,您的 Vault 根据地区值将用户匹配到国家/地区记录,但根据治疗领域、状态和多个其他的字段将用户匹配到产品记录。由于规则涉及五个以上的不同字段,您必须为每个受保护的对象配置创建一个具有用户角色设置类的对象。
当创建多个具有用户角色设置类的对象时,建议使用一个命名约定来表明每个类支持哪些对象,例如“URS 国家/地区”和“URS 产品”。
应用程序角色
应用程序角色对象提供了一个“应用程序级别”角色,您可以将它添加到对象生命周期。系统默认设置了查看者、编辑者和所有者角色。在对象配置内,您可以为您添加的每个角色定义权限。这些角色的权限只适用于此对象。
尽管您可以在创建用户角色设置记录时选择任意申请角色,但并非所有角色都有效。匹配共享规则只能使用标准的查看者、编辑者和所有者角色,以及您已经添加到对象生命周期的任何应用程序角色。
请注意,应用程序角色可以引用其权限集字段中的权限集。此字段用于角色权限中。只有当用户通过一个用户角色记录与应用程序角色关联时,才会授予此字段中的权限集,而且当通过共享设置或一条匹配共享规则将用户添加到此角色时,将不会应用此权限集。
匹配字段
动态访问控制将匹配字段用作匹配共享规则的标准。任何匹配字段都必须同时存在于受保护的对象和用户角色设置对象上。例如,系统根据治疗领域值将一条规则分配给产品的编辑者角色。只有当产品和用户角色设置上同时存在一个治疗领域字段时,此规则才能发挥作用。
如何设置匹配字段
若要定义匹配字段:
- 在您要保护的对象上查找字段,例如产品。
- 记下字段名称,例如
therapeutic_area__c
和product_family__v
。 - 导航到用户角色设置对象配置。这可以是一个具有用户角色设置类的自定义对象。
- 创建与受保护的对象上的字段相对应的新对象字段。默认情况下,Vault 使用字段名称将字段彼此映射,因此名称的第一部分(在
__c
或__v
后缀)之前)必须匹配,例如,用户角色设置上的product_family__c
对应于产品上的product_family__v
。
有效的字段类型
并非所有字段都是有效的匹配字段。您必须使用以下字段类型:
- 选项列表(在用户角色设置上必须是单选,在受保护的对象上可以是单选或多选)
- 对象引用(在用户角色设置和受保护的对象上都必须是单选)
- 查找(必须指向一个有效的单值或多值选项列表,或者指向一个对象引用字段)
- 受保护的对象上的名称 (
name__v
) - 受保护的对象引用的一个对象的名称 (
name__c
)
关于源和源引用字段
具有用户角色设置类的对象上具有两个非必要、不可编辑的字段:
- 源 (
user_source__sys
) 选项列表 - 源引用 (
user_source_ref__sys
) 文本字段。
在未来的版本中,Vault 申请可能会使用这两个字段来跟踪用户角色设置记录的起源。尽管 Vault 禁止用户保存源和源引用字段中的值,但在处理用户角色设置对象时,这两个字段会作为可编辑的字段显示。对于除 Vault 所有者以外的所有安全配置文件,建议使用字段级安全将这两个字段设置为只读字段。
关于规则条件字段映射灵活性
默认情况下,当定义规则条件时,Vault 会将用户角色设置字段映射到同名(不包括后缀)的对象字段。如果多个处于活动状态的对象字段引用了同一个对象、选项列表或查找字段,您可以从下拉列表中选择可用的字段。请注意,定义一个映射此类字段的共享规则之后,此映射将沿袭到所有的后续共享规则定义中。
在查找字段上匹配
匹配共享规则支持在类型为查找的字段上进行匹配。在这种情况下,用户角色设置对象上的字段将是一个选项列表或对象引用字段,字段名称将对应于“查找”字段所“查找”的字段的名称。
例如,VeePharm 使用治疗领域、产品对象上的一个选项列表字段以及市场营销活动对象上的一个“查找”字段来保护市场营销活动对象。要设置此操作,Vault 需要使用以下字段:
字段标签和名称 | 字段类型 | 对象上 | 注释 |
治疗领域 (therapeutic_area__c ) | 选项列表 | 产品 | |
产品 (product__v ) | 对象引用 | 营销市场活动 | 在市场营销活动与产品之间建立一个关系 |
治疗领域 (therapeutic_area__c ) | 查找 | 营销市场活动 | 从相关的产品对象记录中提取一个值 |
治疗领域 (therapeutic_area__c ) | 选项列表 | 用户角色设置 | 在用户角色设置上创建用于匹配的相应字段 |
在名称字段上匹配
您可以使用名称字段来创建规则,以便按名称保护个别记录及其子级记录。例如,一个用户角色设置记录可以将 Thomas Chung 分配给研究 VVT485-301 上的编辑者角色。这样可以减少保护对象记录时所需的设置,特别适合保护父级-子级关系中的记录,例如研究 > 研究国家/地区 > 研究机构。
Vault 会在幕后使用一个对象记录的 ID,而不是实际名称值。这样可以防止在记录的名称值发生变化时违反访问控制设置。
基于空值的匹配
动态访问控制匹配规则会在字段值之间寻找精确匹配。当一条规则中包含一个字段时,空字段值不会匹配到其他的空字段值。例如,当一个用户角色设置记录具有空白的国家/地区字段时,将只匹配具有空白国家/地区字段的对象记录。系统会将规则中使用的空值与其他的值同等对待,但不将它们与用于匹配的通配符同等对待。
限制
一个用户角色设置对象可以拥有最多五 (5) 个用于匹配的自定义字段。
对于每个角色的每个受保护的对象,您的 Vault 可以拥有最多八 (8) 个共享规则。例如,产品可以总共拥有 32 条规则:8 条用于所有者角色,8 条用于编辑者角色,8 条用于查看者角色,8 条用于自定义审查者角色。
创建匹配共享规则
当创建一条共享规则时,您需要选择匹配字段。Vault 将这些字段中的值用作自动管理组的匹配标准。例如,共享规则定义了治疗领域 (therapeutic_area__c
) 上的匹配。当此规则处于活动状态时,Vault 会检查给定对象记录的治疗领域值是否与一个用户角色设置记录的治疗领域值匹配。
如果您应根据一个非常明确的匹配和一个比较松散的“部分”匹配为角色授予访问权限,您可以设置多个共享规则。例如,查看者可以只通过治疗领域字段上的匹配标准获得访问权限,而编辑者可以通过治疗领域和产品系列上的匹配标准获得访问权限。
如何创建规则
要创建共享规则:
- 导航到对象配置:管理 > 配置 > 对象 > [对象],然后单击共享规则标签页。
- 单击创建。
- 为角色输入一个描述性标签。此标签将在对象记录的共享设置中可见。
- 可选:编辑名称。这是根据标签自动分配的,但您可以根据需要进行更新。此名称通过 API 可见。
- 可选:输入描述。此描述只会出现在共享规则详细信息页面中。
- 选择要将规则应用于哪个角色。
- 在规则条件的下方,选择字段以定义匹配参数。请参阅有关字段映射的详细信息。相应自动管理组的模式将出现在这些条件的下方。
- 单击保存。
- 单击创建,以根据需要添加任何其他的共享规则。
- 当最初创建或修改一条规则时,Vault 必须重新索引记录,以应用新的规则。这可能需要几小时的时间。屏幕顶部会出现黄色进度条。
如何修改规则
要修改一个共享规则,请返回到对象配置上的共享规则标签页,然后单击特定的规则:
- 单击编辑可更改标签、名称、描述或条件。
- 单击删除可永久删除规则。
相关权限
要启用匹配共享规则并创建规则,您的安全配置文件必须授予管理 > 对象 > 编辑权限。