本文档列出了 Dataplex Universal Catalog 的 IAM 权限。
有了权限,用户便可对 Dataplex Universal Catalog 资源执行特定操作。例如,dataplex.datascans.create 权限允许用户在您的项目中创建 Dataplex Universal Catalog 数据扫描。
权限和角色
您不能直接向用户授予权限。不过,您可以向其授予角色,角色自带一个或多个权限。这种方法符合最小权限原则,可促使您仅授予用户或服务账号执行其任务所需的必要访问权限。
IAM 针对常见使用场景提供预定义角色。如果这些预定义角色无法满足您的特定需求,您可以创建自己的自定义角色,其中仅包含所需的特定权限。
如需详细了解预定义的 Dataplex Universal Catalog 角色及其具有的权限,请参阅 Dataplex Universal Catalog IAM 角色。
如需详细了解 IAM 及其功能,请参阅 IAM 文档。
IAM 政策设置和获取权限
下表列出了获取和设置 IAM 权限所需的权限:
| 资源 | API 方法 | IAM 权限 |
|---|---|---|
| 切面类型 | GetIamPolicy | dataplex.aspectTypes.getIamPolicy |
| 切面类型 | SetIamPolicy | dataplex.aspectTypes.setIamPolicy |
| 条目组 | GetIamPolicy | dataplex.entryGroups.getIamPolicy |
| 条目组 | SetIamPolicy | dataplex.entryGroups.setIamPolicy |
| 条目类型 | GetIamPolicy | dataplex.entryTypes.getIamPolicy |
| 条目类型 | SetIamPolicy | dataplex.entryTypes.setIamPolicy |
| 湖泊 | GetIamPolicy | dataplex.lakes.getIamPolicy |
| 湖泊 | SetIamPolicy | dataplex.lakes.setIamPolicy |
元数据管理权限
对条目类型、切面类型、条目组和实体执行操作所需的权限集取决于资源是系统资源还是自定义资源。系统资源由 Dataplex Universal Catalog 定义,自定义资源由您或您的组织定义。
如需执行与多个资源相关的操作(例如,创建特定条目类型的条目,或向条目添加特定切面类型的切面),您可能需要拥有与这些资源关联的多种权限。
条目类型
如需创建和管理条目类型,您必须至少获得标准 create、get、list、update 和 delete 权限。
创建条目类型时,您必须获得使用您希望针对该条目类型将其标记为必需的每个切面类型的权限。
如需使用条目类型(例如,创建条目类型的条目),您必须获得该条目类型的 use 权限。
下表列出了对条目类型执行操作所需的权限:
| 操作 | IAM 权限 |
|---|---|
| 创建条目类型 |
|
| 删除条目类型 |
|
| 获取条目类型 | dataplex.entryTypes.get |
| 列出条目类型 | dataplex.entryTypes.list |
| 更新条目类型 |
|
|
使用条目类型 (创建条目、更新顶级条目字段和必需的切面类型值时) |
|
切面类型
如需创建和管理切面类型,您必须获得标准 create、get、list、update 和 delete 权限。
如需使用某个切面类型(例如,将其作为可选切面附加到条目上),您必须获得该切面类型的 use 权限。
切面类型分为系统切面类型和自定义切面类型。系统切面类型由 Dataplex Universal Catalog 创建,自定义切面类型由您或您的组织创建。系统切面类型进一步分为可用和只读。如需了解详情,请参阅切面类型的类别。
下表列出了对自定义和系统切面类型执行操作所需的权限:
| 操作 | 自定义切面类型所需的权限 | 可用系统切面类型所需的权限 | 只读系统切面类型所需的权限 |
|---|---|---|---|
| 创建切面类型 | dataplex.aspectTypes.create |
不适用 | 不适用 |
| 删除切面类型 | dataplex.aspectTypes.delete |
不适用 | 不适用 |
| 获取切面类型 | dataplex.aspectTypes.get |
授予 allUsers |
授予 allUsers |
| 列出切面类型 | dataplex.aspectTypes.list |
不适用 (N/A) | 不适用 |
| 在创建或更新条目时设置可选的切面类型值 |
|
|
不适用 |
| 在创建或更新条目时设置必需的切面类型值 |
|
|
不适用 |
| 更新切面类型 | dataplex.aspectTypes.update |
不适用 | 不适用 |
条目组
如需创建和管理条目组,您必须获得标准 create、get、list、update 和 delete 权限。
条目组分为系统条目组(由 Dataplex Universal Catalog 创建)和自定义条目组(由您或您的组织创建)。如需了解详情,请参阅条目组类别。
下表列出了对条目组执行操作所需的权限:
| 操作 | 自定义条目组所需的权限 | 系统条目组(以 @ 开头)所需的权限 |
|---|---|---|
| 创建条目组 | dataplex.entryGroups.create |
不适用 |
| 删除条目组 | dataplex.entryGroups.delete |
不适用 |
| 获取条目组 | dataplex.entryGroups.get |
dataplex.entryGroups.get |
| 列出条目组 | dataplex.entryGroups.list |
dataplex.entryGroups.list |
| 更新条目组 | dataplex.entryGroups.update |
不适用 |
条目数
如需创建和管理条目,您必须获得标准 create、get、list、update 和 delete 权限。
请注意以下几点:
- 对于查找 (
LookupEntry) 和搜索 (SearchEntries) 方法,必须从原始来源系统获得条目的权限。例如,如果数据源是 BigQuery 表,您需要拥有bigquery.tables.get权限才能查看元数据,以及拥有bigquery.tables.getData权限才能查看数据切面。 - 如果没有查看数据切面的权限,条目仍会显示,但数据切面的内容会被隐藏。
- 创建条目或更新条目的顶级字段时,您必须获得对条目类型的
use权限。 - 创建、更新或删除必需的切面时,您必须获得对条目的条目类型以及底层切面类型的
use权限。这是因为必需的切面由条目类型强制执行。 - 创建、更新或删除可选切面时,您必须获得切面的切面类型的
use权限。 - 更新或插入条目(
allow_missing = True的UpdateEntry)时,您必须获得create权限。
如需详细了解条目所基于的条目类型,请参阅条目类型的类别。
下表列出了对条目执行操作所需的权限:
| 操作 | 基于自定义条目类型的条目 | 基于可用系统条目类型的条目 | 基于只读系统条目类型的条目 |
|---|---|---|---|
| 创建条目 |
|
|
不适用 |
| 获取条目 |
如需查看数据切面,还需要 |
如需查看数据切面,还需要 |
如需查看数据切面,还需要 |
| 列出条目 | dataplex.entries.list |
dataplex.entries.list |
dataplex.entries.list |
| 查找条目 |
需要源系统的元数据读取权限。您需要拥有从源系统读取数据的权限,才能查看数据切面。 对于将 Dataplex Universal Catalog 视为来源系统的自定义条目,这些权限分别为 |
需要源系统的元数据读取权限。您需要拥有从源系统读取数据的权限,才能查看数据切面。 对于将 Dataplex Universal Catalog 视为来源系统的自定义条目,这些权限分别为 |
需要源系统的元数据读取权限。您需要拥有从源系统读取数据的权限,才能查看数据切面。 对于将 Dataplex Universal Catalog 视为来源系统的自定义条目,这些权限分别为 |
| 搜索条目 |
原始来源系统的读取权限。 对于自定义条目,此权限为 |
原始来源系统的读取权限。 对于自定义条目,此权限为 |
原始来源系统的读取权限。 对于自定义条目,此权限为 |
| 更新条目 |
|
|
无法修改顶级字段和必需的切面。 |
元数据作业权限
| 操作 | IAM 权限 |
|---|---|
| 访问从元数据导出作业导出的结果 |
|
| 取消元数据作业 |
|
| 创建元数据导出作业 |
|
| 创建元数据导入作业 |
|
| 获取元数据作业 |
|
| 列出元数据作业 |
|
系统切面类型和条目类型
每个系统定义的切面类型和系统定义的条目类型都有自己的 IAM 权限。这些权限采用 dataplex.entryGroups.useASPECT_TYPE 或 dataplex.entryGroups.useENTRY_TYPE 等格式。例如,overview 系统切面类型的权限为 dataplex.entryGroups.useOverviewAspect。
下表列出了适用于系统定义的切面类型和条目类型的权限。
| 资源 | IAM 权限 |
|---|---|
contacts(系统切面类型) |
dataplex.entryGroups.useContactsAspect |
data-profile(系统切面类型) |
dataplex.entryGroups.useDataProfileAspect |
data-quality-scorecard(系统切面类型) |
dataplex.entryGroups.useDataQualityScorecardAspect |
generic(系统切面类型) |
dataplex.entryGroups.useGenericAspect |
generic(系统条目类型) |
dataplex.entryGroups.useGenericEntry |
overview(系统切面类型) |
dataplex.entryGroups.useOverviewAspect |
schema(系统切面类型) |
dataplex.entryGroups.useSchemaAspect |
数据湖、区域和资产权限
下表列出了对数据湖、区域和资产执行操作所需的权限:
| API 方法 | IAM 权限 |
|---|---|
| CreateAsset | dataplex.assets.create |
| CreateLake | dataplex.lakes.create |
| CreateZone | dataplex.zones.create |
| DeleteAsset | dataplex.assets.delete |
| DeleteLake | dataplex.lakes.delete |
| DeleteZone | dataplex.zones.delete |
| GetAsset | dataplex.assets.get |
| GetLake | dataplex.lakes.get |
| GetZone | dataplex.zones.get |
| ListAssetActions | dataplex.assetActions.list |
| ListAssets | dataplex.assets.list |
| ListLakeActions | dataplex.lakeActions.list |
| ListLakes | dataplex.lakes.list |
| ListZoneActions | dataplex.zoneActions.list |
| ListZones | dataplex.zones.list |
| UpdateAsset | dataplex.assets.update |
| UpdateLake | dataplex.lakes.update |
| UpdateZone | dataplex.zones.update |
任务权限
下表列出了对任务执行操作所需的权限:
| API 方法 | IAM 权限 |
|---|---|
| CancelJob | dataplex.tasks.cancel |
| CreateTask | dataplex.tasks.create |
| DeleteTask | dataplex.tasks.delete |
| GetJob | dataplex.tasks.get |
| GetTask | dataplex.tasks.get |
| ListJobs | dataplex.tasks.get |
| ListTasks | dataplex.tasks.list |
| UpdateTask | dataplex.tasks.update |
环境权限
下表列出了对环境执行操作所需的权限:
| API 方法 | IAM 权限 |
|---|---|
| CreateContent | dataplex.content.create |
| CreateEnvironment | dataplex.environments.create |
| DeleteContent | dataplex.content.delete |
| DeleteEnvironment | dataplex.environments.delete |
| GetContent | dataplex.content.get |
| GetEnvironment | dataplex.environments.get |
| ListContent | dataplex.content.list |
| ListEnvironments | dataplex.environments.list |
| ListSessions | dataplex.environments.get |
| UpdateContent | dataplex.content.update |
| UpdateEnvironment | dataplex.environments.update |
元数据权限
下表列出了对实体和分区执行操作所需的权限:
| API 方法 | IAM 权限 |
|---|---|
| CreateEntity | dataplex.entities.create |
| CreatePartition | dataplex.partitions.create |
| DeleteEntity | dataplex.entities.delete |
| DeletePartition | dataplex.partitions.delete |
| GetEntity | dataplex.entities.get |
| GetPartition | dataplex.partitions.get |
| ListEntities | dataplex.entities.list |
| ListPartitions | dataplex.partitions.list |
数据扫描权限
下表列出了对数据扫描执行操作所需的权限:
| API 方法 | IAM 权限 |
|---|---|
| CreateDataScan | dataplex.datascans.create |
| DeleteDataScan | dataplex.datascans.delete |
| GetDataScan(基本视图) | dataplex.datascans.get |
| GetDataScan(完整视图) | dataplex.datascans.getData |
| GetDataScanJob(基本视图) | dataplex.datascans.get |
| GetDataScanJob(完整视图) | dataplex.datascans.getData |
| ListDataScanJobs | dataplex.datascans.get |
| ListDataScans | dataplex.datascans.list |
| RunDataScan | dataplex.datascans.run |
| UpdateDataScan | dataplex.datascans.update |