使用 Data Catalog 向 BigQuery 表添加政策标记
开始使用 Data Catalog 中的政策标记以保护 BigQuery 表中包含敏感数据的列:
- 根据名为“芝加哥出租车行程”的公开数据集创建 BigQuery 表。
- 使用新的政策标记保护包含公司名称的列。
- 查询该表格以验证没有所需角色的用户无法访问数据。
准备工作
设置您的项目:
- 登录您的 Google Cloud 帐号。如果您是 Google Cloud 新手,请创建一个帐号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
-
在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目。
-
启用 Data Catalog and BigQuery API。
-
在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目。
-
启用 Data Catalog and BigQuery API。
向项目添加公共数据集
在 Cloud Console 中,转到 BigQuery 页面。
在“分层图表”部分中,点击添加数据,然后从下拉列表中选择探索公共数据集。
在 Marketplace 窗格中,搜索
Chicago taxi trips
并点击 Chicago Taxi Trips 结果点击查看数据集。
该数据集会添加到您的项目中。“活跃”标签页会显示 chicago_taxi_trips 数据集的公共信息页面。它会显示数据集 ID、数据位置或上次修改日期等详细信息。
创建数据集和表
创建数据集。
在 Cloud Console 中,打开 BigQuery 页面。
在“分层图表”窗格中,选择要在其中创建数据集的项目。
点击
操作图标,然后点击创建数据集。在创建数据集页面中,填写以下详细信息:
- 对于数据集 ID,输入
policy_tags_demo
- 对于数据位置,选择 us(美国的多个区域)。
- 请勿选中启用表过期时间复选框。
- 点击创建数据集。
- 对于数据集 ID,输入
将可公开访问的表复制到 policy_tags_demo 数据集。
在 Cloud Console 中,打开 BigQuery 页面。
在“分层图表”窗格中,搜索
taxi_trips
数据集。在搜索结果中,点击 chicago_taxi_trips 数据集下方的 taxi_trips 表。
在表详细信息标签页中,点击复制。
在复制表格窗格中,填写以下信息:
- 在项目名称字段中,点击浏览,然后选择您的项目。
- 在数据集名称下拉列表中,选择
policy_tags_demo
。 - 对于表名称,输入
my_taxi_trips_copy
并点击复制。
在 Explorer 窗格中,确认
my_taxi_trips_copy
表列在 policy_tags_demo 数据集下。
查询表格以验证结果的公开范围
您的新表格未附加任何政策标记,因此您可以查看其包含的所有数据。看看哪家出租车公司最受欢迎:
在 Cloud Console 中,打开 BigQuery 页面。
点击编写新查询。
在查询编辑器区域,输入以下内容:
SELECT company, COUNT(*) AS number_of_trips FROM `PROJECT_ID.policy_tags_demo.my_taxi_trips_copy` GROUP BY company
将
PROJECT_ID
替换为您的项目标识符。如需详细了解如何查找项目 ID,请参阅识别项目。点击运行。
系统会打开包含窗格的新窗格。“出租车”似乎是赢家!
在以下部分中,您将创建政策标记并将其附加到 company 列,以限制列的访问权限。
创建分类和政策标记
分类是用于对政策标记进行分组和管理的单位部门。政策标记只能存在于分类中。创建新的分类:
在 Cloud Console 中打开“Data Catalog 分类”页面。
点击创建分类。
在新建分类页面上,执行以下操作:
- 对于分类名称,请输入:
Taxi trips policy tags
- 对于说明,请输入:
Demo taxonomy for the policy tags Quickstart
在政策标记下,输入:
- 对于名称字段:
Sensitive taxi data
- 对于 Description 字段:
Taxi company name
- 对于名称字段:
点击保存。
在政策标记分类页面上,开启实施访问权限控制滑块。
- 对于分类名称,请输入:
将新的政策标记添加到公司列
打开 Data Catalog 首页。
在搜索框中输入
my_taxi_trips_copy
,然后从结果列表中选择表。在“资产”页面上,向下滚动到架构部分。
在架构表格中,找到公司行,然后在政策标记下点击 +。
在添加政策标记窗格中,展开出租车行程政策标记分类,然后选择敏感出租车数据标记。
在窗格底部,点击选择。
表格中的 company 列现已受到保护。没有 Data Catalog Fine-Grained Reader 角色的用户无法在查询结果中看到它。
即使您创建了政策标记,您的用户帐号也不会自动添加到 Fine-Grained Reader 列表中,因此您在查询表时不会看到此列。请按照下一部分进行验证。
查询表格以验证结果是否已隐藏
在 Cloud Console 中,打开 BigQuery 页面。
点击编写新查询。
在查询编辑器区域,输入以下内容:
SELECT company, COUNT(*) AS number_of_trips FROM `PROJECT_ID.policy_tags_demo.my_taxi_trips_copy` GROUP BY company
将
PROJECT_ID
替换为您的项目标识符。如需详细了解如何查找项目 ID,请参阅识别项目。点击运行。
该列使用政策标记进行保护,因此结果标签页会显示有关权限不足的访问遭拒错误。
添加 Fine-Grained Reader 角色以查看受保护的列
向您的帐号授予敏感出租车数据政策标记中的 Fine-Grained Reader 角色。
转到 Data Catalog & 政策标记页面。
点击出租车行程政策标记。
在政策标记部分,选择敏感出租车数据政策标记。
在敏感出租车数据信息窗格中,点击添加主帐号。
如果您看不到信息窗格,请点击显示信息面板。
在添加主帐号窗格中:
- 在新的主帐号框中,输入您的电子邮件地址。
- 从选择角色菜单中,选择 Data Catalog > Fine-Grained Reader。
- 点击保存。
您现在可以访问标有敏感出租车数据政策标记的公司列。再次查询表以查看其是否有效。
清理
为避免因本页中使用的资源导致您的 Google Cloud 帐号产生费用,请按照以下步骤操作。
删除项目
若要避免产生费用,最简单的方法是删除您为本教程创建的项目。
要删除项目,请执行以下操作:
- 在 Cloud Console 中,转到管理资源页面。
- 在项目列表中,选择要删除的项目,然后点击删除。
- 在对话框中输入项目 ID,然后点击关闭以删除项目。
删除数据集
转到 BigQuery 页面。
在“分层图表”窗格中,搜索您创建的
policy_tags_demo
数据集。点击
操作选项,然后点击删除数据集。确认删除操作。
删除政策标记分类
转到 Data Catalog &政策标记页面。
点击出租车行程政策标记。
在政策标记分类页面上,点击删除政策标记分类。
确认删除操作。
后续步骤
如需详细了解政策标记,请参阅 BigQuery 列级安全指南。