如何使用基于记录的安全性来控制对 Microsoft Dynamics 365 中记录的访问

 

发布日期: 2017年1月

适用于: Dynamics 365 (online),Dynamics 365 (on-premises),Dynamics CRM 2016,Dynamics CRM Online

在 Microsoft Dynamics 365 和 Microsoft Dynamics 365 (online) 中,基于记录的安全性适用于个别记录。 这种安全性是通过使用访问权限提供的。

访问权限和权限之间的关系是只有权限生效后用户才能使用访问权限。 例如,即便另一用户可能通过共享方式向某用户授予了对特定帐户的访问权限,但是只要该用户没有读取帐户的权限,他就无法读取任何帐户。

本主题内容

访问权限

共享记录

分派记录

检索对记录的访问权限

访问权限之间的依赖项

访问权限

授权用户对特定记录进行访问。 下表列出了对这些访问权限的说明。

访问权限

AccessRights 枚举值

说明

读取

ReadAccess

控制用户是否可以读取记录。

WriteAccess

控制用户是否可以更新记录。

分派​​

AssignAccess

控制用户是否可以为其他用户分派记录。

追加

AppendAccess

控制用户是否可以对指定的记录附加另一记录。

“追加”和“追加到”访问权限是密不可分的。 用户每次将一条记录附加到另一条记录时,都必须同时具有这两种权限。 例如,在向案例附加注释时,您必须对注释具有“追加”访问权限,并且对案例具有“追加到”访问权限才能执行此操作。

追加到

AppendToAccess

控制用户是否可以将指定的记录追加到另一记录。

“追加”和“追加到”访问权限是密不可分的。 有关详细信息,请参阅追加的说明。

共享​​

ShareAccess

控制用户是否可以与其他用户或团队共享记录。 共享可授权其他用户访问记录。 有关详细信息,请参阅共享记录。

删除​​

DeleteAccess

控制用户是否可以删除记录。

创建访问权限

用于创建实体记录的权限不包含在上表中,因为此权限不适用于单条记录,而适用于实体类。 将“创建”作为权限处理,而不是作为访问权限处理。 创建记录的用户对该记录具有所有权限,除非该用户的其他权限禁用了特定权限。

“创建”权限控制用户是否可以创建记录。 如果您具有访问级别为“本地”、“深层”或“全局”的“创建”权限,则可以为其他用户创建记录。 如果您具有访问级别为“基本”的“创建”和“读取”权限,则可以为自己创建记录。

有关与创建权限相关的依赖项的详细信息,请参阅访问权限之间的依赖项。

共享记录

通过共享,用户可以允许其他用户或团队访问特定客户信息。 这对于与角色中只具有“基本”访问级别的用户共享信息非常有用。 例如,在授权销售员对客户进行“基本”读取和写入访问的组织中,销售员之间可以共享商机,以便可以共同跟踪重要销售的进展。

出于安全考虑,请在尽可能少的用户之间仅共享必要的记录。 仅授予用户完成各自的工作所必需的访问权限。

Microsoft Dynamics 365 提供了以下共享功能:

  • 共享。 对给定实体类型具有共享权限的任何用户都可以将该类型的记录与 Microsoft Dynamics 365 中的任何其他用户或团队共享。 若要共享记录,请使用 GrantAccessRequest

    在与其他用户共享记录时,请指定希望授予其他用户哪些访问权限(读取、写入、删除、追加、分派和共享)。 共享同一记录的每个用户对共享记录可以拥有不同的访问权限。 但是,为用户分派的角色不同,用户无法获得对该实体类型的某项权限,则共享后该用户仍不具有该权限。 例如,如果用户对客户不具有“读取”权限,即使您与该用户共享某个客户,该用户仍不能查看该客户。

  • 修改共享。 您可以在共享记录后修改用户对共享记录具有的权限。 若要修改对记录的共享,请使用 ModifyAccessRequest

  • 取消共享。 如果您与其他用户或团队共享某记录,则可以停止共享该记录。 取消共享记录后,其他用户或团队会失去对该记录的访问权限。 若要取消共享记录,请使用 RevokeAccessRequest

提示

使用 GrantAccessRequestModifyAccessRequestRevokeAccessRequest 进行共享。

用户可以在多种情况下访问同一记录。 例如,用户可能通过共享直接获得了对某一记录的特定访问权限,同时该用户还属于另一团队,该团队以不同访问权限对同一记录进行共享。 在这种情况下,该用户对记录具有的访问权限是所有权限的并集。

有关支持共享的实体列表,请参阅 GrantAccessRequest

共享和继承

如果创建了某条记录,并且父记录具有某些共享属性,则该条新记录便会继承这些属性。 例如,Joe 和 Mike 同时负责一个优先级较高的潜在顾客。 Joe 创建了一个新潜在顾客和两个活动,与 Mike 共享该潜在顾客并且选择了级联共享。 Mike 与新潜在顾客进行了电话联络并发送了电子邮件。 Joe 发现 Mike 已经与该公司联系了两次,因此没有再打电话联络。

共享针对单条记录进行维护。 记录从其父记录继承共享属性并保留自己的共享属性。 因此,记录可能包含两组共享属性:一组是自己的共享属性,另一组是从父记录继承的共享属性。

取消共享父记录会取消该对象(记录)从父记录继承的共享属性。 即,先前可以查看此记录的所有用户都将不能再查看。 如果某些子对象是单独共享的,而不是从父记录共享的,则部分用户可能仍在共享这些子对象。

分派记录

对某记录具有“分派”权限的任何用户都可以将该记录分派给其他用户。 分派某记录之后,这个新的用户或团队即会成为该记录及其相关记录的负责人。 原始用户或团队将失去对记录的所有权,但是会自动与新负责人共享该记录。

在 Microsoft Dynamics 365 中,系统管理员可以为组织作出以下决定:在执行分派操作后是否应该与以前的负责人共享记录。 如果选择“与以前的负责人共享”,则在执行分派操作后,以前的负责人将共享记录,并且具有所有访问权限。 否则,先前的负责人将不能共享该记录,并且可能无法对该记录进行访问,具体取决于其权限。Organization.ShareRoPreviousOwnerOnAssign 属性控制此设置。

有关支持“分派”的实体列表,请参阅 AssignRequest

检索对记录的访问权限

使用 RetrievePrincipalAccessRequest 消息可检索指定安全主体(用户或团队)对记录所拥有的访问权限。

使用 RetrieveSharedPrincipalsAndAccessRequest 消息可检索有权访问记录的所有安全主体(用户或团队)以及他们对该记录所拥有的访问权限。

访问权限之间的依赖项

有时会存在安全依赖项,因为需要具有多个访问权限才能执行给定操作。 例如,如果您对客户具有“创建”访问权限,则可以创建 account 实体类型记录。 但是,您还必须对客户具有“读取”权限,否则无法创建客户记录并成为新记录的负责人。

下表列出了指定操作的访问权限依赖项。

操作​​

所需的访问权限

创建记录并成为记录负责人

创建

读取

共享记录

共享。 执行共享操作的人员需要此权限。

读取。 执行共享操作的人员以及与其共享记录的人员需要此权限。

分派记录

分派

写入

读取

追加到记录

读取

追加到

追加记录

读取

追加

如果对象从属于另一对象,则存在其他类型的依赖关系。 例如,商机对象不能独自存在。 每个商机都始终附加到某个客户或联系人。 若要创建商机,必须对客户拥有“追加到”访问权限,并且对商机拥有“追加”访问权限。

另请参阅

AccessRights
RetrievePrincipalAccessRequest
Microsoft Dynamics 365 的安全模型
如何在 Microsoft Dynamics 365 中使用基于角色的安全性控制对实体的访问权限
在 Microsoft Dynamics 365 中,如何将字段安全用于控制访问字段值
在 Microsoft Dynamics 365 中引入实体
实体关系行为

Microsoft Dynamics 365

© 2017 Microsoft。 保留所有权利。 版权