本文档介绍了如何使用 Identity and Access Management (IAM) 来管理 Knowledge Catalog(以前称为 Dataplex Universal Catalog)资源的访问权限控制。IAM 可在 Google Cloud 资源级层控制对 Knowledge Catalog 资源的访问权限。借助该功能,您可以使用 Google Cloud 控制台、Google Cloud CLI、客户端库或 API 控制哪些正文可以管理特定资源(例如条目组和条目)。
如需详细了解 IAM,请参阅 IAM 文档。
IAM 概览
当您创建新的 Google Cloud 项目时,系统会向原始项目创建者授予 Owner 角色。启用 API 以执行特定任务时,可能会存在或创建其他 Google 代管式服务账号。不过,其他任何个人用户都无权访问该项目及其资源,包括 Knowledge Catalog 资源。只有在您明确将用户添加为项目成员或向其授予特定资源的相应角色时,才会授予此访问权限。
借助 IAM,您可以授予对特定 Google Cloud资源的精细访问权限,并防止对其他资源进行不必要的访问。借助 IAM,您只需授予对资源的必要访问权限,即可采用最小权限原则安全原则。
借助 IAM,您可以控制哪些正文对哪些资源具有哪些访问权限(角色)。
主账号
主账号可以是 Google 账号(针对最终用户)、服务账号(针对应用和虚拟机)、Google 群组或 Google Workspace 或 Cloud Identity 网域。这些主账号可以访问资源。授予角色时,您可以使用标识符来标识主账号,如政策绑定参考中所述。
如需了解详情,请参阅 IAM 概览:主账号。
服务代理
Knowledge Catalog 使用 Google Cloud 托管式服务账号(即服务代理)来访问您的资源。服务代理是由 Google 管理的服务账号,可让 Google Cloud 服务访问您项目中的资源。这与用户代管式服务账号不同,后者由您创建并用于代表您的应用或工作负载。
启用 Dataplex API 时,系统会创建服务代理。您可以通过服务代理的电子邮件 ID 来识别它:
service-CUSTOMER_PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com
其中,CUSTOMER_PROJECT_NUMBER 是您已在其中启用 Dataplex API 的项目的项目编号。
服务代理需要具有项目的 Dataplex Service Agent (roles/dataplex.serviceAgent) 角色才能管理 Knowledge Catalog 资源。启用该 API 后,系统会自动授予此角色。如果您撤消此角色,Knowledge Catalog 可能无法正常运行。
如果知识目录需要访问其他项目中的资源(例如,您要附加为资产或扫描以获取数据配置的 Cloud Storage 存储分区或 BigQuery 数据集),您必须在包含这些资源的项目中向此服务代理授予所需权限。
如需详细了解如何向服务代理授予附加资产的权限,请参阅管理数据资产。
如需详细了解如何向服务代理授予数据分析权限,请参阅创建和使用数据分析扫描。
数据扫描的执行身份
默认情况下,Knowledge Catalog 使用服务代理运行数据质量和数据分析扫描。不过,您可以选择替换此行为,并使用自定义服务账号或您自己的最终用户凭据 (EUC) 执行扫描。
如果您为扫描的执行身份指定了自定义服务账号,则服务代理需要目标服务账号的 Service Account Token Creator (roles/iam.serviceAccountTokenCreator) 角色(或 iam.serviceAccounts.getAccessToken 权限)才能模拟该服务账号并运行作业。如需了解详情,请参阅数据质量和数据分析的执行身份文档。
资源
在 Knowledge Catalog 中,您可以授予对以下资源的访问权限:项目、条目组、条目、条目链接、切面类型、条目类型和条目链接类型。
某些 API 方法需要多个资源的权限。例如,将切面附加到条目需要同时获得条目和切面类型的权限。
角色
角色是一组权限,用于确定主账号可以对资源执行哪些操作。如果您向某个主账号授予了某个角色,此主账号便拥有了该角色包含的所有权限。
您可以向主账号授予一个或多个角色。
与其他 Google Cloud 产品类似,Knowledge Catalog 支持以下三种类型的角色:
基本角色:在引入 IAM 之前就已存在的高度宽松的角色(Owner、Editor、Viewer)。如需详细了解基本角色,请参阅基本角色。
预定义角色:可提供对特定 Google Cloud资源的精细访问权限。如需详细了解预定义角色,请参阅预定义角色。Knowledge Catalog IAM 角色文档详细介绍了 Knowledge Catalog 预定义角色。
自定义角色:通过仅授予所需的特定权限,帮助您强制执行最小权限原则。如需详细了解自定义角色,请参阅自定义角色。
例如,Dataplex Viewer (roles/dataplex.viewer) 预定义角色提供对 Knowledge Catalog 资源的只读访问权限。具有此角色的主账号可以查看条目组、条目、条目链接、切面类型、条目类型和条目链接类型,但无法创建、更新或删除这些资源。
相反,Dataplex Administrator (roles/dataplex.admin) 授予对 Knowledge Catalog 资源的广泛管理权限。
如需详细了解如何分配角色,请参阅授予、更改和撤销访问权限。
如需确定特定任务所需的权限,请参阅 Knowledge Catalog 角色和 Knowledge Catalog 权限的参考页面。
例如,您可以为 Google 账号分配项目资源的 roles/dataplex.admin 角色。该账号随后便可管理项目中的 Knowledge Catalog 资源,但无法管理其他资源。您还可以使用 IAM 来管理向项目团队成员授予的基本角色。
资源的 IAM 政策
通过 IAM 政策,您可以管理资源的 IAM 角色,用于取代或补充在项目级层管理角色。这样一来,您便可灵活应用最小权限原则,例如,仅向协作者授予其工作所需的特定资源的访问权限。
资源会沿用其父级资源的政策。如果在项目级层设置政策,则项目的所有子资源都会继承该政策。资源的有效政策是为该资源设置的政策及其从层次结构中更高层级沿用而来的政策的集合。如需了解详情,请参阅 IAM 政策层次结构。
您可以使用 Google Cloud 控制台、Identity and Access Management API 或 gcloud CLI 来获取和设置 IAM 政策。
- 对于 Google Cloud 控制台,请参阅使用Google Cloud 控制台进行访问权限控制。
- 对于 API,请参阅使用 API 进行访问控制。
- 对于 gcloud CLI,请参阅使用 gcloud CLI 进行访问权限控制 。
后续步骤
- 详细了解 IAM 角色。
- 详细了解 IAM 权限。
- 详细了解 Knowledge Catalog 安全性