使用 Dataplex 属性存储

本文档介绍了如何使用 Dataplex 属性存储。

Dataplex 属性存储是一个可扩展的基础架构,可让您为关联资源指定政策相关行为。Dataplex 管理员可以使用属性存储,通过将数据与属性相关联来定义应如何处理某些数据。

使用属性存储的主要好处是,您可以向对象(例如列)添加多个属性。属性存储会合并与某个对象关联的所有属性的行为,并将其显示为底层资源的单个政策。

您可以将属性设置为已发布的数据集。已发布的数据集是指 Dataplex 根据存储桶资产中发现的表创建的数据集。

支持以下政策行为:

  • 资源规范:指定对资源(例如表)的访问权限。
  • 列规范:指定对 BigQuery 表中某一列的访问权限。

您可以使用 Attribute Store 来定义称为分类的属性层次结构。在分类中,子属性会从父级属性层次结构继承规范。子级的规范会合并到一个统一列表中,该列表会传播到相应资源。

您可以使用 Dataplex 属性存储执行以下操作:

  • 创建分类。
  • 创建属性并按层次结构整理属性。
  • 将一个或多个属性与表相关联。
  • 将一个或多个属性与列相关联。

术语

本文档中使用了以下术语:

属性分类

数据分类是属性的层次结构。在分类中,父节点中的属性允许其下的属性(子属性)继承父节点的行为规范,并将其添加到自己的属性中。

例如:如果名为 PII 的属性具有资源规范 group-a@company.com,并且名为 Social Security numbersPII 子属性具有资源规范 group-b@company.com,则应用于属性 Social Security numbers 关联的政策的资源规范将为 group-a@company.comgroup-b@company.com

定义属性时,您可以选择是父属性还是子属性。定义子属性时,必须指定其父属性。

列规范

列的行为规范。它指定对列拥有读取者访问权限的人员或群组。如果将包含列规范的属性与表的列相关联,则会向该列添加 BigQuery 列政策标记

资源规范

个人或群组对资源(表)的访问权限。 如果您将某个特性与资源规范相关联,Dataplex 会将 IAM 角色传播给指定的用户,以访问与该属性关联的表。

准备工作

限制

Dataplex 会将列规范政策作为 BigQuery 政策标记传播。BigQuery 规定,每列只能有一个政策标记。如果列上已存在政策标记,则 Dataplex 的管理标签页上的“治理”日志中会抛出错误。

配额

以下是适用于 Dataplex 属性存储的配额和限制:

限额 默认
一个区域中分类的数量上限 100
一个区域中所有分类中的属性数量上限 10,000
一个资源可以关联的属性数量上限(表) 50
一个列可以关联的属性数量上限 100
属性分类中每个数据属性树的最大深度 4

所需的角色和权限

如需获取使用 Dataplex 特性存储所需的权限,请让管理员授予您项目的以下 IAM 角色:

如需详细了解如何授予角色,请参阅管理访问权限

这些预定义角色包含使用 Dataplex 特性存储所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需使用 Dataplex 特性存储,您需要拥有以下权限:

  • 管理分类和属性:
    • dataplex.datataxonomies.*
    • dataplex.dataattributes.* (except dataplex.dataattributes.configureResourceAccess and dataplex.dataattributes.configureDataAccess)
  • 查看与资源和特性关联的绑定:
    • dataplex.datataxonomies.get
    • dataplex.datataxonomies.list
    • dataplex.dataattributes.get
    • dataplex.dataattributes.list
    • dataplex.dataattributebindings.get
    • dataplex.dataattributebindings.list
  • 在项目中创建和管理绑定资源: dataplex.dataattributebindings.*
  • 管理资源和数据访问权限规范:
    • dataplex.datataxonomies.configureResourceAccess
    • dataplex.datataxonomies.configureDataAccess

您也可以使用自定义角色或其他预定义角色来获取这些权限。

实际使用示例

假设有一家名为 ACME 的公司有三种类型的数据:

  • Red 敏感数据。
  • 受限但不太敏感的 Green 数据。
  • 未分类的数据。

ACME 的 Dataplex 管理员会创建以下属性集:

  • 属性:Red

    • 列规范:具有读取权限的 secrets_team@acme
    • 资源规范:具有读取权限的 secrets_team@acmetenured_employees@acme
  • 属性:Green

    • 列规范:具有读取权限的 full_time_employees@acme
    • 资源规范:具有修改权限的 full_time_employees@acme

此图片包含红色和绿色属性的列和资源规范。

RedGreen 属性用于控制资源(表)的访问行为,具体取决于与表及其列关联的属性。

假设一个表包含以下列:

  • ID
  • 邮政编码
  • 名称
  • 地址
  • $Value

用例 1:将同一属性与表和列相关联

此图片显示了与表和列名称关联的属性“红色”。

如果您将属性 Red 与表及其列 Name 相关联,则 Dataplex 会传播以下政策:

  • secrets_team@acmetenured_employees@acme 中的员工可以读取该表、查看其元数据并查询该表。
  • 只有 secrets_team@acme 中的员工可以查询 Name 列,因为它受列规范的进一步保护。

用例 2:合并属性

请考虑以下关联:

  • 将属性 RedGreen 与表相关联。
  • 将属性 RedGreen 与列 Name 相关联。
  • 将属性 Red$Value 列相关联。

此图片显示了将属性红色和绿色与表和列“名称”相关联的属性,以及属性“红色”与列 $value 相关联

在这种情况下,Dataplex 会传播以下政策:

  • secrets_team@acmetenured_employees@acmefull_time_employees@acme 中的员工可以访问该表。这是因为 Dataplex 合并了属性 RedGreen 的资源规范。
  • secrets_team@acmefull_time_employees@acme 中的员工都可以访问 Name 列。这是因为 Dataplex 合并了属性 RedGreen 的列规范。
  • 只有 secrets_team@acme 中的员工可以查询 $Value 列。

用例 3:按层次结构整理属性

您可以通过指定属性的子类型来按层次结构整理属性。请考虑以下属性集:

父级属性 1
属性:PII

  • 列规范:secrets_team@acme
  • 资源规范:secrets_team@acmetenured_employees@acme

PII 的子属性
属性:Email

  • 列规范:email_comm@acme
  • 资源规范:email_comm@acme

父级属性 2
属性:Financial

  • 列规范:full_time_employees@acme
  • 资源规范:full_time_employees@acme

此图片显示了属性层次结构的示例。

请考虑以下关联:

  • 将属性 EmailFinancial 与表相关联。
  • 将属性 EmailFinancial 与列 Name 相关联。
  • 将属性 PII$Value 列相关联。

此图片展示了层次结构中的属性如何与表和列相关联。

在这种情况下,Dataplex 会传播以下政策:

  • secrets_team@acmetenured_employees@acmefull_time_employees@acmeemail_comm@acme 中的员工可以访问该表。这是因为 Dataplex 合并了属性 FinancialEmail 的资源规范,而属性 Email 从属性 PII 继承了规范。
  • secrets_team@acmeemail_comm@acmefull_time_employees@acme 中的员工可以访问 Name 列。这是因为 Dataplex 合并了属性 FinancialEmail 的列规范。
  • 只有 secrets_team@acme 中的员工可以查询 $Value 列。

设置属性

如需创建特性,您必须先创建分类,然后创建父数据和子数据特性。

创建数据特性分类

  1. 在 Google Cloud 控制台中,前往 Dataplex 属性存储页面。

    前往 Attributes Store

  2. 点击创建分类

  3. 输入分类名称ID说明

  4. 请选择区域。

  5. 点击提交

    新分类会显示在数据分类页面上。

创建父属性

  1. 在 Google Cloud 控制台中,前往 Dataplex 属性存储页面。

    前往 Attributes Store

  2. 数据分类页面上,点击要在其中创建父级属性的分类。

  3. 分类详情页面上,点击添加数据属性

  4. 选择创建父级数据特性

  5. 为父级属性输入名称、ID 和说明。

  6. 可选:设置属性规范。

    1. 设置资源规范:

      1. 点击资源对应的管理权限
      2. 点击添加
      3. 新的主账号字段中,输入需要访问资源的个人或群组的电子邮件地址。
      4. 选择所需的角色,然后点击保存
      5. 点击保存
    2. 设置列规范:

      1. 点击管理权限
      2. 点击添加
      3. 新的主账号字段中,输入需要访问该列的个人或群组的电子邮件地址。
      4. 选择所需的角色,然后点击保存
      5. 点击保存
  7. 点击创建

创建子属性

  1. 在 Google Cloud 控制台中,前往 Dataplex 属性存储页面。

    前往 Attributes Store

  2. 数据分类页面上,点击要在其中创建子属性的分类。

  3. 分类详情页面上,点击添加数据属性

  4. 选择创建子数据特性

  5. 为您要创建的子属性选择父级数据属性

  6. 为子属性输入名称、ID 和说明。

  7. 可选:设置属性规范。

    1. 设置资源规范:

      1. 点击资源对应的管理权限
      2. 点击添加
      3. 新的主账号字段中,输入需要访问资源的个人或群组的电子邮件地址。
      4. 选择所需的角色,然后点击保存
      5. 点击保存
    2. 设置列规范:

      1. 点击管理权限
      2. 点击添加
      3. 新的主账号字段中,输入需要访问该列的个人或群组的电子邮件地址。
      4. 选择所需的角色,然后点击保存
      5. 点击保存
  8. 点击创建

更新属性存储资源

更新分类详情

  1. 在 Google Cloud 控制台中,前往 Dataplex 属性存储页面。

    前往 Attributes Store

  2. 点击您要更新的分类。

  3. 点击修改

  4. 根据需要修改分类名称及其说明。

  5. 点击提交

更新属性详情

  1. 在 Google Cloud 控制台中,前往 Dataplex 属性存储页面。

    前往 Attributes Store

  2. 点击包含要更新的属性的分类。

  3. 点击要更新的属性。

  4. 要更新属性名称和说明,请点击修改

    1. 如果要更新父属性,您可以选择将其更新为子属性,反之亦然。选择相应的选项。
    2. 根据需要修改属性名称及其说明。
    3. 点击更新
  5. 如需更新属性的资源规范,请点击资源规范对应的

    1. 如需添加新的主账号,请按以下步骤操作:

      1. 点击添加
      2. 新的主账号字段中,输入需要访问资源的个人或群组的电子邮件地址。
      3. 选择所需的角色
      4. 点击保存
    2. 如需更新现有主账号,请按以下步骤操作:

      1. 点击要更新的主帐号对应的
      2. 选择所需的角色
      3. 点击保存
    3. 如需移除现有主账号,请按以下步骤操作:

      1. 选择要移除的主账号。
      2. 点击移除
  6. 如需更新属性的列规范,请点击列规范对应的

    1. 如需添加新的主账号,请按以下步骤操作:

      1. 点击添加
      2. 新的主账号字段中,输入需要访问该列的个人或群组的电子邮件地址。
      3. 选择所需的角色
      4. 点击保存
    2. 如需更新现有主账号,请按以下步骤操作:

      1. 点击要更新的主帐号对应的
      2. 选择所需的角色
      3. 点击保存
    3. 如需移除现有主账号,请按以下步骤操作:

      1. 选择要移除的主账号。
      2. 点击移除

将特性与资源相关联

将属性与表相关联

  1. 在 Google Cloud 控制台中,前往 Dataplex 属性存储页面。

    前往 Attributes Store

  2. 点击包含该属性的类目。

  3. 点击要与表关联的属性。

  4. 点击资源标签页。

  5. 点击添加资源

  6. 从列表中选择一个表。

  7. 点击选择

将属性与列相关联

  1. 在 Google Cloud 控制台中,前往 Dataplex 属性存储页面。

    前往 Attributes Store

  2. 搜索并选择您要将某个属性与一列关联的表。

  3. 点击架构和列标记标签页。

  4. 在要与属性相关联的列的政策标记中,点击

  5. 选择包含该属性的类目。

  6. 选择属性。

  7. 点击附加

后续步骤