本文档介绍了如何使用 Dataplex 属性存储。
Dataplex 属性存储是一个可扩展的基础架构,可让您为关联资源指定政策相关行为。Dataplex 管理员可以使用属性存储,通过将数据与属性相关联来定义应如何处理某些数据。
使用属性存储的主要好处是,您可以向对象(例如列)添加多个属性。属性存储会合并与某个对象关联的所有属性的行为,并将其显示为底层资源的单个政策。
您可以将属性设置为已发布的数据集。已发布的数据集是指 Dataplex 根据存储桶资产中发现的表创建的数据集。
支持以下政策行为:
- 资源规范:指定对资源(例如表)的访问权限。
- 列规范:指定对 BigQuery 表中某一列的访问权限。
您可以使用 Attribute Store 来定义称为分类的属性层次结构。在分类中,子属性会从父级属性层次结构继承规范。子级的规范会合并到一个统一列表中,该列表会传播到相应资源。
您可以使用 Dataplex 属性存储执行以下操作:
- 创建分类。
- 创建属性并按层次结构整理属性。
- 将一个或多个属性与表相关联。
- 将一个或多个属性与列相关联。
术语
本文档中使用了以下术语:
属性分类
数据分类是属性的层次结构。在分类中,父节点中的属性允许其下的属性(子属性)继承父节点的行为规范,并将其添加到自己的属性中。
例如:如果名为 PII
的属性具有资源规范 group-a@company.com
,并且名为 Social Security numbers
的 PII
子属性具有资源规范 group-b@company.com
,则应用于属性 Social Security numbers
关联的政策的资源规范将为 group-a@company.com
和 group-b@company.com
。
定义属性时,您可以选择是父属性还是子属性。定义子属性时,必须指定其父属性。
列规范
列的行为规范。它指定对列拥有读取者访问权限的人员或群组。如果将包含列规范的属性与表的列相关联,则会向该列添加 BigQuery 列政策标记。
资源规范
个人或群组对资源(表)的访问权限。 如果您将某个特性与资源规范相关联,Dataplex 会将 IAM 角色传播给指定的用户,以访问与该属性关联的表。
准备工作
限制
Dataplex 会将列规范政策作为 BigQuery 政策标记传播。BigQuery 规定,每列只能有一个政策标记。如果列上已存在政策标记,则 Dataplex 的管理标签页上的“治理”日志中会抛出错误。
配额
以下是适用于 Dataplex 属性存储的配额和限制:
限额 | 默认 |
---|---|
一个区域中分类的数量上限 | 100 |
一个区域中所有分类中的属性数量上限 | 10,000 |
一个资源可以关联的属性数量上限(表) | 50 |
一个列可以关联的属性数量上限 | 100 |
属性分类中每个数据属性树的最大深度 | 4 |
所需的角色和权限
如需获取使用 Dataplex 特性存储所需的权限,请让管理员授予您项目的以下 IAM 角色:
-
管理分类和属性:Dataplex Taxonomy Admin (
roles/dataplex.taxonomyAdmin
) -
查看与资源和特性关联的绑定:
Dataplex Taxonomy Viewer (
roles/dataplex.taxonomyViewer
) -
在项目中创建和管理绑定资源:
-
Dataplex Binding Admin (
roles/dataplex.bindingAdmin
) -
Dataplex Admin(可用区资源的
roles/dataplex.admin
权限)
-
Dataplex Binding Admin (
-
管理资源和数据访问权限规范:
Dataplex Security Admin (
roles/dataplex.securityAdmin
)
如需详细了解如何授予角色,请参阅管理访问权限。
这些预定义角色包含使用 Dataplex 特性存储所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需使用 Dataplex 特性存储,您需要拥有以下权限:
-
管理分类和属性:
-
dataplex.datataxonomies.*
-
dataplex.dataattributes.*
(exceptdataplex.dataattributes.configureResourceAccess
anddataplex.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@acme
和tenured_employees@acme
- 列规范:具有读取权限的
属性:
Green
- 列规范:具有读取权限的
full_time_employees@acme
- 资源规范:具有修改权限的
full_time_employees@acme
- 列规范:具有读取权限的
Red
和 Green
属性用于控制资源(表)的访问行为,具体取决于与表及其列关联的属性。
假设一个表包含以下列:
- ID
- 邮政编码
- 名称
- 地址
- $Value
用例 1:将同一属性与表和列相关联
如果您将属性 Red
与表及其列 Name 相关联,则 Dataplex 会传播以下政策:
secrets_team@acme
和tenured_employees@acme
中的员工可以读取该表、查看其元数据并查询该表。- 只有
secrets_team@acme
中的员工可以查询 Name 列,因为它受列规范的进一步保护。
用例 2:合并属性
请考虑以下关联:
- 将属性
Red
和Green
与表相关联。 - 将属性
Red
和Green
与列 Name 相关联。 - 将属性
Red
与 $Value 列相关联。
在这种情况下,Dataplex 会传播以下政策:
secrets_team@acme
、tenured_employees@acme
和full_time_employees@acme
中的员工可以访问该表。这是因为 Dataplex 合并了属性Red
和Green
的资源规范。secrets_team@acme
和full_time_employees@acme
中的员工都可以访问 Name 列。这是因为 Dataplex 合并了属性Red
和Green
的列规范。- 只有
secrets_team@acme
中的员工可以查询 $Value 列。
用例 3:按层次结构整理属性
您可以通过指定属性的子类型来按层次结构整理属性。请考虑以下属性集:
父级属性 1:
属性:PII
- 列规范:
secrets_team@acme
- 资源规范:
secrets_team@acme
和tenured_employees@acme
PII
的子属性:
属性:Email
- 列规范:
email_comm@acme
- 资源规范:
email_comm@acme
父级属性 2:
属性:Financial
- 列规范:
full_time_employees@acme
- 资源规范:
full_time_employees@acme
请考虑以下关联:
- 将属性
Email
和Financial
与表相关联。 - 将属性
Email
和Financial
与列 Name 相关联。 - 将属性
PII
与 $Value 列相关联。
在这种情况下,Dataplex 会传播以下政策:
secrets_team@acme
、tenured_employees@acme
、full_time_employees@acme
和email_comm@acme
中的员工可以访问该表。这是因为 Dataplex 合并了属性Financial
和Email
的资源规范,而属性Email
从属性PII
继承了规范。secrets_team@acme
、email_comm@acme
和full_time_employees@acme
中的员工可以访问 Name 列。这是因为 Dataplex 合并了属性Financial
和Email
的列规范。- 只有
secrets_team@acme
中的员工可以查询 $Value 列。
设置属性
如需创建特性,您必须先创建分类,然后创建父数据和子数据特性。
创建数据特性分类
在 Google Cloud 控制台中,前往 Dataplex 属性存储页面。
点击创建分类。
输入分类名称、ID 和说明。
请选择区域。
点击提交。
新分类会显示在数据分类页面上。
创建父属性
在 Google Cloud 控制台中,前往 Dataplex 属性存储页面。
在数据分类页面上,点击要在其中创建父级属性的分类。
在分类详情页面上,点击添加数据属性。
选择创建父级数据特性。
为父级属性输入名称、ID 和说明。
可选:设置属性规范。
设置资源规范:
- 点击资源对应的管理权限。
- 点击添加。
- 在新的主账号字段中,输入需要访问资源的个人或群组的电子邮件地址。
- 选择所需的角色,然后点击保存。
- 点击保存。
设置列规范:
- 点击列的管理权限。
- 点击添加。
- 在新的主账号字段中,输入需要访问该列的个人或群组的电子邮件地址。
- 选择所需的角色,然后点击保存。
- 点击保存。
点击创建。
创建子属性
在 Google Cloud 控制台中,前往 Dataplex 属性存储页面。
在数据分类页面上,点击要在其中创建子属性的分类。
在分类详情页面上,点击添加数据属性。
选择创建子数据特性。
为您要创建的子属性选择父级数据属性。
为子属性输入名称、ID 和说明。
可选:设置属性规范。
设置资源规范:
- 点击资源对应的管理权限。
- 点击添加。
- 在新的主账号字段中,输入需要访问资源的个人或群组的电子邮件地址。
- 选择所需的角色,然后点击保存。
- 点击保存。
设置列规范:
- 点击列的管理权限。
- 点击添加。
- 在新的主账号字段中,输入需要访问该列的个人或群组的电子邮件地址。
- 选择所需的角色,然后点击保存。
- 点击保存。
点击创建。
更新属性存储资源
更新分类详情
在 Google Cloud 控制台中,前往 Dataplex 属性存储页面。
点击您要更新的分类。
点击修改。
根据需要修改分类名称及其说明。
点击提交。
更新属性详情
在 Google Cloud 控制台中,前往 Dataplex 属性存储页面。
点击包含要更新的属性的分类。
点击要更新的属性。
要更新属性名称和说明,请点击修改。
- 如果要更新父属性,您可以选择将其更新为子属性,反之亦然。选择相应的选项。
- 根据需要修改属性名称及其说明。
- 点击更新。
如需更新属性的资源规范,请点击资源规范对应的
。如需添加新的主账号,请按以下步骤操作:
- 点击添加。
- 在新的主账号字段中,输入需要访问资源的个人或群组的电子邮件地址。
- 选择所需的角色。
- 点击保存。
如需更新现有主账号,请按以下步骤操作:
- 点击要更新的主帐号对应的 。
- 选择所需的角色。
- 点击保存。
如需移除现有主账号,请按以下步骤操作:
- 选择要移除的主账号。
- 点击移除。
如需更新属性的列规范,请点击列规范对应的
。如需添加新的主账号,请按以下步骤操作:
- 点击添加。
- 在新的主账号字段中,输入需要访问该列的个人或群组的电子邮件地址。
- 选择所需的角色。
- 点击保存。
如需更新现有主账号,请按以下步骤操作:
- 点击要更新的主帐号对应的 。
- 选择所需的角色。
- 点击保存。
如需移除现有主账号,请按以下步骤操作:
- 选择要移除的主账号。
- 点击移除。
将特性与资源相关联
将属性与表相关联
在 Google Cloud 控制台中,前往 Dataplex 属性存储页面。
点击包含该属性的类目。
点击要与表关联的属性。
点击资源标签页。
点击添加资源。
从列表中选择一个表。
点击选择。
将属性与列相关联
在 Google Cloud 控制台中,前往 Dataplex 属性存储页面。
搜索并选择您要将某个属性与一列关联的表。
点击架构和列标记标签页。
在要与属性相关联的列的政策标记中,点击
。选择包含该属性的类目。
选择属性。
点击附加。
后续步骤
- 详细了解 Dataplex 安全性。
- 详细了解 Dataplex 中的政策管理。
- 详细了解 Dataplex IAM 角色。