通过使用 Amazon DataZone 中的细粒度访问控制来增强数据安全性 大数据博客

2026-01-27 14:56:52 29

提升数据安全性:在 Amazon DataZone 中实施细粒度访问控制

关键要点

细粒度访问控制是提升现代数据湖和数据仓库数据安全的重要举措。今天,Amazon DataZone 提供了数据资产的细粒度访问控制,使数据拥有者可以在行和列级别上限制数据的访问。本文将介绍如何通过行和列的资产过滤器来实现这一功能,确保敏感数据不会被未授权的用户访问。

精细化的访问控制不仅有助于保护敏感信息,还确保合规和数据隐私。通过使用 Amazon DataZone,组织可以更好地管理其数据资产,提高数据安全性和使用的灵活性。

细粒度访问控制的重要性

随着组织处理多个数据源中的大量数据,管理敏感信息变得越来越重要。确保合适的人只能访问合适的数据,而不会向未经授权的个人暴露敏感信息,这对于维护数据隐私和合规性至关重要。

今天,Amazon DataZone 推出了细粒度访问控制的新功能,提供对业务数据目录中数据资产的精细控制,使数据拥有者能够在行和列级别上限制对特定数据记录的访问。例如,如果某个数据列包含个人身份信息PII,则数据拥有者可以仅限制对必要列的访问,同时保护敏感信息的安全。

接下来,我们将讨论如何在 Amazon DataZone 中利用这个新功能实现细粒度访问控制,使用行和列的资产过滤器。

行和列过滤器

行过滤器使您能够根据您定义的条件限制对特定行的访问。例如,如果您的表中包含来自两个地区美洲和欧洲的数据,而您希望确保欧洲的员工只能访问与其地区相关的数据,您可以创建一个排除非欧洲地区行的行过滤器例如,region != Europe。这样,美洲员工将无法访问欧洲的数据。

列过滤器则允许您限制对数据资产中特定列的访问。例如,如果您的表中包含敏感信息如个人身份信息,您可以创建一个列过滤器以排除这些列。这确保了用户只能访问非敏感数据。

在 Amazon DataZone 中的行和列资产过滤器使您能够以一致且易于商业用户理解的方式控制谁可以访问什么数据。要在 Amazon DataZone 中使用细粒度访问控制,您可以在业务数据目录中对数据资产创建行和列过滤器。当用户请求订阅您的数据资产时,您可以通过应用适当的行和列过滤器来批准该订阅。

解决方案概述

为了演示这一新功能,我们考虑一个电子商务平台的客户用例,该平台希望使用 Amazon DataZone 实施细粒度访问控制。客户拥有多个产品类别,每个类别由不同的公司部门操作。平台治理团队希望确保每个部门只能看到属于他们自己类别的数据。此外,平台治理团队还需要遵循财务团队的要求,即定价信息只能对财务团队可见。

销售团队作为数据生产者,发布了一个名为 产品销售 的 AWS Glue 表,其中包含有关 笔记本电脑 和 服务器 类别的数据,并通过 产品销售 项目将数据上传至 Amazon DataZone 业务数据目录。笔记本电脑和服务器部门的分析团队需要访问这些数据以执行各自的分析项目。数据拥有者的目标是根据部门授予消费者数据访问权限。这意味着只向笔记本电脑销售分析团队提供与笔记本电脑销售相关的数据行,而只向服务器销售分析团队提供与服务器销售相关的数据行。此外,数据拥有者还希望限制这两个团队访问定价数据。本文将演示在 Amazon DataZone 中实现此用例的步骤。

配置解决方案的步骤如下:

发布者创建访问限制的资产过滤器: 创建两个行过滤器,一种是 Laptop Only 的行过滤器,将访问限制在仅与笔记本电脑销售相关的行,另一种是 Server Only 的行过滤器,将访问限制在仅与服务器销售相关的行。

创建一个名为 excludepricecolumns 的列过滤器,以排除 产品销售 表中的定价相关列。

通过使用 Amazon DataZone 中的细粒度访问控制来增强数据安全性 大数据博客

消费者发现并请求订阅:

加速器永久免费版官网笔记本电脑部门的分析师请求订阅 产品销售 数据资产。服务器部门的分析师同样请求该数据资产的订阅。

这两个订阅请求都将发送给发布者进行审批。

发布者批准订阅并应用适当的过滤器:

发布者批准笔记本电脑部门分析师的请求,并应用 Laptop Only 行过滤器和 excludepricecolumns 列过滤器。

发布者也批准服务器部门消费者的请求,应用 Server Only 行过滤器和 excludepricecolumns 列过滤器。

消费者通过 Amazon Athena 访问授权数据:

一旦订阅得到批准,笔记本电脑部门的分析师将只能访问与 笔记本电脑 有关的产品销售数据。服务器部门的分析师则只能访问与 服务器 有关的产品销售数据。两位消费者只能查看所有列,但不能看到与定价相关的列,符合应用的列过滤器。

以下图示展示了解决方案的架构和流程。

前提条件

要跟随本文,产品销售数据资产的发布者必须已在 Amazon DataZone 发布了销售数据集。

发布者创建访问限制的资产过滤器

在这一部分中,我们详细介绍发布者创建资产过滤器的步骤。

创建行过滤器

该数据集中包含 Laptops 和 Servers 产品类别。我们希望根据产品类别限制对数据集的访问。我们使用 Amazon DataZone 的行过滤器功能来实现这一目标。

登录 Amazon DataZone 控制台,导航到 产品销售 项目资产所属的项目。转到该项目的 数据 选项卡。选择导航窗格中的 库存数据,然后选择需要创建行过滤器的 Product Sales 资产。

您可以为 AWS Glue 表或 Redshift 表的资产添加行过滤器。

在资产详细信息页面的 资产过滤器 选项卡上,选择 添加资产过滤器。

我们创建两个行过滤器,分别针对 Laptops 和 Servers 类别。

完成以下步骤以创建一个名为 Laptop Only 的资产行过滤器:输入此过滤器的名称Laptop Only。输入过滤器的描述允许以 Laptop Only 为产品类别的数据行。对于过滤器类型,选择 行过滤器。

在行过滤器表达式框中,输入一个或多个表达式:

从 列 下拉菜单中选择 Product Category 列。从 运算符 下拉菜单中选择 =。在 值 字段中输入 Laptops。

如果需要在过滤器表达式中添加其他条件,请选择 添加条件。对于本文,我们创建一个单一条件的过滤器。

当使用多个条件时,选择 And 或 Or 连接条件。也可以定义订阅者的可见性。本文中,我们保留默认值不,向订阅者显示值。

选择 创建资产过滤器。

按照相同的步骤创建名为 Server Only 的行过滤器,但这次在 值 字段中输入 Servers。

创建列过滤器

接下来,我们创建列过滤器以限制对定价相关数据列的访问。完成以下步骤:

在同一资产中,添加另一个 列过滤器 类型的资产过滤器。在 资产过滤器 选项卡上,选择 添加资产过滤器。对于 名称,输入过滤器的名称本文中为 excludepricecolumns。对于 描述,输入过滤器的描述本文中为 排除价格数据列。对于过滤器类型,选择 列 以创建列过滤器。这将显示数据资产架构中的所有可用列。

选择所有列,除价格相关列外。

选择 创建资产过滤器。

消费者发现并请求订阅

在这一部分中,我们转换角色为来自笔记本电脑部门的分析师,他在 销售分析 笔记本电脑 项目中工作。作为数据消费者,我们在目录中搜索 产品销售数据 资产,并请求访问。

登录打印文档,搜索 产品销售 数据资产。在 产品销售 数据资产的详细信息页面上,选择 订阅。在 项目 中,选择 销售分析 笔记本电脑。在 请求原因 中,输入订阅请求的原因。选择 订阅 以提交订阅请求。

发布者批准订阅及过滤器

在订阅请求提交后,发布者将收到请求,并可以按照以下步骤进行批准:

作为发布者,打开 产品销售 项目。在 数据 选项卡中,选择左侧导航窗格中的 来访请求。找到请求并选择 查看请求。您可以通过 待审批 过滤器来查看仍然开放的请求。

此时将打开请求的详细信息,在那里您可以看到请求者的详情、请求的项目和请求的原因。

要批复请求,有两个选项:完全访问 如果选择批准全访问选项,订阅者将获得对数据资产中所有行和列的访问权限。

使用行和列过滤器批准 为了限制对特定行和列的访问,您可以选择使用先前创建的行和列过滤器进行批准。

选择 选择过滤器,然后在下拉菜单中选择 Laptops Only 和 excludepricecolumns。

选择 批准 以批准请求。

访问授权并完成后,订阅的状态显示如下。

现在我们登录来自服务器部门的消费者。重复相同的步骤,但这次在批准订阅时,销售数据的发布者批准 仅服务器 请求,其他步骤保持不变。

消费者通过 Athena 访问授权数据

现在我们已经成功将资产发布到 Amazon DataZone 目录并订阅它,可以进行分析。我们登录到笔记本电脑部门的消费者账户。

在 Amazon DataZone 数据门户中,选择消费者项目 销售分析 笔记本电脑。在 架构 选项卡中,可以查看订阅的资产。选择 销售分析 笔记本电脑 项目,然后选择 概览。在右侧窗格中,打开 Athena 环境。

我们现在可以对订阅的表运行查询。

在 表和视图 下选择表,然后选择 预览 以查看查询编辑器中的 SELECT 语句。以 销售分析 笔记本电脑 的消费者身份运行查询,我们只能查看产品类别为 Laptops 的数据。

在 表和视图 下,您可以展开 productsales 表。与价格相关的列在 Athena 环境中不可见。

接下来,您可以切换为服务器部门的分析师角色,类似地分析数据集。我们运行相同的查询,可以看到在 productcategory 下分析师只能看到 Servers。

结论

Amazon DataZone 提供了一种简单的方法来在数据资产上实施细粒度访问控制。该功能使您可以定义列级和行级过滤器,以在数据可供数据消费者使用之前加以执行数据隐私保护。Amazon DataZone 的细粒度访问控制在所有支持 Amazon DataZone 的 AWS 区域均可用。

尝试在您的用例中使用细粒度访问控制功能,并在评论部分告诉我们您的反馈。

关于作者

Deepmala Agarwal 是 AWS 数据专家解决方案架构师。她热衷于帮助客户构建可扩展的、分布式的和数据驱动的解决方案。工作之余,她喜欢与家人共度时光,散步、听音乐、看电影和烹饪。

Leonardo Gomez 是 AWS 的首席分析师解决方案架构师。他在数据管理方面有超过十年的经验,帮助全球客户应对商业和技术需求。请通过 LinkedIn 与他联系。

Utkarsh Mittal 是 AWS Amazon DataZone 的高级技术产品经理。他热衷于构建创新产品,简化客户的端到端分析之旅。在技术领域之外,Utkarsh 喜欢演奏音乐,最近在学习打鼓。