データ接続と統合Iceberg tablesIcebergストレージのアーキテクチャと設定BYOBストレージのセットアップ

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

Iceberg テーブル用の bring-your-own-bucket ストレージを設定する

このガイドでは、Foundry の Iceberg テーブルで使用する顧客管理のストレージバケットを設定する方法を説明します。これらの手順が必要なのは、bring-your-own-bucket(BYOB)ストレージを使用する場合のみです。Foundry 管理のストレージを使用する場合、追加の設定は不要です。

Foundry は、AWS(S3)、Azure(ADLS)、Google(GCS)での BYOB ストレージに対応しています。

ステップ1:ストレージバケットを作成する

ストレージバケットをプロビジョニングします。可能であれば、Foundry インスタンスと同じリージョンに作成してください。これは必須ではありませんが、最適なパフォーマンスを得るために推奨されます。

Foundry からの接続を許可するため、ストレージアカウントに適切なネットワークアクセスを設定します。

AWS S3

  1. S3 バケットをプロビジョニングします。

  2. S3 バケットと、その暗号化に使用する KMS キーに対して、次の権限を持つ IAM ロールを作成します。

    権限リソース
    s3:DeleteObjectS3 バケット
    s3:GetObjectS3 バケット
    s3:ListBucketS3 バケット
    s3:PutObjectS3 バケット
    kms:DecryptKMS キー
    kms:EncryptKMS キー
    kms:GenerateDataKeyKMS キー
    sts:GetFederationToken—
  3. 作成したロールを引き受けることができる IAM ユーザーまたは OIDC IDプロバイダーを作成します。Data Connection ソースを設定する際に、IAM ユーザーの資格情報または OIDC プロバイダーのトークンを使用します。対応している認証方式の詳細については、S3 ソースのドキュメントを参照してください。

Foundry エンロールメントと同じリージョンでホストされる S3 バケットを設定するには、追加の設定が必要です。Control Panel のネットワークのエグレスで、Palantir の VPC エンドポイントからバケットへのトラフィックを明示的に許可する必要があります。これらの要件の詳細については、ネットワークエグレスのドキュメントを参照してください。

Azure ABFS

  1. ストレージアカウントとコンテナをプロビジョニングします。

  2. 認証用のクライアント資格情報をプロビジョニングします。対応している認証方式の詳細については、ABFS ソースのドキュメントを参照してください。

    Iceberg BYOB では、dfs.core.windows.net の ADLS エンドポイントを使用するようにソースを設定します。blob.core.windows.net エンドポイントには対応していません。

  3. サービスプリンシパルにストレージの場所へのアクセス権を付与します。

    • データを保存するコンテナで、ストレージ BLOB データ共同作成者 ↗ ロールを割り当てます。
    • サービスプリンシパルがストレージアカウントレベルで少なくとも委任者権限を持っていることを確認してください。Foundry では、コンテナレベルの権限だけでは不十分です。

Google GCS

  1. Google Cloud Storage バケットをプロビジョニングします。

  2. Google Cloud IAM サービスアカウントを作成します。

  3. サービスアカウントにバケットへのアクセス権を付与します。

  4. サービスアカウント用に JSON サービスアカウントキー、または同等の PKCS8 資格情報の値を作成します。BYOB Iceberg ストレージに GCS ソースを使用する場合、これらの認証方法に対応しています。

同じ Google Cloud Storage ソースを BYOB Iceberg ストレージと Lakehouse カタログの両方に使用することはできません。ワークフローごとに別々のソースを作成してください。BYOB ソースはカタログ設定なしで設定し、Lakehouse ソースはカタログを Lakehouse Catalog に設定してください。

ステップ2:Data Connection ソースを作成する

バケットのプロビジョニングが完了したら、Data Connection ソースを作成して、Foundry をストレージに接続します。BYOB 用にソースを設定するには、そのソースの所有者ロールが必要です。所有者ロールがない場合は、ソースの所有者またはプラットフォーム管理者に連絡して、これらの設定を更新してもらってください。詳細については、ソースの権限を参照してください。

BYOB のソースと資格情報には強い権限があるため、管理者専用のプロジェクトに配置するなど、アクセスを制限する設定を行ってください。アクセスを制限すると、資格情報にアクセスできるユーザーが限定され、BYOB Iceberg データへのアクセスを妨げる可能性のある不正な変更を防げます。

バケットを Iceberg テーブルの基盤ストレージとして使用すると、バケットに設定されているすべてのエグレスポリシーが、それらのテーブルにアクセスするワークフローで利用可能になります。これらのワークフロー内でユーザーが記述したコードは、そのポリシーで許可されている宛先へのエグレスが許可されます。

  1. Data Connection で、プロビジョニングした資格情報を使用して、新しいソース(S3、ABFS、または Google Cloud Storage)を作成します。
  2. 任意:ソース URL にベースパスの接頭辞を追加して、Iceberg テーブルのベースパスを指定します(例:s3://bucket-name/base-path/)。ソースにベースパスが指定されていない場合、Foundry は Iceberg のベースパスとして foundry-iceberg を設定します。既存のテーブルへのアクセスを妨げる可能性があるため、ソースを Iceberg ストレージの場所として設定した後は、ベースパスを変更しないでください。
  3. 選択したソースが対応している認証方法を使用します。
    • ADLS と S3 の場合: アクセスキーとシークレットや OIDC を含め、Data Connection が提供するすべての認証方式に対応しています。
    • GCS の場合: JSON 資格情報または PKCS8 認証が、対応している選択肢です。
  4. ソースのこのソースへのエクスポートを有効化設定を有効にします。
  5. コードインポート設定は無効のままにします。Foundry Iceberg では、コードリポジトリから Iceberg テーブルにアクセスする場合でも、ソースでのコードインポートは不要です。
セキュリティ上の考慮事項

ストレージバケットの資格情報を Iceberg クライアントやその他のツールに直接付与しないでください。代わりに、アクセス委任と資格情報の払い出しで説明されているように、Foundry Iceberg カタログを介した資格情報の払い出しを利用して、スコープを限定した有効期間の短いアクセス権を提供してください。

ステップ3:Control Panel でバケットを追加する

Data Connection ソースを作成した後、Control Panel で Iceberg ストレージ設定にバケットを追加します。手順については、ストレージの場所を設定するを参照してください。