認証情報ベンディングの概要

Lakehouse ランタイム カタログの認証情報ベンダーを使用すると、ストレージ アクセスを委任し、データファイルにきめ細かい権限を適用できます。 Lakehouse for Apache Icebergの一部として、この機能を使用すると、Cloud Storage に保存されているテーブルのテーブルレベルで Identity and Access Management(IAM) ポリシーを管理できます。

gcloud CLI を使用して、これらのポリシーを取得および設定し、リソースへのアクセスを制御できます。

認証情報ベンダーの仕組み

認証情報ベンダーを使用する場合、データが読み取られる前にポリシーが適用されるように、クエリ処理シーケンスが若干変更されます。

  1. リクエスト: ユーザーがサポートされているエンジン(Apache Spark や BigQuery など)に SQL クエリを送信します。
  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)を付与する必要があります。このアカウントにはアクセス権がありません。このアクセス権がないと、提供された認証情報でストレージの読み取りや書き込みを行うことはできません。コンソールを使用している場合は、[Set bucket permissions] をクリックすると、このロールが検証されます。 Google Cloud gcloud CLI、Terraform、API の場合は、このロールを手動で付与する必要があります。
  • クエリエンジン サービス アカウント: クエリエンジン ジョブ(Managed Service for Apache Spark、Managed Service for Apache Spark、 Dataflow など)を実行するサービス アカウントには、BigLake 編集者ロール(roles/biglake.editor)を 使用して、書き込みスコープで提供された認証情報を取得する必要があります。

次のステップ

特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。

最終更新日 2026-07-08 UTC。