憑證臨時配發總覽

Lakehouse 執行階段目錄的憑證臨時配發功能,可讓您委派儲存空間存取權,並對資料檔案套用精細權限。這項功能是無邊界湖倉的一部分,可讓您在資料表層級管理 Cloud Storage 中儲存資料表的 Identity and Access Management (IAM) 政策。

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

憑證臨時配發的運作方式

使用憑證販售時,作業順序會略有變更,以便在存取儲存空間前強制執行政策。下圖說明查詢引擎如何從目錄取得範圍縮小的儲存空間權杖,以便直接在 Cloud Storage 中安全地讀取及寫入資料:

憑證臨時配發架構圖,說明查詢引擎如何從 Lakehouse 執行階段目錄取得範圍縮小的儲存空間權杖,安全存取 Cloud Storage。
委派 Cloud Storage 存取權的憑證販售工作流程。

上圖顯示的操作順序如下:

  1. 要求:使用者向支援的引擎提交 SQL 陳述式,例如查詢、DML 或 DDL 作業。例如 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 bucket,將 Storage 物件使用者角色 (roles/storage.objectUser) 授予這個帳戶。如果沒有這項存取權,提供的憑證就無法讀取或寫入儲存空間。如果使用Google Cloud 控制台,按一下「Set bucket permissions」(設定 bucket 權限) 即可驗證這個角色。如果使用 gcloud CLI、Terraform 或 API,則必須手動授予這個角色。
  • 查詢引擎服務帳戶:執行查詢引擎工作 (例如 Managed Service for Apache Spark 或 Dataflow) 的服務帳戶,必須具備 BigLake 編輯者角色 (roles/biglake.editor),才能取得具有寫入範圍的供應憑證。

後續步驟