客户参与应用程序使用Microsoft Dataverse提供了一个丰富的安全模型,可以适应许多业务场景。本节为您提供了应考虑的安全措施的特定于产品的指导。

Dataverse安全模型有以下目标:

  • 只允许用户访问他们工作所需的信息。

  • 按角色对用户进行分组,并根据这些角色限制访问权限。

  • 支持数据共享,以便用户和团队可以访问他们不拥有的记录以进行特定的协作。

  • 阻止用户访问他们不拥有或共享的记录。

了解有关Microsoft Dataverse安全性的更多信息。

安全功能

我们使用三类主要的安全功能来提供适当的用户访问:基本安全控制、其他安全控制和手动共享。您应该使用基本安全控制来满足大多数安全要求。使用其他选项来管理异常和边缘场景。

类别 描述 好处 局限性 基本安全控制 其中包括记录所有权、业务单元层次结构、安全角色以及用户和团队。它们定义了用户和记录的基本访问级别和权限。 它们易于设置和管理。它们提供了一个清晰一致的安全模型。 它们无法处理复杂或动态的场景。 其他安全控制 其中包括字段级安全性、层次结构安全性、访问团队和表关系。它们为安全模型增加了更多的粒度和灵活性。 他们可以处理特定或特殊情况。它们可以适应不同的组织结构和数据访问需求。 它们会增加安全模型的复杂性和维护性。 手动共享 这允许用户与另一个用户或团队共享记录。用户必须对记录具有共享权限。 这是授予对记录访问权限的一种简单快捷的方法。它可以处理计划外或临时情况。 它不能自动化或按比例缩放。如果广泛使用,可能会导致性能问题。

记录所有权

Dataverse支持两种类型的记录所有权:

  • 组织所有:当记录属于该组织时,环境中的每个人都可以访问该记录。

  • 用户或团队所有:如果组织不拥有该记录,则由用户、团队或业务部门拥有。当记录由用户或团队拥有时,只有所有者和具有相应安全角色的用户才能访问该记录。

有些现成的表是这两种类型的例外。例如,业务部门拥有系统用户记录。

业务部门

业务单元是一个安全构建块,可帮助您管理用户及其可以访问的数据。术语“业务单元”不一定与组织的运营业务单元有关。在Dataverse中,业务单元提供了一个框架来定义用户、团队和记录的组织结构。业务单元按组织层次结构对用户和团队进行分组,并可以使用安全角色授予或限制对数据的访问。

业务部门具有等级性质。您可以允许用户访问其业务部门中的记录,也可以访问其业务单元及其单元下的业务单元中的记录。例如,您可以使用业务单元的分层性质来限制对站点、地区、地区和公司级别的记录的访问。业务单元可用于将数据分割到所有权容器中以进行访问控制。

在您的实现中,最大限度地减少业务单元的数量是一种最佳做法。基于访问控制需求,而不是将组织结构图映射到业务单元。

安全角色

特权是指在Dynamics 365中执行操作的权限。安全角色是一组权限,用于定义用户可以执行的一组操作。某些权限通常适用,例如使用导出到Microsoft Excel功能。其他应用于特定的表,例如读取所有帐户的能力。

您必须将一个或多个预定义或自定义的安全角色直接或从用户所属的团队继承给用户,以允许他们访问Dynamics 365。您可以为一个用户分配多个安全角色。用户的有效安全角色是分配给他们的所有安全角色的所有权限的总和。例如,如果一个安全角色允许用户读取帐户,而另一个安全任务允许用户读取联系人,则用户可以读取帐户和联系人。

客户参与应用程序具有几个开箱即用的安全角色。如果您需要更多或不同的安全角色,请从复制现有的安全角色开始。

最佳做法是在根业务单元级别创建安全角色,因为这些角色会自动复制到所有子业务单元,并且可以包含在解决方案中。

以下是使用特权帐户和服务帐户的一些最佳做法:

  • 限制并定期审查提升的用户和服务帐户列表。

  • 考虑一种即时访问方法来授予提升的权限。

  • 请考虑使用管理用户帐户授予对设置和管理功能的访问权限,但不授予对功能的访问权。了解有关Power Platform中特权身份管理和管理用户的更多信息。

  • 使用应用程序帐户进行集成和部署。了解有关应用程序用户和非交互式用户帐户的更多信息。

  • 使用服务器到服务器(S2S)身份验证,允许应用程序和服务之间进行安全无缝的通信。

笔记 Azure Active Directory现在是Microsoft Entra ID。了解更多信息
团队

团队提供了一种直接的方式来共享记录、跨业务部门与其他人协作以及分配安全角色。尽管一个团队属于一个业务单元,但它也可以包括来自其他业务单元的用户。您可以将一个用户与多个团队相关联,这是向跨业务部门的用户授予权限的一种方便方式。

Dataverse有三种类型的团队:

  • 所有者团队:您可以使所有者团队成为记录的所有者,这是将记录链接到特定业务单元的有用方法。所有者团队还可以共享记录并具有安全角色。

  • Microsoft Entra安全团队和办公室团队:这些是特殊类型的所有者团队。您无法在Dynamics 365中管理他们的成员资格。相反,它们链接到Microsoft Entra安全组或Microsoft 365组。拥有适当许可证并添加到Microsoft Entra组的用户将在系统中自动启用,并在连接到环境时添加到团队中。使用Microsoft Entra ID非常有用,因为组和权限也扩展到Dynamics 365之外的启用Microsoft Entra的应用程序。

  • 访问团队:这些团队是唯一的,因为他们不能拥有记录,也不能有安全角色关联。然而,就像所有者团队一样,访问团队可以与他们共享记录。当您在表级别启用访问团队时,他们可以将特定的记录级别权限授予记录访问团队的成员。这是与用户或团队手动共享记录的替代方案。

在以下情况下使用所有者团队:

  • 您需要团队级别的记录所有权,而不是用户。

  • 您需要通过团队为用户分配安全角色。

  • 你需要报告团队的进展情况。

当团队成员对单个记录需要不同的权限而不是对记录类型需要相同的权限时,请使用访问团队。例如,您可以使用访问团队将对特定帐户记录的读取权限授予对所有帐户都没有读取权限的用户。

字段级安全

您可以使用字段级安全性来限制对特定用户或团队具有高业务影响的字段的访问。例如,您可以只允许某些用户读取或更新业务客户的信用评分。

字段级安全性可用于大多数现成表上的默认字段、自定义字段和自定义表上的自定义字段。字段级安全性由安全配置文件管理。现场级安全的范围是整个组织范围的,适用于所有数据访问请求。

共享

记录共享允许用户将表记录的访问权限授予其他用户或团队。用户必须对记录具有共享权限才能共享该记录。共享应被视为用户手动管理默认安全模型异常的一种方式。

请记住以下建议做法:

  • 只与尽可能少的用户或团队共享必要的记录。广泛的共享可能会导致大规模的性能问题。

  • 授予用户执行工作所需的最低访问权限。

  • 不要自动共享。

  • 尽可能关闭安全角色中的共享权限。


层次结构安全性

您可以使用层次结构安全模型从用户或职位层次结构的角度访问数据。有了这种额外的安全性,您可以让经理访问其报告所拥有的记录,以供批准或代表他们执行任务。

访问控制功能概述
下表总结了Dataverse中可用的访问控制功能。

Type Benefits 组织 允许对环境中的所有记录进行打开访问。绕过了安全检查的需要,从而提高了性能。 业务部门 非常适合大型用户组访问的大量数据。允许进行最佳访问检查。减少维护开销。可用于管理和监督访问,在较低级别具有更细粒度的访问。 用户所有权 非常适合大体积的整体。数据,但对数据的较小子集进行单独的细粒度访问。优化的访问检查将内存缓存和记录数据直接结合在一起。启用组合业务单元访问。 团队所有权 非常适合大容量的整体数据,但对较小的数据子集进行分组细粒度访问。优化的访问检查将内存缓存和记录数据直接结合在一起。随着用户参与度的变化,减少级联影响。将用户与记录业务单元结构隔离开来,实现具有数据影响的用户移动。 共享 与使用其他功能的标准模型相比,非常适合对异常进行建模。为每条记录提供特定的唯一权限,但要付出代价--检查大量规则会增加性能、存储和维护开销。与团队共享可以降低成本。 继承 建立在所有权和共享模式之上。用于支持链中高于个人细粒度访问的直属经理。不打算取代更高级或更广泛级别的业务部门访问权限。 环境安全组

您可以将Microsoft Entra安全组与Dataverse环境相关联,以控制用户访问。除非Microsoft Entra ID中的用户具有特定的、具有高度特权的Microsoft 365管理员角色,否则即使分配了有效的身份验证和安全角色,他们也无法访问Dynamics 365中的任何信息,除非他们也是Dynamics 365中正确环境安全组的成员。
将安全组与环境相关联是一种最佳做法。这将阻止所有符合Microsoft Entra条件并获得适当许可的用户在Dynamics 365环境中显示为活动用户。

审计

审核可帮助您遵守内部政策、政府法规和消费者对更好地控制机密数据的要求。组织对其业务系统的各个方面进行审计,以验证系统和数据访问控制是否有效运行,并识别可疑或不合规的活动。

Dataverse审计

审核日志可帮助您确保系统的数据完整性,并满足某些安全性和法规遵从性要求。审核功能记录用户和管理员对记录和用户访问权限所做的更改,以便您以后可以查看活动。
可以在表级别、字段级别和用户访问级别启用审核。您可以通过三种方式查看数据审核:

  • 上下文方面,在记录级别,在表单上

  • 在全球范围内,从审计摘要视图

  • 来自API

不要对所有表和列启用审核。进行尽职调查,以确定需要审计哪些表和字段。过多的审核可能会影响性能并消耗大量日志存储。

Microsoft 365审核日志

活动日志记录Microsoft 365和Dynamics 365应用程序中的用户和管理活动。数据存储在Microsoft 365统一审计日志中,与以前的Dataverse审计功能相比,该日志对系统资源的占用更小。
Microsoft 365审核日志还有其他几个好处:

  • Microsoft 365管理员可以管理Microsoft 365安全和法规遵从性门户中所有环境的设置和访问活动报告。Dataverse审核是在每个Dynamics365环境中单独设置和存储的。

  • 系统中的所有数据都会被记录下来,包括读取操作、插件操作、表操作、批量操作、用户登录和注销,甚至Microsoft支持操作。

-您可以设置系统,根据可配置的设置将某些事件通知管理员或合规官员。

  • 管理员可以使用预定义或自定义的筛选器轻松地搜索审核日志。

  • 管理员可以使用安全信息和事件管理(SIEM) 功能近乎实时,以分析和获取系统内可能的可疑行为的警报,并提供解决措施。

  • Dynamics 365提供与多个SIEM供应商的开箱即用集成,如ArcLight、Microsoft OMS、Okta、SumoLogic、BetterCloud,以及许多其他供应商的标准CEF格式集成。微软还发布了一个连接器,将活动日志集成到Azure Sentinel中。

默认情况下,活动日志记录数据会根据Microsoft 365许可证类型保留90天或一年。如果您需要更长时间地保留数据,我们建议您更改保留策略或将这些日志移动到外部存储。

用于Microsoft Power Platform的密码箱

通过适用于Microsoft Power Platform的Lockbox,您可以向Microsoft工程师提供对环境的临时、及时访问,以帮助解决关键的支持请求。
Lockbox具有以下核心功能:

  • 管理员可以选择哪些Microsoft Dataverse数据库需要使用lockbox进行保护。

  • 在极少数情况下,Microsoft需要临时访问受锁箱保护的数据库中的数据以解决关键问题,系统会通知管理员,管理员可以访问Power Platform管理中心批准或拒绝该请求。

  • 一旦授予Microsoft访问权限,在临时访问期间在受锁箱保护的数据库中发生的任何操作都会被记录下来,并作为SQL审核日志提供给您的组织。您可以将这些日志导出到Azure数据湖中进行进一步分析。


客户管理的密钥

默认情况下,Microsoft管理所有Dynamics 365环境的加密密钥。您可以选择自己管理加密密钥,但应注意潜在风险。了解有关客户管理的加密密钥的更多信息。

接下来的步骤

  • Learn about security features in Power Pages

  • Learn about security features in finance and operations apps

  • Learn how to make security a priority from day one

  • Use the Success by Design security checklist to help identify and prioritize key requirements and implementation activities in the areas of privacy and compliance, identity and access, and application security

本文 :https://architect.pub/dynamics-365-secure-customer-engagement-apps 讨论:知识星球【首席架构师圈】或者加微信小号【ca_cto】或者加QQ群【792862318】 公众号

【jiagoushipro】
【架构师酒馆】
精彩图文详解架构方法论,架构实践,技术原理,技术趋势。
我们在等你,赶快扫描关注吧。

【ca_cea】
50000人社区,讨论:企业架构,云计算,大数据,数据科学,物联网,人工智能,安全,全栈开发,DevOps,数字化.

QQ群

【285069459】深度交流企业架构,业务架构,应用架构,数据架构,技术架构,集成架构,安全架构。以及大数据,云计算,物联网,人工智能等各种新兴技术。
加QQ群,有珍贵的报告和干货资料分享。

视频号 【架构师酒馆】
1分钟快速了解架构相关的基本概念,模型,方法,经验。
每天1分钟,架构心中熟。

知识星球 【首席架构师圈】向大咖提问,近距离接触,或者获得私密资料分享。

喜马拉雅 【超级架构师】路上或者车上了解最新黑科技资讯,架构心得。 【智能时刻,架构君和你聊黑科技】 知识星球 认识更多朋友,职场和技术闲聊。 知识星球【职场和技术】 微博 【架构师酒馆】 智能时刻 哔哩哔哩 【架构师酒馆】

抖音 【cea_cio】架构师酒馆

快手 【cea_cio_cto】架构师酒馆

小红书 【cea_csa_cto】架构师酒馆

网站 CIO(首席信息官) https://cio.ceo 网站CIO,CTO和CDOhttps://cioctocdo.com网站架构师实战分享https://architect.pub网站程序员云开发分享https://pgmr.cloud官网 行天智能科技咨询公司 https://xingtian.ai 网站开发者闲谈https://blog.developer.chat网站首席隐私官内参https://cpo.work网站首席安全官内参https://cso.pub 网站CIO内参https://cio.cool 网站CDO内参https://cdo.fyi 网站CXO内参https://cxo.pub 网站首席架构师社区https://jiagoushi.pro

谢谢大家关注,转发,点赞和点在看。