可扩展数据安全策略
本单元概述财务和运营应用中的可扩展数据安全 (XDS) 策略。 XDS 允许开发人员根据安全策略限制对表记录的访问,从而补充基于角色的安全性。 策略中的查询应用筛选器,并且只能从受限表中访问满足筛选器条件的记录。
数据安全策略组件
数据安全策略组件包括:
- 约束表 - 筛选或保护数据的一个或多个表。 例如,在基于客户保护对交易的访问的策略中,CustTrans 将是约束表的一个示例。
- 主表 - 用于保护相关约束表的内容。 在下面的示例中,CustTable 表将是主表。 主表必须与约束表具有显式关系。
- 策略查询 - 用于使用主表内容上的范围条件保护约束表内容。 仅包含在范围内的记录可访问。 例如,范围可以基于客户的特定值。
- 上下文 – 控制策略适用的条件。 两种可用的主要上下文类型是角色上下文和应用程序上下文:
- 角色上下文 - 基于用户分配的角色。 角色上下文有两个子选项:
- RoleName – 指示安全策略仅应用于分配给值等于 RoleName 的角色的应用程序用户。
- RoleProperty – 本值与 ContextString 属性结合使用以指定多个用户角色上下文。 当在策略的角色属性字段中定义的上下文字符串值与分配的用户角色的上下文字符串字段值相同时,应用该值。
- 应用程序上下文 - 如果应用程序使用 XDS::SetContext API 设置的上下文字符串与在策略的上下文字符串字段中定义的值相同,应用该值。 在应用程序对象树 (AOT) 中,策略及其组件显示在安全 > 策略下。
- 角色上下文 - 基于用户分配的角色。 角色上下文有两个子选项:
重要注意事项
在涉及指定约束表的 SELECT、UPDATE、DELETE 和 INSERT 操作上,策略查询将添加到 WHERE 子句或 ON 子句。 除非经过精心设计和测试,否则策略查询可能会对性能产生重大影响。 因此,在开发可扩展数据安全策略时,请确保遵循简单但重要的指南。 有关详细信息,请参阅开发可扩展数据安全策略(白皮书)。
应用两个或多个安全策略时,每个策略包含的记录的交集(不是并集)是唯一可以访问的记录。 这意味着,在允许访问记录之前,记录必须满足所有适用的安全策略。
其他资源
有关如何调试策略,创建更高级的策略(包括限制表的链接、基于表达式的表关系等)的信息,请参阅以下资源: