用最专业的眼光看待互联网
立即咨询这篇文章探讨了 BMW 如何成功地利用 AWS Lake Formation 的精细存取控制 (FGAC),以提升其 Cloud Data Hub (CDH) 的效率与数据管理能力,并减少不必要的数据重复问题。
BMW 的目标是持续加速创新并改善其全球业务决策。为达成这一目标,他们致力于打破数据孤岛,将各业务单位和国家的数据集中到 BMW Cloud Data Hub (CDH)。CDH 通过中央的元数据目录来创建、发现和使用数据产品,同时强制执行许可政策,紧密整合数据工程、分析和机器学习服务,以简化从数据到洞察的用户旅程。通过建立 CDH,BMW 在整个汽车生命周期中实现了效能、效率和可持续性方面的改善,从设计到售后服务。
自 2020 年与 Amazon Web Services (AWS) 的战略合作以来,BMW 的 CDH 现已拥有超过 10 PB 的数据,涵盖 1500 个数据资产、1000 个数据使用案例和超过 9000 名用户。然而,CDH 的最初版本只支持对整个数据资产的粗粒度访问控制,因此无法对数据资产的子集进行范围限制,导致数据治理和存取控制方面的低效。
AWS Lake Formation 是一项简化和集中数据湖创建与管理过程的服务。其中一个关键特性是精细存取控制,它允许客户对数据湖资源进行精确的表、列和行级别访问控制。这种控制能力对于需要符合数据治理和安全规范的组织至关重要,尤其是那些处理敏感数据的组织。
透过精细存取控制,客户可以基于不同标准例如用户角色、数据分类或数据敏感性水平来定义和执行数据访问政策。这确保只有授权用户或应用程序能访问特定数据集或数据片段,并减少了未授权访问或数据泄露的风险。此外,Lake Formation 与 AWS 身份与访问管理 (IAM) 和其他 AWS 服务集成,客户可以在数据湖环境中使用现有的安全性和访问管理实践。
CDH 是基于 Amazon S3 的公司级数据湖,作为来自工程、制造、销售和车辆性能的数据集中储存库,为 BMW 员工提供了统一的公司视图,并作为新开发计划的起点。它简化了对各种 AWS 服务的访问,包括 Amazon QuickSight 以建立商业智慧BI仪表板,还有 Amazon Athena 用于数据探索。这些服务中的许多都集成在 CDH 数据门户中,该门户提供了基于网页的用户界面,用于访问和互动平台。它允许用户发现数据集、管理数据资产,以及为其使用案例消耗数据。架构详见下图。
BMW CDH 采取去中心化的多帐户架构,以促进敏捷性、可扩展性和问责制。它由不同用途的 AWS 帐户类型组成,以下是与实施相关的帐户类型:
帐户类型描述资源帐户用于集中储存库,储存数据集和它们的元数据,涵盖不同阶段如开发、集成和生产和 AWS 区域。消费者帐户由数据消费者使用,以执行使用案例洞察并构建满足其业务需求的应用程序。CDH 控制平面帐户此帐户包含创建过滤包和控制访问的 API,过滤包提供数据资产的限制视图。CDH 的去中心化架构内有三个关键角色:
数据提供者,负责在资源帐户中提供数据资产数据管理员,负责数据资产的治理使用案例数据消费者,使用数据资产得出见解并在消费者帐户内构建应用程序以支持决策过程。例如,由数据工程师团队创建的全球销售数据集,当地市场的数据分析师想从中获取见解时,可以在专用的 AWS 消费者帐户中创建一个使用案例并向数据管理员请求访问该数据集。
这种多帐户策略促进了明确的功能分离,使数据生产者和消费者能够独立运作,同时使用解决方案提供的集中治理和服务。以下图示展示了如何在 CDH 中的资源帐户和消费者帐户中使用 Lake Formation 来向使用案例提供 FGAC。
CDH 在资源帐户中使用 AWS Glue 作为技术元数据目录,数据资产存储在 Amazon S3 中。数据目录和在 Amazon S3 中的位置都在 Lake Formation 中注册,以便进行数据访问治理。数据目录和表格通过 AWS 资源访问管理器 (AWS RAM) 与消费者帐户和使用案例共享。通过 Lake Formation,BMW 可以对数据资产进行不同粒度的访问控制,例如在表格、列或行层面设置许可权。用户可以使用与 Lake Formation 集成的引擎如 Amazon Athena仅访问所需的数据,消除重复数据的需求。例如,为了限制访问全球销售数据资产,BMW 现可使用 PartiQL 语言在 Lake Formation 中指定行过滤器,基于该数据资产的国家列过滤行。
蘑菇vp加速器CDH FGAC 实施的核心概念是 过滤包。过滤包通过在表格上定义列和行过滤器来提供某个数据资产的选择性视图。可以为数据资产定义多个过滤包,以针对不同的使用案例创建合适的视图。在我们全球销售数据集的例子中,数据管理员为每个当地市场创建一个过滤包,以限制对相关行和列的访问。数据管理员通过 CDH 界面创建和管理这些过滤包。这些过滤包使用 Lake Formation 的行级和列级访问控制机制实现。以下图示明确了这些概念。
创建过滤包时,数据管理员可以针对其数据资产中的每个表指定所需的访问级别:完全 访问授予对所有列和行的权限;无 拒绝对整个表的访问;过滤 允许进行行级和列级的粒度访问控制。
对于过滤访问,数据管理员使用 PartiQL 查询在表上定义行级过滤器,只选择符合特定条件的行。此外,他们还可以通过选择可访问的列来指定列级过滤器。
过滤包创建并发布之后,可以进行请求。数据管理员可以审核进来的请求,并通过 CDH 界面授予或拒绝访问,确保只有授权环境能访问敏感数据。
使用案例拥有者可以在 CDH 中浏览和搜索相关数据资产,然后请求完全或范围访问。CDH 提供了可用过滤包的清晰概览,让他们根据自己的使用案例选择适当的访问级别。
当数据管理员授予过滤包的访问权限后,Lake Formation 会对使用案例强制执行这些过滤器。使用案例拥有者可以进一步控制个别用户或角色在其使用案例帐户中的行和列级访问权限。例如,他们可以创建另一个列过滤器,隐藏特定用户组的某一列,并提供另一组用户的非过滤访问。
在现有的数据湖如 CDH中实施存取控制更改的挑战之一是需要协调数据提供者与消费者之间的迁移。为了解决这一问题,Lake Formation 提供了混合访问模式,以便在不干扰现有数据访问模式的情况下逐步过渡到 FGAC。
在混合访问模式下,数据提供者可以启用 Lake Formation 以支援新的数据集消费者,同时现有的消费者仍然可以使用旧的许可模型来访问数据。这种方法确保消费者可以按照自己的节奏迁移到 FGAC,最小化对其现有工作负载和过程的影响。当某个使用案例帐户请求访问过滤包时,该帐户才会切换到 Lake Formation 许可。这种混合方法允许提供者和消费者以自己的节奏迁移,保持平稳过渡至新的访问控制模型。

随著 CDH 的增长,数据为了控制访问而经常被重复的问题愈发明显。这一问题在包含 BMW 所有市场销售数据的数据资产中尤为突出。当地市场仅有权查看自己的数据,为了达成这一点,必须重复全球数据资产的子集,以创建孤立的当地变体。尽管这种方法成功满足了访问控制要求,但也导致了储存成本上升、数据处理和漂移检测的计算开支增加,并由于耗时的配置过程和治理开销造成项目延误。一度 CDH 中 25 的数据资产为重复数据,这是一种自然现象。
随著 Lake Formation 的推出,创建这些重复数据不再必要。数据管理员可以在列和行级别限制对全球数据集的访问,以满足治理要求。不仅降低了数据处理、储存、开发和维护的成本,还减少了由于数据访问延迟造成的机会成本。
透过 AWS Lake Formation 的精细存取控制能力,BMW 在 Cloud Data Hub 中透明地实现了更精细的数据访问管理。Lake Formation 的集成使数据管理员能够对特定数据子集进行范围限制和授予粒度访问,减少了昂贵的数据重复。这一方法使 BMW 能够在计算和储存成本上节省高达 25,同时降低治理开销成本。混合访问模式的实施进一步促进了向新访问控制模型的平稳过渡,使用资料提供者和消费者可以在不干扰现有工作负载和过程的情况下,按照自己的节奏进行过渡。若想深入了解如何复制 BMW 的数据成功故事,欢迎查看 AWS 部落格的文章 基于 Amazon Lake Formation 和 AWS Glue 打造数据网格。