使用 AWS Clean Rooms 管

使用 AWS Clean Rooms 管理范畴 3 排放的数据保密性

主要观察要点

  • 范畴 3 排放是由公司活动引起的间接温室气体排放,发生在公司无法直接控制的范围内。
  • 确保保密性是共享第三方供应商信息时面临的主要挑战。
  • AWS Clean Rooms 提供了在不共享或移动基础数据的情况下进行数据分析的机会。
  • 本文展示了如何在报告公司与其价值链伙伴之间共享范畴 3 排放数据。

范畴 3排放是由公司活动引起的间接温室气体排放,这些排放发生在公司无法直接控制或拥有的范畴内。测量这些排放需要从各种外部来源收集数据,例如原材料供应商、运输提供商及其他第三方。然而,共享专有信息时,数据保密性的维护成为一大挑战。企业往往不愿意分享可能被竞争对手利用的信息,因此难以准确测量和报告其范畴 3 排放,进而限制它们管理与气候相关的影响和风险的能力。

本博客将介绍如何利用 在报告公司及其两个价值链伙伴(原材料购买供应商和运输提供商)之间共享范畴 3 排放数据。在数据 AWS Clean Rooms协作之前,每个组织都会指定数据保密要求(参见图 1)。

![数据保密要求示意图](https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2023/05/24/fig1-data- 删除)

解决方案概述

在这一架构中,AWS Clean Rooms 被用来分析和协同排放数据集,而不需要与合作者共享、移动或揭露底层数据(如图 2 所示)。

![AWS CleanRooms的架构示意图](https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2023/05/24/fig2-arch- 删除)

这一方法使用了三个 AWS 帐户。 报告帐户 创建了 AWS Clean Rooms 协作,并邀请 购买商品帐户运输帐户 成为成员。所有帐户都可以使用隐私增强控制来保护其底层数据,并通过 Amazon Simple Storage Service (S3) 使用 表直接贡献数据。

购买商品帐户 包含可以更新所购商品桶的用户。同样, 运输帐户 拥有可以更新运输桶的用户。 报告帐户 可以在配置的表上运行 SQL 查询,而 AWS Clean Rooms 仅返回符合所有参与帐户设置的分析规则的结果。

前置条件

在这一指导过程中,您需要满足以下前置条件:

  • 拥有三个位于同一 AWS 区域的
  • 每个帐户拥有一个包含排放数据的 桶(见图 1)
  • 每个 S3 桶都有

虽然 Amazon S3 和 AWS CleanRooms可选,但 会产生少量费用。文章后面将提供清理操作,以减少成本。

配置

我们为每个 AWS 帐户配置了 S3 桶,具体如下:

  • 报告帐户: reportingcompany.csv
  • 购买商品帐户: purchasedgood.csv
  • 运输帐户: transportation.csv

按照 的方法为每个 S3 数据源创建 AWS Glue 数据目录。AWS Glue 表应与图 1 中详细描述的模式相匹配(见图 3)。

![配置后的 'Purchased Goods' 的 AWS Glue表](https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2023/05/24/fig3-glue- 删除)

数据消费者可以配置为进行查询的提取、分析和可视化(请参见图 2)。我们将 报告帐户 的 Glue 数据库标记为 “reporting-db”,Glue表的标记为 “reporting”。同样, 购买商品帐户 将标记为 “purchase-db” 和 “purchase”。

安全性

在生产环境中,建议采取额外措施来保护每个帐户。如需配置加密,请参阅本文结尾的 进一步阅读 部分、 角色及 的相关内容。

逐步指导

这一指导过程包括四个步骤:

  1. 报告帐户 创建 AWS Clean Rooms 协作,并邀请 购买商品帐户运输帐户 共享数据。
  2. 购买商品帐户运输帐户 接受该邀请。
  3. 为每个协作帐户应用限制如何在 AWS Clean Rooms 协作帐户之间共享数据的规则。
  4. 报告帐户 中创建并运行 SQL 查询。

1. 在报告帐户中创建 AWS Clean Rooms 协作

(本节涵盖的步骤要求您已登录到 报告帐户 。)

  • 进入 AWS Clean Rooms 控制台,点击 创建协作
  • 详细信息 区域,将 "Scope 3 Clean Room Collaboration" 输入 名称 栏。
  • 滚动至 成员 1 区域。在 成员显示名称 栏中输入 "Reporting Account"。
  • 成员 2 区域,为第一个协作成员名称输入 "Purchased Goods Account",并在 成员 AWS 帐号 ID 栏中输入其帐号。
  • 点击 添加其他成员 ,将 "Transportation Account" 作为第三个协作伙伴添加,填入其 AWS 帐号。
  • 成员能力 区域选择 “报告帐户” 作为可以查询和接收结果的成员,并点击 下一步
  • 选择 是的,现在通过创建会员来加入 。点击 下一步
  • 审核和创建 页面确认协作设置,然后选择 创建并加入协作和创建会员

随后,两个帐户将收到接受协作的邀请(见图 4)。控制台会显示每个成员状态为 “被邀请”,直到其接受邀请。接下来,我们将展示如何应用邀请成员对其数据的查询限制。

![AWS CleanRooms中新创建的协作](https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2023/05/24/fig4-new- 删除)

2. 接受邀请并配置表协作规则

本节中所述的步骤适用于 购买商品帐户运输帐户 ,使用的协作环境设置后,为简便起见,我将演示 购买商品帐户 的步骤,并注明 运输帐户 的不同之处。

  • 登录 AWS 会拥有 购买商品帐户 的帐号,并接受协作邀请。
  • 打开 AWS Clean Rooms 控制台,选择左侧导航面板的 协作 ,然后点击 可加入
  • 您会看到来自 Scope 3 Clean Room Collaboration 的邀请,点击该名称,然后点击 创建会员
  • 选择 ,然后 关联表 ,接著点击 配置新表

接下来的动作是关联从 purchasedgoods.csv 文件创建的 Glue 表。这一序列限制了在协作中对 origin_region 列( Transportation Account 表中的 transportation_mode 列)的访问。

  • Scope 3 Clean Room Collaboration 中,选择左侧面板的 已配置表 ,然后 配置新表 ,选择与 purchasedgoods.csv 关联的 AWS Glue 表(如图 5 所示)。
  • 选择 (purchase-db) 和 (purchase)。
  • 通过转动 AWS Glue 滑杆选择 查看模式 确认正确的表部分。
  • 允许在协作中的栏位 区域,选择所有栏位,但不包括 origin_region 。此动作将防止 origin_region 列在协作中被访问和查看。
  • 完成这一步,选择 配置新表

![购买商品帐户表配置示意图](https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2023/05/24/fig5-purchased- 删除)

  • 选择 配置分析规则 (见图 6)。
  • 选择 聚合 类型,然后点击 下一步
  • 选择 SUM 作为 聚合函数 ,并选择 s3_upstream_purchased_good 作为列。
  • 在 Join 控件下,选择 指定 Join 列 。从选项列表中选择 “item”。这样允许在 “ item ” 列上执行 SQL join 查询。点击 下一步

![购买商品帐户的表规则](https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2023/05/24/fig6-table- rules-p-删除)

  • 下一页指定进行 “join” 命令所需聚合的唯一行数的最小值。选择 “ item ” 作为 列名 ,并选择 “ 2 ” 作为 最小不同值数量 。点击 下一步
  • 确认表配置查询规则后,选择 配置分析规则
  • 最后一步是在选择 关联到协作 并在下拉菜单中选择 Scope 3 Clean Room Collaboration 后,点击 关联表 ,刷新页面。

本节的程序对于 运输帐户 的步骤重复执行,且有以下例外:

  1. 在此次协作中共享的列为 items3_upstream_transportationunit
  2. 聚合函数 是对 s3_upstream_transportation 列应用的 SUM
  3. item 列的 聚合限制 最少为两个不同值。

3. 在报告帐户中配置表协作规则

这时,成员帐户的表已经在协作中创建和共享。下一阶段是在 报告帐户 的 AWS 帐户中配置报告帐户表。

  • 进入 AWS Clean Rooms。选择 已配置表 ,然后 配置新表
  • 选择与文件 reportingcompany.csv 关联的 Glue 数据库和表。
  • 允许在协作中的栏位 区域选择 所有列 ,然后选择 配置新表
  • 使用 指导工作流 点击 配置分析规则 以配置协作规则。
  • 选择 聚合 类型,然后点击 下一步
  • 选择 SUM 作为 聚合函数 ,并将 ingredient 作为列(见图 7)。
  • 只能在 指定 join 列 区域的 ingredient 列上执行 SQL join 查询,请选择此项。
  • 在维度控件中,选择 product 。这一选择允许聚合依据产品名称进行 SQL 查询,然后选择 下一步
  • 标量函数 区域中选择 。点击 下一步 。(详细了解标量函数,请参见 )

![报告帐户的表规则](https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2023/05/24/fig7-rules- 删除)

  • 在下一页中选择 ingredient 作为 列名 ,和 2 作为 最小不同值数量 。 点击 下一步 。确认提交查询控制记事,选择 配置分析规则
  • 审查和配置 窗口中校正设置,然后选择 下一步
  • 已配置表 标签中选择 关联到协作 。将该表指派到 Scope 3 Clean Rooms Collaboration
  • 在下拉菜单中选择 Scope 3 Clean Room Collaboration ,然后选择 选择协作 。在 Scope 3 Clean Room Collaboration 页面中,选择 reporting ,然后点击 关联表

4. 创建并运行 SQL 查询

现在可以在 报告帐户 中运行查询(见图 8)。

![报告帐户中的查询结果](https://d2908q01vomqb2.cloudfront.net/fc074d501302eb2b93e2554793fcaf50b3bf7291/2023/05/24/fig8-query- 删除)

  • 选择一个 S3 目录来输出查询结果。选择 操作 ,然后选择 设置结果设置
  • 输入 S3 桶名称,然后点击 保存更改
  • 在查询文本编辑器中粘贴以下 SQL 片段(见图 8):

sql SELECT r.product AS "Product", SUM(p.s3_upstream_purchased_good) AS "Scope_3_Purchased_Goods_Emissions", SUM(t.s3_upstream_transportation) AS "Scope_3_Transportation_Emissions" FROM reporting r INNER JOIN purchase p ONr.ingredient = p.item INNER JOIN transportation t ON p.item = t.item GROUP BYr.product

  • 点击 **运行

Leave a Reply

Required fields are marked *