本文档提供了 Knowledge Catalog 资源的 Identity and Access Management (IAM) 权限参考。您可以使用这些权限创建自定义角色,或验证元数据管理、数据扫描、数据湖操作、任务和环境所需的精细访问权限。
权限和角色
您不能直接授予用户权限。不过,您可以向其授予角色,角色本身会具有一项或多项权限。这种方法符合最小权限原则,可促使您仅授予用户或服务账号执行任务所需的必要访问权限。
IAM 为常见使用场景提供预定义角色。如果这些预定义角色无法满足您的特定需求,您可以创建自己的自定义角色,其中仅包含所需的特定权限。
如需详细了解预定义的 Knowledge Catalog 角色及其具有的权限,请参阅 Knowledge 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 |
元数据管理权限
对条目类型、条目链接类型、切面类型、条目组、条目和条目链接执行操作所需的权限集取决于资源是系统资源还是自定义资源。系统资源由 Knowledge Catalog 定义,自定义资源由您或您的组织定义。
如需为条目和条目链接添加更多信息,您可以附加切面。
如需执行与多个资源相关的操作(例如,创建特定条目类型的条目,或向条目或条目链接添加特定切面类型的切面),您可能需要拥有与这些资源关联的多种权限。
条目类型
如需创建和管理条目类型,您必须至少获得标准 create、get、list、update 和 delete 权限。
创建条目类型时,您必须获得使用您希望针对该条目类型将其标记为必需的每个切面类型的权限。
如需使用条目类型(例如,创建条目类型的条目),您必须获得该条目类型的 use 权限。
下表列出了对条目类型执行操作所需的权限:
| 操作 | IAM 权限 |
|---|---|
Create entry types |
|
Delete entry types |
|
Get entry types |
dataplex.entryTypes.get |
List entry types |
dataplex.entryTypes.list |
Update entry types |
|
|
使用条目类型 (创建条目、更新顶级条目字段和必需的切面类型值时) |
|
切面类型
如需创建和管理切面类型,您必须获得标准 create、get、list、update 和 delete 权限。
如需使用切面类型(例如,将其作为可选切面附加到条目上,或更新条目链接上的必需切面),您必须获得该切面类型的 use 权限。
切面类型分为系统切面类型和自定义切面类型。系统切面类型由 Knowledge Catalog 创建,自定义切面类型由您或您的组织创建。系统切面类型进一步分为可用和只读。如需了解详情,请参阅切面类型的类别。
下表列出了对自定义和系统切面类型执行操作所需的权限:
| 操作 | 自定义切面类型所需的权限 | 可用系统切面类型所需的权限 | 只读系统切面类型所需的权限 |
|---|---|---|---|
Create aspect types |
dataplex.aspectTypes.create |
不适用 | 不适用 |
Delete aspect types |
dataplex.aspectTypes.delete |
不适用 | 不适用 |
Get aspect types |
dataplex.aspectTypes.get |
授予 allUsers |
授予 allUsers |
List aspect types |
dataplex.aspectTypes.list |
不适用 | 不适用 |
| 在创建或更新条目时设置可选的切面类型值 |
|
|
不适用 |
| 在创建或更新条目时设置必需的切面类型值 |
|
|
不适用 |
Update aspect types |
dataplex.aspectTypes.update |
不适用 | 不适用 |
| 在创建或更新条目链接时设置必需的切面类型值 | 不适用 |
|
不适用 |
条目组
如需创建和管理条目组,您必须获得标准 create、get、list、update 和 delete 权限。
条目组分为系统条目组(由 Knowledge Catalog 创建)和自定义条目组(由您或您的组织创建)。如需了解详情,请参阅条目组类别。
下表列出了对条目组执行操作所需的权限:
| 操作 | 自定义条目组所需的权限 | 系统条目组(以 @ 开头)所需的权限 |
|---|---|---|
Create entry groups |
dataplex.entryGroups.create |
不适用 |
Delete entry groups |
dataplex.entryGroups.delete |
不适用 |
Get entry groups |
dataplex.entryGroups.get |
dataplex.entryGroups.get |
List entry groups |
dataplex.entryGroups.list |
dataplex.entryGroups.list |
Update entry groups |
dataplex.entryGroups.update |
不适用 |
条目数
如需创建和管理条目,您必须获得标准 create、get、list、update 和 delete 权限。
请注意以下几点:
- 对于查找 (
<code>LookupEntry</code>) 和搜索 (<code>SearchEntries</code>) 方法,必须从原始来源系统获得条目的权限。例如,如果数据源是 BigQuery 表,您需要拥有bigquery.tables.get权限才能查看元数据,以及拥有bigquery.tables.getData权限才能查看数据切面。 - 如果没有查看数据切面的权限,条目仍会显示,但数据切面的内容会被隐藏。
- 创建条目或更新条目的顶级字段时,您必须获得对条目类型的
use权限。 - 创建或更新必需的切面时,您必须获得对条目的条目类型以及底层切面类型的
use权限。这是因为必需的切面由条目类型强制执行。 - 创建、更新或删除可选切面时,您必须获得切面的切面类型的
use权限。 - 更新或插入条目(
<code>allow_missing = True</code>的<code>UpdateEntry</code>)时,您必须获得create权限。
如需详细了解条目所基于的条目类型,请参阅条目类型的类别。
下表列出了对条目执行操作所需的权限:
| 操作 | 基于自定义条目类型的条目 | 基于可用系统条目类型的条目 | 基于只读系统条目类型的条目 |
|---|---|---|---|
Create entries |
|
|
不适用 |
Get entries |
如需查看数据切面,还需要 |
如需查看数据切面,还需要 |
如需查看数据切面,还需要 |
List entries |
dataplex.entries.list |
dataplex.entries.list |
dataplex.entries.list |
Lookup entries |
需要源系统的元数据读取权限。您需要拥有从源系统读取数据的权限,才能查看数据切面。 对于将 Knowledge Catalog 视为来源系统的自定义条目,这些权限分别为 |
需要源系统的元数据读取权限。您需要拥有从源系统读取数据的权限,才能查看数据切面。 对于将 Knowledge Catalog 视为来源系统的自定义条目,这些权限分别为 |
需要源系统的元数据读取权限。您需要拥有从源系统读取数据的权限,才能查看数据切面。 对于将 Knowledge Catalog 视为来源系统的自定义条目,这些权限分别为 |
Search entries |
原始来源系统的读取权限。 对于自定义条目,此权限为 |
原始来源系统的读取权限。 对于自定义条目,此权限为 |
原始来源系统的读取权限。 对于自定义条目,此权限为 |
Update entries |
|
|
无法修改顶级字段和必需的切面。 |
条目链接
如需创建和管理条目链接,您必须在 dataplex.entryLinks 上获得 create、get、list 和 delete 权限。
请注意以下几点:
- 创建条目链接 (
CreateEntryLink) 还需要对条目链接类型拥有权限,以及对要链接的特定条目拥有权限。 - 创建具有必需切面的条目链接时,您需要获得使用相应切面类型的权限。
- 更新或插入条目链接(
allow_missing = True的UpdateEntryLink)时,您还必须拥有CreateEntryLink所需的相同权限。
下表列出了对条目链接执行操作所需的权限:
| 操作 | IAM 权限 |
|---|---|
| 创建条目链接 |
根据条目链接类型所需的权限:
使用条目链接类型的权限:
由条目链接类型指定的任何必需切面的权限:
|
| 删除条目链接 | dataplex.entryLinks.delete(针对条目组) |
| 获取条目链接 |
|
| 查找条目链接 |
需要对要查找条目链接的条目拥有源系统的元数据读取权限。 对于将 Knowledge Catalog 视为来源系统的关联自定义条目,相应权限为 对于关联的系统条目,相应权限是关联条目的源系统的读取权限。 |
| 更新条目链接 |
使用条目链接类型的权限:
由条目链接类型指定的任何必需切面的权限:
如果 |
入口链接方面的限制
将方面与条目链接搭配使用时,存在以下限制。
元数据作业权限
| 操作 | IAM 权限 |
|---|---|
| 访问从元数据导出作业导出的结果 |
|
Cancel metadata jobs |
|
Create metadata export jobs |
|
Create metadata import jobs |
|
Get metadata jobs |
|
List metadata jobs |
|
系统切面类型、条目类型和条目链接类型
每个系统定义的切面类型、系统定义的条目类型和系统定义的条目链接类型都有自己的 IAM 权限。这些权限采用 dataplex.entryGroups.useASPECT_TYPE、dataplex.entryGroups.useENTRY_TYPE 或 dataplex.entryGroups.useENTRY_LINK_TYPE 等格式。例如,overview 系统切面类型的权限为 dataplex.entryGroups.useOverviewAspect。
下表列出了适用于系统定义的切面类型、条目类型和条目链接类型的权限。
| 资源 | IAM 权限 |
|---|---|
contacts(系统切面类型) |
dataplex.entryGroups.useContactsAspect |
data-profile(系统切面类型) |
dataplex.entryGroups.useDataProfileAspect |
data-quality-rule-template(系统切面类型) |
dataplex.entryGroups.useDataQualityRuleTemplateAspect |
data-quality-scorecard(系统切面类型) |
dataplex.entryGroups.useDataQualityScorecardAspect |
data-rules(系统切面类型) |
dataplex.entryGroups.useDataRulesAspect |
generic(系统切面类型) |
dataplex.entryGroups.useGenericAspect |
guidelines(系统切面类型) |
dataplex.entryGroups.useGuidelinesAspect |
overview(系统切面类型) |
dataplex.entryGroups.useOverviewAspect |
schema(系统切面类型) |
dataplex.entryGroups.useSchemaAspect |
schema-join(系统切面类型) |
dataplex.entryGroups.useSchemaJoinAspect |
generic(系统条目类型) |
dataplex.entryGroups.useGenericEntry |
definition(系统条目链接类型) |
dataplex.entryGroups.useDefinitionEntryLink |
related(系统条目链接类型) |
dataplex.entryGroups.useRelatedEntryLink |
synonym(系统条目链接类型) |
dataplex.entryGroups.useSynonymEntryLink |
schema-join(系统条目链接类型) |
dataplex.entryGroups.useSchemaJoinEntryLink |
数据湖、区域和资产权限
下表列出了对数据湖、区域和资产执行操作所需的权限:
| 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 权限 |
|---|---|
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 权限 |
|---|---|
CancelDataScanJob |
dataplex.datascans.cancel |
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 |