向 BigQuery 表添加政策标记

使用 Data Catalog 向 BigQuery 表添加政策标记

开始使用 Data Catalog 中的政策标记以保护 BigQuery 表中包含敏感数据的列:

  1. 根据名为“芝加哥出租车行程”的公开数据集创建 BigQuery 表
  2. 使用新的政策标记保护包含公司名称的列。
  3. 查询该表格以验证没有所需角色的用户无法访问数据。

准备工作

设置您的项目:

  1. 登录您的 Google Cloud 帐号。如果您是 Google Cloud 新手,请创建一个帐号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  3. 启用 Data Catalog and BigQuery API。

    启用 API

  4. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  5. 启用 Data Catalog and BigQuery API。

    启用 API

向项目添加公共数据集

  1. 在 Cloud Console 中,转到 BigQuery 页面。

    转到 BigQuery

  2. 在“分层图表”部分中,点击添加数据,然后从下拉列表中选择探索公共数据集

  3. Marketplace 窗格中,搜索 Chicago taxi trips 并点击 Chicago Taxi Trips 结果

  4. 点击查看数据集

该数据集会添加到您的项目中。“活跃”标签页会显示 chicago_taxi_trips 数据集的公共信息页面。它会显示数据集 ID数据位置上次修改日期等详细信息。

创建数据集和表

  1. 创建数据集。

    1. 在 Cloud Console 中,打开 BigQuery 页面。

      转到 BigQuery

    2. 在“分层图表”窗格中,选择要在其中创建数据集的项目。

    3. 点击 操作图标,然后点击创建数据集

    4. 创建数据集页面中,填写以下详细信息:

      • 对于数据集 ID,输入 policy_tags_demo
      • 对于数据位置,选择 us(美国的多个区域)
      • 请勿选中启用表过期时间复选框。
      • 点击创建数据集
  2. 将可公开访问的表复制到 policy_tags_demo 数据集。

    1. 在 Cloud Console 中,打开 BigQuery 页面。

      转到 BigQuery

    2. 在“分层图表”窗格中,搜索 taxi_trips 数据集。

    3. 在搜索结果中,点击 chicago_taxi_trips 数据集下方的 taxi_trips 表。

    4. 在表详细信息标签页中,点击复制

    5. 复制表格窗格中,填写以下信息:

      1. 项目名称字段中,点击浏览,然后选择您的项目。
      2. 数据集名称下拉列表中,选择 policy_tags_demo
      3. 对于表名称,输入 my_taxi_trips_copy 并点击复制
    6. Explorer 窗格中,确认 my_taxi_trips_copy 表列在 policy_tags_demo 数据集下。

查询表格以验证结果的公开范围

您的新表格未附加任何政策标记,因此您可以查看其包含的所有数据。看看哪家出租车公司最受欢迎:

  1. 在 Cloud Console 中,打开 BigQuery 页面。

    转到 BigQuery

  2. 点击编写新查询

    编写新查询

  3. 查询编辑器区域,输入以下内容:

      SELECT company, COUNT(*) AS number_of_trips
      FROM `PROJECT_ID.policy_tags_demo.my_taxi_trips_copy` GROUP BY company
    

    PROJECT_ID 替换为您的项目标识符。如需详细了解如何查找项目 ID,请参阅识别项目

  4. 点击运行

    系统会打开包含窗格的新窗格。“出租车”似乎是赢家!

    在以下部分中,您将创建政策标记并将其附加到 company 列,以限制列的访问权限。

创建分类和政策标记

分类是用于对政策标记进行分组和管理的单位部门。政策标记只能存在于分类中。创建新的分类:

  1. 在 Cloud Console 中打开“Data Catalog 分类”页面。

    打开“分类”页面

  2. 点击创建分类

  3. 新建分类页面上,执行以下操作:

    1. 对于分类名称,请输入:Taxi trips policy tags
    2. 对于说明,请输入:Demo taxonomy for the policy tags Quickstart
    3. 政策标记下,输入:

      1. 对于名称字段:Sensitive taxi data
      2. 对于 Description 字段:Taxi company name
    4. 点击保存

    5. 政策标记分类页面上,开启实施访问权限控制滑块。

将新的政策标记添加到公司列

  1. 打开 Data Catalog 首页。

    打开 Data Catalog 首页

  2. 搜索框中输入 my_taxi_trips_copy,然后从结果列表中选择表。

  3. 在“资产”页面上,向下滚动到架构部分。

  4. 架构表格中,找到公司行,然后在政策标记下点击 +

  5. 添加政策标记窗格中,展开出租车行程政策标记分类,然后选择敏感出租车数据标记。

  6. 在窗格底部,点击选择

表格中的 company 列现已受到保护。没有 Data Catalog Fine-Grained Reader 角色的用户无法在查询结果中看到它。

即使您创建了政策标记,您的用户帐号也不会自动添加到 Fine-Grained Reader 列表中,因此您在查询表时不会看到此列。请按照下一部分进行验证。

查询表格以验证结果是否已隐藏

  1. 在 Cloud Console 中,打开 BigQuery 页面。

    转到 BigQuery

  2. 点击编写新查询

    编写新查询

  3. 查询编辑器区域,输入以下内容:

      SELECT company, COUNT(*) AS number_of_trips
      FROM `PROJECT_ID.policy_tags_demo.my_taxi_trips_copy` GROUP BY company
    

    PROJECT_ID 替换为您的项目标识符。如需详细了解如何查找项目 ID,请参阅识别项目

  4. 点击运行

    该列使用政策标记进行保护,因此结果标签页会显示有关权限不足的访问遭拒错误。

添加 Fine-Grained Reader 角色以查看受保护的列

向您的帐号授予敏感出租车数据政策标记中的 Fine-Grained Reader 角色。

  1. 转到 Data Catalog & 政策标记页面。

    转到 Data Catalog 政策标记

  2. 点击出租车行程政策标记

  3. 政策标记部分,选择敏感出租车数据政策标记。

  4. 敏感出租车数据信息窗格中,点击添加主帐号

    如果您看不到信息窗格,请点击显示信息面板

  5. 添加主帐号窗格中:

    1. 新的主帐号框中,输入您的电子邮件地址。
    2. 选择角色菜单中,选择 Data Catalog > Fine-Grained Reader
    3. 点击保存

您现在可以访问标有敏感出租车数据政策标记的公司列。再次查询表以查看其是否有效。

清理

为避免因本页中使用的资源导致您的 Google Cloud 帐号产生费用,请按照以下步骤操作。

删除项目

若要避免产生费用,最简单的方法是删除您为本教程创建的项目。

要删除项目,请执行以下操作:

  1. 在 Cloud Console 中,转到管理资源页面。

    转到“管理资源”

  2. 在项目列表中,选择要删除的项目,然后点击删除
  3. 在对话框中输入项目 ID,然后点击关闭以删除项目。

删除数据集

  1. 转到 BigQuery 页面。

    转到 BigQuery

  2. 在“分层图表”窗格中,搜索您创建的 policy_tags_demo 数据集。

  3. 点击 操作选项,然后点击删除数据集

  4. 确认删除操作。

删除政策标记分类

  1. 转到 Data Catalog &政策标记页面。

    转到 Data Catalog 政策标记

  2. 点击出租车行程政策标记

  3. 政策标记分类页面上,点击删除政策标记分类

  4. 确认删除操作。

后续步骤

如需详细了解政策标记,请参阅 BigQuery 列级安全指南