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

ローカル開発のセキュリティ上の考慮事項

トランスフォームのプレビュー中にデータがプラットフォームの外部に出ないようにする最善の方法は、VS Code ワークスペース内でプレビューを実行することです。この方法では、データがお使いのマシンに直接送信されることはありません。

特定のサードパーティーのツール、ライブラリ、拡張機能を使用する場合は、VS Code ワークスペースよりもローカル開発が適していることがあります。ローカル開発で Palantir extension for VS Code を使用すると、トランスフォームをプレビューできます。ただし、プレビュー対象のパイプラインのロジックをローカルで実行するために、データセットの一部をユーザーのマシンのシステムメモリーにストリーミングすることにはデータセキュリティ上の影響があるため、ローカルプレビューが一部のユーザーにのみ有効化されている場合があります。

ローカルプレビューを実行するための要件

データセットに対するダウンロード操作権限を持つユーザーは、Foundry API を通じてそのデータセットをエクスポートできます。ダウンロード操作権限は慎重に付与することを推奨します。詳細については、ダウンロード制御の該当セクションを参照してください。トランスフォームのプレビューをローカルで実行するには、すべての入力データセット(インクリメンタル(差分処理)トランスフォームの場合は出力も含む)に対するダウンロード操作権限が必要です。

さらに、プラットフォーム管理者が Control Panel の Code Repositories 設定ページでローカルプレビューを有効にする必要があります。ローカルプレビューは、両方の条件が満たされた場合にのみ実行できます。これにより、ローカルプレビューを使用してユーザーのデータセットに対する権限を昇格させることはできません。

ローカルプレビュー中のデータライフサイクル

プレビュー中、入力データセットはディスクに保存されません。Preview Engine は、Foundry の S3 対応 API を使用して Foundry への S3 接続を設定します。この実装により、ローカルプレビューを実行するたびにイベントが生成され、監査ログで追跡されるため、状況を完全に把握できます。

次に、PySpark(レガシートランスフォームの場合)または Polars(軽量トランスフォームの場合)が、データセットの必要な部分をメモリーにストリーミングします。ストリーミングされるデータの範囲は、選択したコード定義の入力フィルターと、プレビュー対象のパイプラインのロジックによって決まります。プレビュー実行中のキャッシュはすべてシステムメモリー内に保持されます。

プレビューの呼び出しが終了すると、トランスフォームによって書き込まれた出力データセットの最大10000行がキャッシュフォルダーに保存され、VS Code のプレビューテーブルに表示できるようになります。このキャッシュフォルダーの場所は、Palantir 拡張機能の設定にある Palantir > キャッシュ:パスキーで設定できます。

VS Code の設定ページ内にある Palantir のキャッシュ設定。

結果のキャッシュは、Palantir 拡張機能の機能を維持するために必要な最短の期間だけ保持されます。結果のキャッシュは、次のタイミングで削除されます。

  • 新しいプレビュー実行の開始時。
  • ウィンドウの閉じるボタンを選択した場合など、VS Code を正常に終了したとき。
  • VS Code の起動時。

また、コマンドパレットで「ローカルに保存された Python トランスフォームのプレビュー結果をすべて削除」コマンドを呼び出して、キャッシュを手動で削除することもできます。palantir.transforms.datasets.cleanUp 識別子を使用して、このコマンドにキーバインドを割り当てることもできます。

「Palantir:ローカルに保存された Python トランスフォームのプレビュー結果をすべて削除」コマンドが表示された VS Code のコマンドパレット。

リスク評価

上記の安全なストリーミングによるローカルプレビューのデータレジデンシー機能は、偶発的かつ意図しないデータ流出を防ぐことを目的としています。これらの機能は、意図的な悪用を防ぐためのものではなく、防ぐこともできません。

たとえば、プレビュー実行中にユーザーがマシン上の任意のフォルダーに意図的にデータを書き込むことを阻止する仕組みはありません。データセットに対するダウンロード操作権限を持つユーザーには、Foundry の公開データアクセスエンドポイントを使用する場合も、ローカルプレビューを実行する場合も、そのデータセットの取り扱いについて適切に判断することが期待されます。

ローカルプレビューの技術的なセットアップ手順については、ローカル開発でのトランスフォームのプレビューに関するドキュメントを参照してください。