
2023年5月14日应AIGC社区以及PowerPlatform邀请,在苏州微软进行了主题为《安全管控 Power Platform及Open AI》的分享。现在会务组已经将视频上传到bilibili.com,大家可以前往访问并查看:安全管控 Power Platform及Open AI
关于我分享的内容,我将分为《安全管控 Power Platform》和《安全管Open AI》两个系列文章为大家详细介绍下。
企业数字化转型是当今时代的必然趋势,它可以帮助企业提高效率、降低成本、增强竞争力和创新能力。但是,数字化转型也带来了一些安全风险,比如数据泄露、身份盗用、恶意攻击等。因此,企业在进行数字化转型的过程中,需要有一套完善的安全管控机制,以保护企业的数据、应用和资源免受威胁。
微软 Power Platform 是一款低代码应用开发平台,它可以让企业快速构建和部署基于云计算、大数据和人工智能等新技术的应用软件,实现数据分析、流程自动化、虚拟代理等功能。Power Platform 包括四个核心组件:Power BI、Power Apps、Power Automate 和 Power Virtual Agents,以及底层的数据连接器 Data Connector、人工智能构建器 AI Builder 和通用数据服务 Common Data Services。
Power Platform 不仅提供了强大的应用开发能力,还提供了多层次的安全管控功能,让企业可以根据自己的需求和标准,灵活地管理和保护自己的数据、应用和资源。以下是 Power Platform 的一些安全管控功能介绍:Power Platform 不仅提供了强大的应用开发能力,还提供了多层次的安全管控功能,让企业可以根据自己的需求和标准,灵活地管理和保护自己的数据、应用和资源。
Dataverse 安全角色是指在 Power Platform 中使用 Dataverse 数据库作为数据存储时,通过一组访问级别和权限来控制用户对数据的访问。包括在特定安全角色中的访问级别和权限的组合对用户查看数据以及与该数据交互设置了限制。Dataverse 提供默认的安全角色集。如果组织需要,可以通过编辑默认安全角色并使用新名称进行保存来创建新的安全角色。
通过使用 Dataverse 安全角色,企业可以实现以下几点:
-
防止未经授权的访问:通过定义不同角色的权限,并设置赋予或拒绝规则,企业可以控制哪些用户或组可以访问或操作 Dataverse 中的数据,从而防止未经授权或不合法的访问。
-
提高数据安全性:通过为不同类型或敏感性级别的数据分配不同安全角色,并为每个安全角色设置合适的访问级别,企业可以保护数据在 Dataverse 中被安全地存储和使用,并避免因为数据泄露或破坏而造成损失。
-
提高应用质量:通过为测试和生产版本的应用分配不同安全角色,并为每个安全角色设置合适的访问级别,企业可以保证应用在 Dataverse 中被有效地开发和部署,并避免因为错误或冲突而影响应用质量。
以下是 Dataverse 安全角色的一些详细说明.
默认安全角色在 Dataverse 中提供了一些预定义的默认安全角色,这些角色定义了常用的一些用户任务,并且这些用户的访问权限都是微软按照最佳实践配置好的(安全性最佳实践:提供对使用应用来讲,最少的数据访问权限)。这些默认安全角色都是在根业务部门中创建的。接下来我会依次给大家介绍下这些默认的安全角色。
-
System Administrator :系统管理员,具有管理该环境和 Dataverse 的所有权限,包括创建,修改和给用户分配安全角色,同时可以查看 Dataverse 中的所有数据。
-
System Customizer :系统定制员,可以定制该环境和 Dataverse 的所有内容,包括在数据库中创建表,但是他们只能查看由自己创建或拥有的表数据。
-
Basic User :基本用户,可以在环境中使用应用,并对他自己所拥有或共享给他的标准表记录执行常见操作(增删改)。
-
Service Reader :服务阅读者,对 Dataverse 中的所有数据具有读取权限,一般适用于给后端服务使用,方便读取所有数据。
-
Service Writer :服务写入者,对 Dataverse 中的所有数据具有读取,创建,写入的权限。当后端服务需要对数据进行读写时,可以使用该角色。
-
Delegate :代理,代表其他用户执行操作,通常用来模拟另外一个用户来执行操作。
-
Support User :支持用户,通常用来让支持人员对环境配置问题进行诊断,无法访问核心数据
分配安全角色
要向用户分配安全角色,需要具有适当的权限(至少要具有”安全角色”表上的”读取”和”分配”权限)。为了防止安全角色特权提升,分配安全角色的人员不能分配具有比分配者更多特权的安全角色的另一个人。例如,CSR 经理不能将系统管理员角色分配给另一个用户。此特权验证包括检查分配者在特权深度级别和业务部门具有的每个特权。例如,如果您没有被分配该业务部门的具有适当特权级别的安全角色,则无法将来自不同业务部门的安全角色分配给另一个用户。默认情况下,系统管理员安全角色具有将安全角色分配给任何用户所需的权限,包括分配系统管理员安全角色。如果您需要允许非系统管理员分配安全角色,应该考虑创建自定义安全角色。
访问级别和权限
每个安全角色都包含一组访问级别和权限,用来控制用户对 Dataverse 中不同类型的表和记录的访问能力。访问级别和权限可以在编辑安全角色时进行配置。
访问级别是指用户可以访问或操作哪些记录,有以下五种:
-
None Selected :无,表示没有任何访问或操作能力。
-
User :用户,表示只能访问或操作自己或自己所属团队拥有或共享给自己的记录。
-
Business Unit :业务部门,表示只能访问或操作自己所属业务部门内的记录。
-
Parent: Child Business Unit :父子业务部门,表示只能访问或操作自己所属业务部门及其子业务部门内的记录。
-
Organization :组织,表示可以访问或操作 Dataverse 中的所有记录。
权限是指用户可以对记录执行哪些操作,有以下八种:
-
Create :创建,表示可以在表中创建新记录。
-
Read :读取,表示可以查看表中的记录。
-
Write :写入,表示可以修改表中的记录。
-
Delete :删除,表示可以删除表中的记录。
-
Append :追加,表示可以将表中的记录与其他类型的记录相关联。
-
Append To :追加到,表示可以将其他类型的记录与表中的记录相关联。
-
Assign :分配,表示可以将表中的记录所有权转移给其他用户或团队。
-
Share :共享,表示可以将表中的记录共享给其他用户或团队,并授予他们相应的访问级别和权限。
Dataverse安全模型包括以下几个元素:
-
安全角色:定义了对Dataverse数据表和字段执行哪些操作(如读取、写入、删除等)所需的特权。
-
业务部门:定义了组织内部不同层次级别之间数据访问范围之间关系。
-
安全层次:定义了特定安全角色所适用于哪些业务部门层次级别(如用户、业务部门、父子业务部门或组织)。
-
记录所有权:定义了每条记录属于哪个用户或团队,并决定了谁可以对该记录执行哪些操作。
-
字段安全:定义了哪些字段包含敏感数据,并限制了谁可以查看或更新这些字段。
要配置Dataverse安全角色,您需要具有系统管理员或系统自定义者的角色。您可以根据您的组织需求和数据敏感性来创建不同类型和级别的Dataverse安全角色。例如,您可以为销售人员创建一个只能读取客户表并更新自己负责客户记录的安全角色;为市场营销人员创建一个能够读取和写入市场活动表并追加联系人记录的安全角色。以下通过一个虚拟的案例场景刨析如何在企业中使用Dataverse安全角色。
365vCloud公司是一家跨国企业,拥有多个业务部门和地区分支机构,每个部门和分支机构都有自己的客户、产品和服务。公司使用 Power Platform 来构建和部署各种应用软件,实现数据分析、流程自动化、虚拟代理等功能。公司使用 Dataverse 作为应用软件的数据存储平台,将各种类型的数据(如客户信息、订单信息、产品信息等)存储在 Dataverse 中的不同表中。公司面临以下几个数据安全和管理方面的挑战:
-
不同部门和分支机构之间需要根据业务需求和合作关系来共享或隔离数据,例如,销售部门需要查看所有客户信息,而财务部门只需要查看自己所属地区的客户信息;产品部门需要查看所有产品信息,而市场部门只需要查看自己负责推广的产品信息。
-
不同用户之间需要根据职责和权限来访问或操作数据,例如,销售经理可以创建、修改、删除和分配客户记录,而销售员只能创建和修改自己拥有或共享给自己的客户记录;产品经理可以创建、修改、删除和分配产品记录,而产品员工只能读取产品记录。
-
数据安全性需要符合公司的规范和标准,防止数据泄露或破坏,例如,客户信息需要加密存储,并且只能由授权用户访问;订单信息需要备份存储,并且只能由授权用户修改。
为了解决上述挑战,公司可以利用 Dataverse 安全角色 的功能来实现以下几点:
-
通过创建不同的安全角色,并为每个安全角色设置合适的访问级别和权限,公司可以控制不同用户对不同表和记录的访问能力。例如,公司可以创建一个销售经理安全角色,并为该角色设置组织级别的读取、写入、删除、追加、追加到、分配和共享权限;创建一个销售员安全角色,并为该角色设置用户级别的读取、写入、追加、追加到权限;创建一个财务经理安全角色,并为该角色设置业务部门级别的读取权限;创建一个财务员安全角色,并为该角色设置用户级别的读取权限。
-
通过将不同的安全角色分配给不同的用户或团队,公司可以实现数据共享或隔离。例如,公司可以将销售经理安全角色分配给所有销售经理用户或团队;将销售员安全角色分配给所有销售员用户或团队;将财务经理安全角色分配给每个地区分支机构的财务经理用户或团队;将财务员安全角色分配给每个地区分支机构的财务员用户或团队。
-
通过使用默认或自定义的加密、备份、审计等功能,公司可以保护数据在 Dataverse 中被安全地存储和使用,并遵守公司的规范和标准。例如,公司可以使用 Dataverse 提供的列级别安全功能,对包含个人身份信息 (PII) 的列进行加密;使用 Dataverse 提供的备份还原功能,对数据进行定期备份并在发生故障时进行还原;使用 Dataverse 提供的审计功能,对数据操作进行记录并进行监控。
通过使用 Dataverse 安全角色 的功能,公司可以实现以下几个优势:
-
提高数据管理效率:通过使用安全角色来集中管理用户对数据的访问能力,公司可以避免为每个用户或记录单独设置权限,从而节省时间和精力。
-
提高数据管理灵活性:通过使用安全角色来灵活调整用户对数据的访问能力,公司可以根据业务需求和变化来增加或减少数据共享或隔离程度,从而适应不同场景。
-
提高数据安全性:通过使用安全角色来限制用户对数据的访问能力,并结合其他功能来保护数据,在 Dataverse 中被安全地存储和使用,并避免因为数据泄露或破坏而造成损失。