Topic 1 Question #1
案例研究 -
这是一项案例研究。案例研究不单独计时。您可以根据需要使用任意数量的考试时间来完成每个案例。但是,本次考试可能包含额外的案例研究和部分内容。您必须合理安排时间,确保能够在规定时间内完成本次考试的所有问题。
要回答案例研究中的问题,您需要参考案例研究中提供的信息。案例研究可能包含图表和其他资源,以提供有关案例研究中所述场景的更多信息。本案例研究中的每个问题都是独立的。
案例研究结束后,将出现一个复习页面。您可以在此页面上查看答案并进行修改,然后再进入考试的下一部分。一旦开始新的部分,您将无法返回到本部分。
开始案例研究 -
要显示本案例研究中的第一个问题,请单击“下一步”按钮。在回答问题之前,请使用左侧窗格中的按钮浏览案例研究的内容。
单击这些按钮将显示诸如业务需求、现有环境和问题陈述等信息。如果案例研究包含“所有信息”选项卡,请注意,其中显示的信息与后续选项卡中显示的信息相同。准备好回答问题后,单击“问题”按钮返回问题页面。
概述。公司概述 -
Contoso, Ltd. 是一家在线零售公司,希望通过迁移到 Fabric 来实现其分析平台的现代化。该公司计划开始使用 Fabric 进行市场营销分析。
概述。IT 架构 -
该公司的 IT 部门拥有一支数据分析师团队和一支数据工程师团队,他们使用分析系统。
数据工程师负责数据的摄取、转换和加载。他们倾向于使用 Python 或 SQL 来转换数据。
数据分析师负责查询数据并创建语义模型和报告。他们具备使用 Power Query 和 T-SQL 编写查询的资质。
现有环境。Fabric -
Contoso 拥有一个名为 Cap1 的 F64 容量。所有 Fabric 用户都可以创建项目。Contoso
有两个工作区,分别名为 WorkspaceA 和 WorkspaceB,目前使用 Pro 许可模式。
现有环境。源系统
Contoso 拥有一个名为 POS1 的销售点 (POS) 系统,该系统使用 Azure 虚拟机上的 SQL Server 实例,与 Fabric 位于同一 Microsoft Entra 租户中。主机虚拟机位于一个私有虚拟网络中,该网络已阻止公共访问。POS1 包含公司网站上处理的所有销售交易。
该公司还有一个名为 MAR1 的软件即服务 (SaaS) 在线营销应用程序。MAR1 包含七个实体。这些实体包含与电子邮件打开率、互动率以及网站互动相关的数据。可以通过调用 REST API 从 MAR1 导出数据。每个实体都有不同的端点。Contoso
已使用 MAR1 一年。往年的数据以 Parquet 文件的形式存储在 Amazon Simple Storage Service (Amazon S3) 存储桶中。共有 12 个文件,大小从 300 MB 到 900 MB 不等,与电子邮件互动相关。
现有环境。产品数据:
POS1 包含产品列表和相关数据。数据来自以下三个表:
产品表、
产品类别表和
产品子类别表。
数据中,产品与产品子类别关联,子类别又与产品类别关联。
现有环境:Azure -
Contoso 拥有一个 Microsoft Entra 租户,其中包含以下启用邮件功能的安全组:
数据分析师组:包含数据分析师
;数据工程师组:包含数据工程师
。Contoso 拥有 Azure 订阅。
该公司已有一个 Azure DevOps 组织,并创建了一个新项目,用于存放与 Fabric 相关的存储库。
现有环境。用户问题:
Contoso 的市场营销副总裁需要分析不同类型电子邮件内容的有效性。通常需要一周时间来手动编译和分析数据。Contoso 希望通过使用 Fabric 将时间缩短到一天以内。
数据工程团队已成功从 MAR1 导出数据。但团队遇到了短暂的连接错误,导致数据导出失败。
需求。计划变更 -
Contoso 计划创建以下两个湖屋:
湖屋 1:将存储来自源的原始数据和清洗后的数据;
湖屋 2:将以维度模型的形式向用户提供数据,用于分析查询
。此外,还将添加其他功能以方便数据摄取和转换。Contoso
计划在 Fabric 中使用 Azure Repos 进行源代码控制。
要求。技术要求
新的湖屋必须遵循勋章架构,采用以下三个层级:青铜层、白银层和黄金层。白银层需要进行大量的数据清理工作,才能填充 MAR1 数据,包括去重、处理缺失值和规范化大小写。
每一层都必须完全填充完毕才能进行下一层。如果填充湖屋的任何步骤失败,必须向数据工程师发送电子邮件。
数据导入应尽可能同时进行。
使用来自 Amazon S3 存储桶的电子邮件数据必须满足以下要求:
最大限度地降低跨云数据访问相关的出站流量成本;
防止在湖屋中保存原始数据的副本。
与数据摄取相关的项目必须满足以下要求:
这些项目必须与其他工作区项目一起进行源代码控制。
摄取的数据必须以 Delta 格式进入 Lakehouse1 的青铜层。
在数据进入青铜层之前,除了文件格式的更改之外,不得进行任何其他更改。
必须最大限度地减少开发工作量,并且必须使用内置连接导入源数据。
如果出现连接错误,导入过程必须尝试重新连接。Lakehouse
、数据管道和笔记本必须存储在 WorkspaceA 中。语义模型、报告和数据流必须存储在 WorkspaceB 中。
每周必须删除 Delta 表日志中不再引用的旧文件。
要求。数据转换:
在 POS1 产品数据中,ProductID 值是唯一的。黄金层中的产品维度必须仅包含产品列表中的活动产品。活动产品由 IsActive 值为 1 标识。
某些产品类别和子类别未分配给任何产品。它们与分析无关,必须从黄金层中的产品维度中省略。
要求。数据安全 -
Fabric 中的安全性必须满足以下要求:
数据工程师必须拥有对所有 Lakehouse(包括底层文件)的读写权限。
数据分析师必须仅拥有对黄金层中 Delta 表的读取权限。
数据分析师绝对不能访问青铜层和白银层的数据。
数据工程师必须能够在 WorkspaceA 中将更改提交到源代码控制系统。
您需要确保数据分析师可以访问黄金层的 lakehouse。
你应该怎么做?
答案: C
本题核心需求是数据分析师仅能访问湖屋黄金层的Delta表,完全禁止访问青铜、白银层数据,同时数据分析师的技术栈为T-SQL和Power Query。选项C授予读取所有SQL端点数据的权限,恰好匹配需求:Fabric湖屋的SQL端点支持精细化的表级权限控制,可配置为仅开放黄金层Delta表的读取权限,既符合安全隔离要求,又适配分析师使用T-SQL查询的使用习惯,完全满足所有业务和安全规则。 各选项分析:
A. 错误,WorkspaceA的Viewer角色是粗粒度的工作区全域权限,会授予用户查看工作区内所有内容的权限,包括湖屋青铜、白银层的文件和表,直接违反了数据分析师不得访问青铜、白银层的安全要求。
B. 错误,授予构建默认语义模型报告的权限仅支持分析师基于预定义语义模型创建报告,无法满足分析师直接查询黄金层Delta表的需求,且该权限无法实现层级别的访问隔离,不符合要求。
C. 正确,湖屋的SQL端点是面向SQL用户的标准化查询接口,支持表级、行级精细化权限配置,可精准限制仅开放黄金层Delta表的读取权限,既适配分析师使用T-SQL查询的技术栈,又严格隔离了青铜、白银层的非公开数据,完全符合所有要求。
D. 错误,授予Apache Spark权限要求用户使用Spark框架访问数据,而数据分析师不具备Spark使用能力,且Spark权限默认可访问湖屋所有层的底层文件,无法实现层级安全隔离,不符合要求。 关键知识点:
1. Microsoft Fabric湖屋的多接口权限控制,湖屋支持SQL端点、Spark、文件浏览器三种访问方式,每种方式对应独立的权限配置逻辑,可适配不同角色的使用需求。
2. Fabric工作区角色与对象级权限的差异,工作区角色是粗粒度的全域权限,对象级权限可针对单个湖屋、单个表配置精细化访问权限,适用于多角色数据隔离场景。
3. Fabric勋章架构的安全规范,青铜、白银为数据加工层仅对数据工程师开放,黄金为业务访问层仅对分析用户开放,需通过权限控制实现层级隔离。 参考资料:
Control access to lakehouses in Microsoft Fabric, Workspace roles in Microsoft Fabric