使用 IAM 管理存取權

本文說明如何使用 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 專案時,原始專案建立者會獲得擁有者 (roles/owner) 角色。當您啟用 API 來執行特定工作時,可能會有其他 Google 代管的服務帳戶,或系統會建立這類帳戶。不過,其他個別使用者無法存取專案及其資源,包括 Knowledge Catalog 資源。只有在您明確將使用者新增為專案成員,或授予特定資源的角色時,才會授予這項存取權。

IAM 可讓您對特定 Google Cloud資源授予精細的存取權,避免未經授權者存取其他資源。IAM 採用最小權限原則,可確保您僅授予使用者必要的資源存取權限。

您可以透過 IAM 控管「哪些人」(主體) 具備「哪些」資源的「何種存取權」(角色)。

主體

主體可以是 Google 帳戶 (適用於使用者)、服務帳戶 (適用於應用程式和虛擬機器)、Google 群組,或是 Google Workspace 或 Cloud Identity 網域。這些主體可以存取資源。授予角色時,您會使用 ID 來識別主體,如「政策繫結參考資料」所述。

詳情請參閱「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 服務代理 (roles/dataplex.serviceAgent) 角色,才能管理 Knowledge Catalog 資源。啟用 API 時,系統會自動授予這個角色。如果撤銷這個角色,Knowledge Catalog 可能無法正常運作。

如果 Knowledge Catalog 需要存取其他專案中的資源 (例如您要連結為資產或掃描資料剖析檔的 Cloud Storage bucket 或 BigQuery 資料集),您必須在包含這些資源的專案中,授予這個服務代理必要權限。

如要進一步瞭解如何將附加資產的權限授予服務代理,請參閱「管理資料資產」。

如要進一步瞭解如何將資料剖析權限授予服務代理,請參閱「建立及使用資料剖析掃描」。

資料掃描的執行身分

根據預設,Knowledge Catalog 會使用服務代理執行資料品質和資料剖析掃描作業。不過,您可以選擇覆寫這項行為,並使用自訂服務帳戶或自己的使用者憑證 (EUC) 執行掃描。

如果您為掃描作業的執行身分指定自訂服務帳戶,服務代理必須具備目標服務帳戶的服務帳戶權杖建立者 (roles/iam.serviceAccountTokenCreator) 角色 (或 iam.serviceAccounts.getAccessToken 權限),才能模擬該帳戶並執行工作。詳情請參閱資料品質和資料剖析的執行身分說明文件。

資源

在 Knowledge Catalog 中,您可以授予存取權的資源包括專案、項目群組、項目、項目連結、切面類型、項目類型和項目連結類型。

部分 API 方法需要多項資源的權限。舉例來說,如要將切面附加至項目,您必須同時具備該項目和切面類型的權限。

角色

角色是一組權限,可決定主體能對資源執行哪些作業。授予角色之後,主體就會取得該角色具備的所有權限。

您可以將一或多個角色授予主體。

與其他 Google Cloud 產品類似,Knowledge Catalog 支援三種角色:

  • 基本角色:IAM 推出前就存在的角色 (擁有者、編輯者、檢視者),權限相當寬鬆。如要進一步瞭解基本角色,請參閱「基本角色」。

  • 預先定義的角色:提供特定 Google Cloud資源的精細存取權。如要進一步瞭解預先定義的角色,請參閱「預先定義的角色」。Knowledge Catalog IAM 角色說明文件詳細說明 Knowledge Catalog 預先定義的角色。

  • 自訂角色:只授予特定必要權限,協助您落實最小權限原則。如要進一步瞭解自訂角色,請參閱「自訂角色」。

舉例來說,Dataplex 檢視者 (roles/dataplex.viewer) 預先定義的角色提供 Knowledge Catalog 資源的唯讀存取權。具備這個角色的主體可以查看項目群組、項目、項目連結、切面類型、項目類型和項目連結類型,但無法建立、更新或刪除這些項目。相反地,Dataplex 管理員 (roles/dataplex.admin) 則授予管理 Knowledge Catalog 資源的廣泛權限。

如要進一步瞭解如何指派角色,請參閱「授予、變更及撤銷存取權」。

如要判斷特定工作需要哪些權限,請參閱 Knowledge Catalog 角色和 Knowledge Catalog 權限的參考頁面。

舉例來說,您可以將專案資源的 Dataplex 管理員 (roles/dataplex.admin) 角色指派給 Google 帳戶。該帳戶可以管理專案中的 Knowledge Catalog 資源,但無法管理其他資源。您也可以使用 IAM 管理授予專案團隊成員的基本角色。

資源的 IAM 政策

除了在專案層級管理角色,您也可以透過 IAM 政策管理資源的 IAM 角色。這可讓您靈活套用最小權限原則,僅授予協作者工作所需的特定資源存取權。

資源會繼承父項資源的政策。如果在專案層級設定政策,所有子項資源都會繼承該政策。有效的資源政策是由該項資源設有的政策與繼承自階層中較高層級的政策共同組成。詳情請參閱「IAM 政策階層」。

您可以使用 Google Cloud 控制台、Identity and Access Management API 或 gcloud CLI,取得及設定 IAM 政策。

後續步驟