透過 Knowledge Catalog 使用 VPC Service Controls

本文適用對象為資安管理員和資料工程師,說明如何保護 Knowledge Catalog (舊稱 Dataplex Universal Catalog) 服務。說明如何使用 VPC Service Controls 建立 service perimeter,保護 Knowledge Catalog 資源並降低資料竊取風險。詳情請參閱「VPC Service Controls 總覽」。

支援功能

使用 service perimeter 保護 Knowledge Catalog 時,系統支援下列功能:

  • 湖泊:您可以在 perimeter 內建立及管理 Knowledge Catalog 湖泊。

  • 資產:您可以管理 perimeter 內的資產。

  • Catalog 中的中繼資料資源:您可以在 perimeter 內管理中繼資料資源。

  • 中繼資料匯出:您可以將中繼資料匯出至 Dataproc Metastore,但必須額外設定 VPC Service Controls。詳情請參閱「VPC Service Controls」。

  • 資料洞察:您可以執行資料剖析、資料品質和中繼資料洞察掃描。

  • 資料歷程:您可以使用受限的虛擬 IP (VIP) 追蹤資料歷程。

  • Knowledge Catalog 搜尋:您可以使用 SearchEntries API。在受 service perimeter 保護的專案中使用 Knowledge Catalog 搜尋功能時,搜尋結果只會包含相同 perimeter 內的資源。詳情請參閱「搜尋範圍」和「使用 VPC Service Controls 依環境隔離搜尋結果」。

  • 資料產品:您可以使用 VPC Service Controls 保護資料產品,確保資料產品、其組成資料資產 (例如 BigQuery 資料表) 和使用者之間的通訊,都保持在授權範圍內。詳情請參閱「搭配使用 VPC Service Controls 與資料產品」。

Knowledge Catalog 搜尋和 VPC Service Controls

在受 service perimeter 保護的專案中使用 Knowledge Catalog 搜尋功能時,搜尋結果只會包含執行搜尋的專案所屬資源。

如要納入相同 service perimeter 內其他專案的資源,您必須為 Knowledge Catalog 呼叫端專案設定 VPC Service Controls 輸出規則。詳情請參閱「設定輸入和輸出政策」。這些規則允許搜尋結果跨越 perimeter 內的專案邊界。

以下範例顯示輸出政策設定,允許搜尋結果在從 project B 執行搜尋時,包含來自 project A 的 BigQuery 資源:

egressPolicies:
-   egressFrom:
    identityType: ANY_USER_ACCOUNT
  egressTo:
    operations:
    -   serviceName: bigquery.googleapis.com
      methodSelectors:
      -   method: '*'
    resources:
    -   projects/projectA

在 project B 中執行 Knowledge Catalog 搜尋時,Knowledge Catalog 會呼叫 BigQuery API,找出 project A 中的資產。這項政策明確允許 project B 中的任何使用者帳戶對 project A 執行 BigQuery API 呼叫,讓 project A 的 BigQuery 資產顯示在 Knowledge Catalog 搜尋結果中。

限制

您可以在設定 VPC Service Controls 安全邊界前建立 Knowledge Catalog 資源,但這些資源不會受到邊界保護。

VPC Service Controls 的設計可防止 service perimeter 內的資源存取該 perimeter 外部的資料和服務。舉例來說,Knowledge Catalog 資料剖析和資料品質掃描作業無法存取 service perimeter 以外的資料來源,例如 BigQuery 資料表或 Cloud Storage 檔案。同樣地,匯出資料掃描結果時,目的地 BigQuery 資料表必須位於受 perimeter 保護的專案中。如要瞭解如何從 perimeter 外部授予受保護資源的存取權,請參閱「建立存取層級」。

設定 VPC Service Controls

如要使用 VPC Service Controls 保護 Knowledge Catalog 資源,請按照下列步驟操作:

  1. 設定虛擬私有雲網路。
  2. 建立 service perimeter。
  3. 將專案新增至 perimeter。
  4. 將 Dataplex API 新增至 service perimeter。
  5. 選用:建立存取層級。

設定虛擬私有雲網路

您可以設定虛擬私有雲網路,限制與 service perimeter 相關的 Private Google Access。這可確保虛擬私有雲或地端部署網路中的主機,只能與 VPC Service Controls 支援的 Google API 和服務通訊,且通訊方式符合相關 perimeter 的政策。

詳情請參閱「設定連至 Google API 和服務的私人連線」。

建立 service perimeter

建立 service perimeter 時,請選取要由 VPC Service Controls service perimeter 保護的 Knowledge Catalog 專案。

如要建立 service perimeter,請按照「建立 service perimeter」一文的操作說明操作。

將更多專案新增至 service perimeter

如要將現有的 Knowledge Catalog 專案新增至 perimeter,請按照「更新 service perimeter」中的操作說明操作。

將 Dataplex API 新增至 service perimeter

為降低資料從 Knowledge Catalog 遭竊的風險 (例如使用 Dataplex API 方法),您必須限制 Dataplex API。

如要將 Dataplex API 新增為受限制的服務,請按照下列步驟操作:

控制台

  1. 前往 Google Cloud 控制台的「VPC Service Controls」頁面。

    前往 VPC Service Controls

  2. 在「VPC Service Controls」頁面的資料表中,按一下要修改的 service perimeter 名稱。

  3. 按一下「編輯範圍」。

  4. 在「Edit Service Perimeter」(編輯 service perimeter) 頁面中,按一下「Add Services」(新增服務)。

  5. 新增 Dataplex API。

  6. 按一下 [儲存]。

gcloud

  • 使用 gcloud access-context-manager perimeters update 指令:

    gcloud access-context-manager perimeters update PERIMETER_ID \
    --policy=POLICY_ID \
    --add-restricted-services=dataplex.googleapis.com
    

    更改下列內容:

    • PERIMETER_ID:perimeter 的 ID 或完整 ID
    • POLICY_ID:存取權政策的 ID

選用步驟:建立存取層級

如要允許外部存取 perimeter 內受保護的資源,可以使用存取層級。存取層級僅適用於來自 service perimeter 外部的受保護資源存取要求。您無法使用存取層級,授予受保護資源存取 perimeter 外部資料和服務的權限。

詳情請參閱「允許從 perimeter 外存取受保護資源」。

後續步驟