用于控制访问权限的列级安全性

使用与安全角色相关联的权限在表级别管理对记录的访问。 表中的某些列可能包含比其他列更敏感的数据。 使用列级别安全性来管理对特定列中数据的访问。 列级安全配置是组织范围的,适用于所有数据访问请求。

您可以使用列级别安全性来阻止某些用户:

  • 设置记录中列的值。
  • 查看列中的数据。 您可以选择屏蔽此值以显示其中的一部分,或者根本不返回任何数据。

备注

若要配置列级别安全性,需要系统管理员角色。

列级安全性不适用于具有系统管理员角色的用户。 数据从不对系统管理员隐藏。 若要验证配置的结果,必须使用未分配系统管理员安全角色的帐户。

使用此过程,列级安全性可用于大多数列

  1. 对给定表的一列或多列启用列级安全性
  2. 或者,选择一个屏蔽规则
  3. 关联多个现有的安全配置文件,或创建一个或多个新安全配置文件,以向特定用户或团队授予相应的权限。

启用列安全性

使用以下步骤来保护列:

  1. 登录到 Power Apps

  2. 选择解决方案

  3. 选择包含具有该列的表的非托管解决方案,或者创建一个新的解决方案来保存您的更改并将该表添加到其中。

  4. 在解决方案的对象中,在中,选择该表。

  5. 架构下面,选择

    显示选择列的位置的屏幕截图。

  6. 列表中,选择一列。

  7. 展开高级选项,然后在常规下,选择启用列安全性

    显示如何展开“高级选项”和“打开列安全性”的屏幕截图。

  8. 选择保存

将团队或用户添加到列安全性配置文件以控制访问

列安全性配置文件确定:

  • 分配给用户和团队的访问权限
  • 安全列的权限。

使用列安全性配置文件授予用户或小组成员以下权限:

权限 选项 结果
读取 允许
不允许
用户是否可以查看列的数据。
如果对列应用掩码规则,则显示掩码值。
读取未掩码项 所有记录
一条记录
不允许
当安全列具有掩码规则时,开发人员可以编写代码来请求返回未屏蔽的数据。
此设置控制该请求是否成功。
默认设置为不允许
了解有关使用屏蔽规则授予安全列权限的更多信息
Update 允许
不允许
用户是否可以更新列中的数据。
创建 允许
不允许
创建记录时,用户是否可以在列中设置数据。

配置这四种权限的组合,以确定特定数据列的用户权限。

重要提示

除非将一个或多个安全配置文件分配给了具有安全性的列,否则只有具有系统管理员安全角色的用户可以访问该列。 任何未在列安全性配置文件中定义的用户都不能访问表单或视图中的列。 列值显示 锁定图标。 ********,表示列已受保护。

添加列并设置列安全性配置文件的权限

若要添加列并设置列安全性配置文件的权限,请使用以下步骤:

  1. 登录 Power Platform 管理中心
  2. 在导航窗格中选择管理
  3. 管理窗格中,选择环境。 然后选择一个环境。
  4. 选择设置>用户 + 权限>列安全配置文件
  5. 选择现有配置文件,或选择新建配置文件,输入名称、说明,然后选择保存
  6. 选择 Teams用户选项卡,选择+添加 Teams+添加用户,选择您要控制访问的团队或用户,然后选择添加
  7. 选择列权限选项卡,在名称列中选择一个或多个列,然后选择编辑。 为所需的访问配置四个属性。 这些权限控制此安全配置文件中的人员是否可以读取或设置列值。
  8. 选择保存

可以保护哪些列?

当列符合列级安全性条件时,在 Power Apps 的列定义的高级选项区域中会启用启用列安全性复选框。

显示如何启用列安全性的屏幕截图。

当您创建或编辑列时,可以查看此区域。

无法保护的列包括:

  • 虚拟表中的列
  • 查找列
  • 公式列
  • 主要名称列(每个表都必须显示查阅字段中的值的单行文本列。通常名称以 name 结尾。)
  • 系统列,如 createdonmodifiedonstatecodestatuscode

备注

  • 文件和图像数据类型可以受保护,但无法进行屏蔽。
  • 使用富文本格式的文本数据类型可以进行安全保护,但富文本中嵌入的图像无法进行屏蔽或绕过屏蔽。

是否启用启用列安全性复选框取决于这些列属性的值:CanBeSecuredForCreateCanBeSecuredForReadCanBeSecuredForUpdate。 您可以通过安装浏览环境中的表定义中描述的元数据浏览器解决方案来查看此数据。

最佳做法

计算列包含一个受保护列时,数据可能会在计算列中显示给不具有受保护列权限的用户。 应保护原始列和计算列。

复合列包括来自多列的数据。 例如,contactfullnameaddress1_composite 列是复合列。 若要完全保护复合列中包含的数据,必须在表的多个列上保护并配置相应的列安全配置文件。 例如,要完全保护 address1_composite 列,您需要保护address1_表中所有以 customeraddress 开头的列。

备注

要更改列安全性,需要客户端(如模型驱动应用)上的最终用户刷新浏览器,以使更改生效。 在动态调整访问规则时,应考虑这一点。

启用或禁用列安全性以控制访问
列级别安全性示例
层次结构安全性
基于代码的列级安全