憑證臨時配發總覽

Lakehouse 執行階段目錄的憑證販售功能可讓您委派儲存空間存取權,並對資料檔案套用精細的權限。這項功能是 Lakehouse for Apache Iceberg 的一部分,可讓您在資料表層級管理 Cloud Storage 中儲存的資料表身分與存取權管理 (IAM) 政策。

您可以使用 gcloud CLI 取得及設定這些政策,控管資源的存取權。

認證臨時配發的運作方式

使用憑證販售時,查詢處理順序會略有變更, 以便在讀取資料前強制執行政策:

  1. 要求:使用者將 SQL 查詢提交至支援的引擎 (例如 Apache Spark 或 BigQuery)。
  2. 中繼資料查詢:引擎會傳送要求至 Lakehouse 執行階段目錄,以解析資料表。
  3. 驗證和政策:目錄會驗證使用者身分,並檢查使用者在 Google Cloud Lakehouse 資源上的 IAM 權限。
  4. 回應:由於憑證販售功能已啟用,目錄會將中繼資料和短期儲存空間權杖 (範圍縮小的儲存空間憑證) 傳回引擎。
  5. 讀取:引擎會使用這個權杖,直接從 Cloud Storage 讀取特定授權檔案。
  6. 運算:引擎會處理資料並傳回結果。

支援的引擎

如要搭配查詢引擎使用憑證販售功能,必須將 Lakehouse Iceberg REST 目錄設為支援憑證販售。

  • 開放原始碼引擎:支援的引擎 (例如 Apache Spark 和 Trino) 會使用目錄提供的短期儲存空間權杖。用戶端應用程式必須在 X-Iceberg-Access-Delegation 標頭中指定憑證販售支援功能。
  • BigQuery:BigQuery 會使用 Cloud Storage 存取權的供應憑證,而非使用者憑證。

必要服務帳戶權限

啟用憑證販售功能後,請確保下列服務帳戶具備必要角色:

  • 自動佈建的 Lakehouse 執行階段目錄服務帳戶:必須在目標 Cloud Storage 值區上明確授予「Storage 物件使用者」角色 (roles/storage.objectUser)。根據預設,這個服務帳戶建立時只具備檢視者存取權。如果沒有物件管理員存取權,供應的憑證就無法執行儲存空間寫入作業。(注意:如果透過控制台 UI 設定,按一下「設定 bucket 權限」會驗證這個角色。如果是 gcloud、Terraform 或 API 設定,則必須手動授予這個角色)。
  • 查詢引擎服務帳戶:執行查詢引擎作業 (例如 Managed Service for Apache Spark、Managed Service for Apache Spark 或 Dataflow) 的服務帳戶,必須在專案層級具備 BigLake 編輯者角色 (roles/biglake.editor),才能取得具有寫入範圍的販售憑證。

後續步驟