Lakehouse 執行階段目錄的憑證販售功能可讓您委派儲存空間存取權,並對資料檔案套用精細權限。這項功能是 Lakehouse for Apache Iceberg 的一部分,可讓您在資料表層級管理 Cloud Storage 中儲存的資料表適用的 Identity and Access Management (IAM) 政策。
您可以使用 gcloud CLI 取得及設定這些政策,控管資源的存取權。
認證臨時配發的運作方式
使用憑證販售時,作業順序會略有變更,以在存取儲存空間前強制執行政策:
- 要求:使用者向支援的引擎提交 SQL 陳述式,例如查詢、DML 或 DDL 作業。例如 Apache Spark 或 BigQuery。
- 中繼資料查詢:引擎會向 Lakehouse 執行階段目錄傳送要求,以解析表格。
- 驗證和政策:目錄會驗證使用者,並檢查使用者在 Google Cloud Lakehouse 資源上的 IAM 權限。
- 回應:由於憑證販售功能已啟用,目錄會將中繼資料和短期儲存空間權杖 (範圍縮減的儲存空間憑證) 傳回引擎。權杖的範圍會限制在與資料表相關聯的路徑,並縮減至最低必要權限 (例如,查詢不需要寫入檔案時,權杖會縮減至唯讀存取權)。
- 存取權:引擎會使用這個權杖,直接從 Cloud Storage 讀取或寫入特定授權檔案。
- 運算:引擎會處理資料或執行作業,並傳回結果。
支援的引擎
如要搭配查詢引擎使用憑證販售功能,必須將 Lakehouse Iceberg REST 目錄設為支援憑證販售功能。
- 開放原始碼引擎:Apache Spark 和 Trino 等支援的引擎會使用目錄提供的短期儲存空間權杖。用戶端應用程式必須在
X-Iceberg-Access-Delegation標頭中指定憑證販售支援。 - BigQuery:BigQuery 會使用 Cloud Storage 存取權的供應憑證,而非使用者憑證。
必要服務帳戶權限
啟用憑證販售功能後,請確認下列服務帳戶具備必要角色:
- 自動佈建的 Lakehouse 執行階段目錄服務帳戶:您必須在所有相關聯的 Cloud Storage bucket 中,將 Storage 物件使用者角色 (
roles/storage.objectUser) 授予這個帳戶。如果沒有這項存取權,供應的憑證就無法讀取或寫入儲存空間。如果您使用Google Cloud 控制台,按一下「設定值區權限」即可驗證這個角色。如果是 gcloud CLI、Terraform 或 API,您必須手動授予這個角色。 - 查詢引擎服務帳戶:執行查詢引擎工作的服務帳戶 (例如 Managed Service for Apache Spark、Managed Service for Apache Spark 或 Dataflow) 必須具備 BigLake 編輯者角色 (
roles/biglake.editor),才能取得具有寫入範圍的販售憑證。
後續步驟
- 瞭解如何在憑證臨時配發模式中建立目錄。
- 瞭解如何使用Google Cloud 控制台,為現有目錄啟用憑證販售功能。
- 瞭解如何設定用戶端應用程式,以提供憑證。