采用层次结构安全性控制访问

层次结构安全模型是现有使用业务部门、安全角色、共享和团队的安全模型的扩展。 它可与所有其他现有安全模型一起使用。 层次结构安全性提供对组织记录更细粒度的访问,并帮助减少维护成本。

例如,在复杂方案中,则可以先创建多个业务部门,然后添加层次结构安全性。 此增加的安全性会实现对数据的更细粒度的访问,并极大地减少大量业务部门所需的维护成本。

管理层次结构和职位层次结构安全模型

两种安全模型均可用于层次结构、管理层次结构职位层次结构。 在管理人员层次结构中,管理人员与下属必须位于同一业务部门中,或位于下属业务部门的上级业务部门中,才能访问下属的数据。 位置层次结构允许数据跨业务部门进行访问。 如果您的组织是一个财务组织,则可能更希望使用管理层次结构模型,以防止经理访问其业务部门之外的数据。 但是,如果贵公司是客户服务组织中的一部分,并希望经理访问不同业务部门处理的服务案例,那么职位层次结构可能会更加适合您。

备注

当层次结构安全模型提供对数据的特定级别访问时,使用其他安全窗体,如安全角色,则可以获取附加访问。

管理层次结构

管理层次结构安全模型基于管理链或直接下属结构,通过使用系统用户表上的经理字段来构建经理和下属的关系。 利用此安全模型,经理可以访问其下属有权访问的数据。 他们能够代表其直接下属执行工作或访问需要审批的信息。

备注

利用管理层次结构安全模型,经理可以访问属于该用户或该用户所属团队的记录,并访问直接与该用户或与该用户所属团队共享的记录。 当记录被管理链外的用户共享到具有只读访问权限的直接下属用户时,直接下属的经理将具有共享记录的只读访问权限。

启用跨业务部门的记录所有权选项后,经理可以有来自不同业务部门的直接下属。 您可以使用以下环境数据库设置删除业务部门限制。

ManagersMustBeInSameOrParentBusinessUnitAsReports

默认值 = true

您可以将其设置为 false,经理的业务部门不需要与直接下属的业务部门相同。

除了管理层次结构安全模型外,经理必须对表至少具有用户级的读取权限,以便查看报表数据。 例如,如果经理不具有对案例表的读取访问权限,该经理则无法查看其下属有权访问的案例。

对于经理的同一个管理链中的非直接下属,经理具有非直接下属的数据的只读访问权限。 对于直接下属,经理具有对下属数据的读取、写入、追加以及追加到访问权限。 为了阐明管理层次结构安全模型,让我们看一下下面的关系图。 CEO 可以读取或更新销售数据的 VP 和服务数据的 VP。 但是 CEO 只能读取销售经理数据和服务经理数据,以及销售和支持数据。 您可以通过“深度”进一步限制经理可访问的数据量。 深度用于限制经理对其下属数据的只读访问权限的深度级别。 例如,如果深度设置为 2,则 CEO 可以查看销售 VP、服务 VP、销售及服务经理的数据。 但是 CEO 无法查看销售数据或支持数据。

显示经理层次结构的屏幕截图。此层次结构包括 CEO、销售副总裁、服务副总裁、销售经理、服务经理、销售和支持。

请务必注意,如果直接下属对表的安全访问权限比其经理更高,经理可能无法看到直接下属有权访问的所有记录。 以下示例介绍了这个情况。

  • 一业务部门有三个用户:用户 1、用户 2 和用户 3。

  • 用户 2 是用户 1 的直接下属。

  • 用户 1 和用户 3 对客户表具有用户级别的读取访问权限。 具有此访问级别的用户可以访问其负责的用户记录、与该用户共享的记录以及与该用户所属团队共享的对象。

  • 用户 2 对客户表具有业务部门读取访问权限。 此访问权限允许用户 2 查看该业务部门的所有客户,包括用户 1 和用户 3 负责的所有客户。

  • 用户 1 作为用户 2 的直接经理,有权访问用户 2 负责或与用户 2 共享的客户,包括其他用户 2 所属团队共享或由该团队负责的客户。 但是,用户 1 无法访问用户 3 的客户,尽管其直接下属可以访问用户 3 的客户。

职位层次结构

职位层次结构并不基于诸如管理层次结构的直接下属结构。 用户不必是访问用户数据的其他用户的实际经理。 作为管理员,要定义组织中的各种工作职位,并在职位层次结构中对其进行排列。 然后,您将用户添加到任何给定职位,或者换句话说,使用特定职位“标记”用户。 在给定的层次结构中,一个用户只能用一个职位进行标记,但是多个用户可使用同一职位。 在层次结构中处于更高职位的用户有权访问直接上级路径中处于较低职位的用户数据。 直接更高职位中的用户对直接上级路径中较低职位的数据具有读取、写入、追加以及追加到访问权限。 非直接更高职位对直接上级路径中较低职位的数据具有只读访问权限。

为了阐明直接上级路径的概念,让我们看一下下面的关系图。 销售经理职位有权访问销售数据,但是,它无权访问位于不同上级路径中的支持数据。 对于服务经理职位也是一样。 服务经理职位无权访问位于销售路径中的销售数据。 与在管理层次结构中一样,您可以使用深度限制更高职位可访问的数据量。 深度将会限制更高职位对直接上级路径中较低职位的数据所具有的只读访问权限的深度级别。 例如,如果深度设置为 3,CEO 职位可以查看从销售 VP 与服务职位 VP 一直到销售与支持职位的所有数据。

显示职位层次结构的屏幕截图。此层次结构包括 CEO、销售副总裁、服务副总裁、销售经理、服务经理、销售和支持。

备注

利用职位层次结构安全性,处于较高职位的用户可以访问属于较低职位用户或该用户所属团队的记录,并访问直接与该用户或与该用户所属团队共享的记录。

除了职位层次结构安全模型外,更高级别的用户必须至少拥有对表的用户级别的读取特权,以便查看较低职位的用户有权访问的记录。 例如,如果处于较高级别的用户没有对案例表的读取访问权限,则该用户将无法查看较低职位用户有权访问的案例。

设置层次结构安全性

要设置层次结构安全性,确保您具有更新设置的系统管理员权限。

默认情况下,禁用层次结构安全性。 要启用层次结构安全性,请完成以下步骤。

  1. 选择一个环境,然后转到设置>用户 + 权限>层次结构安全性

  2. 层次结构模型下,根据您的要求选择启用经理层次结构模型启用职位层次结构模型

    重要提示

    若要在层次结构安全性中做出更改,您必须具有更改层次结构安全设置特权。

    层次结构表管理区域,默认情况下,所有系统表都启用了层次结构安全性,但是您可以从层次结构中排除选择性表。 要从层次结构模型中排除特定的表,请清除要排除的表的复选框并保存更改。

    环境设置中层次结构安全页的屏幕截图。

  3. 深度设置为所需值,以限制管理器对其报表数据所拥有的只读访问权限的深度级别。

    例如,如果深度为 2,经理仅具有访问其自己帐户和下属帐户两个级别的权限。 在我们的示例中,如果您以销售副总裁的非管理员身份登录 customer engagement 应用程序,您只能看到用户的活动帐户,如下所示:

    显示销售副总裁和其他职位的读取权限的屏幕截图。

    备注

    当层次结构安全性授予销售 VP 访问红色矩形中记录的权限时,基于销售 VP 拥有的安全角色,还可以授予其他访问权限。

  4. 默认情况下,在层次结构表管理部分,所有系统表都启用了层次结构安全性。 要从层次结构模型中排除特定的表,请清除表名旁边的复选标记并保存更改。

    该屏幕截图显示了在新的现代 UI 的设置中设置层次结构安全性的位置。

    重要提示

    • 这是一项预览功能。
    • 预览功能不适合生产使用且功能可能受限。 这些功能在正式发布之前推出,以便客户可以提前使用并提供反馈。

设置管理器和位置层次结构

通过使用系统用户记录上的经理关系,轻松创建管理层次结构。 请使用经理 (ParentsystemuserID) 查找字段来指定用户的经理。 如果已经创建了职位层次结构,则还可以在职位层次结构中用特定职位标记用户。 在以下示例中,销售员向管理层次结构中的销售经理汇报工作,同时在职位层次结构中具有销售职位:

显示销售人员用户记录的屏幕截图。

若要将用户添加到职位层次结构中的特定职位,请在用户记录窗体上使用名为职位的查找字段。

重要提示

若要将用户添加到职位或更改用户职位,则必须具有分派用户职位的权限。

显示如何在层次结构安全性中将用户添加到职位的屏幕截图

若要更改用户记录窗体上的职位,请在工具栏上,选择更多(…),然后选择其他职位。

更改“层次结构安全性”中的职位

要创建职位层次结构:

  1. 选择一个环境,然后转到设置>用户 + 权限>位置

    对于每个职位,请提供该职位的名称,该职位的父级和说明。 通过使用查找字段调用职位中的用户来将用户添加到此职位。 下图是具有可用职位的职位层次结构的示例。

    “层次结构安全性”中的活动职位

    下图显示了启用用户及其相应职位的示例。

    显示已启用分配了职位的用户的屏幕截图。

包括或排除具有禁用用户状态的直接下属所拥有的记录

在 2024 年 1 月 31 日之后启用了层级安全性的环境中,经理可以查看其直接下属的禁用状态记录。 对于其他环境,经理视图中不包括禁用状态直接下属的记录。

要包括禁用状态直接下属的记录:

  1. 安装 OrganizationSettingsEditor 工具
  2. AuthorizationEnableHSMForDisabledUsers 设置更新为 true
  3. 禁用层次结构建模
  4. 再次重新启用它。

要排除处于禁用状态的直接下属的记录:

  1. 安装 OrganizationSettingsEditor 工具
  2. AuthorizationEnableHSMForDisabledUsers 设置更新为 false
  3. 禁用层次结构建模
  4. 再次重新启用它。

备注

  • 禁用并重新启用层次结构建模时,更新可能需要一些时间,因为系统需要重新计算经理记录访问权限。
  • 如果您看到超时,请减少层次结构表管理列表下的表数量,以便只包括需要由经理查看的表。 如果超时仍然存在,请提交支持票证以请求帮助。
  • 如果直接下属的记录与另一个处于活动状态的直接下属共享,则包括这些记录的禁用状态。 您可以通过删除共享来排除这些记录。

性能注意事项

若要提高性能,建议:

  • 在管理或职位下对 50 个或更少用户保持有效的层次结构安全性。 在管理或职位下,您的层次结构可能具有 50 多个用户,但是,您可以使用深度设置以减少具有只读访问权限级别的数量,并通过此设置将管理或职位下的用户的有效数量限制为不超过 50 个用户。

  • 对于更复杂的场景,可以将层次结构安全模型与其他现有安全模型配合使用。 避免创建大量的业务部门,改为创建较少的业务部门并添加层次结构安全性。

另请参见

Microsoft Dataverse 中的安全性
查询及可视化分层数据