注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Code Workspaces では、ソースを使用して、Foundry プラットフォームの外部にあるシステムと Python で連携できます。
ソースを使用すると、シークレットの保存とアクセス、複数のエグレスポリシーの一括設定、プラットフォーム全体のコードでの使用状況の監視、データのエクスポート制御の管理などを行えます。コードワークスペース内から外部システムに Foundry データを送信できるため、Foundry データでソースを使用する場合は、セキュリティに関する追加の考慮事項を検討する必要があります。
CBAC が有効な環境を除き、対話型ワークフローやアプリケーションの公開で外部システムと連携する際の推奨方法は、ネットワークエグレスポリシーからソースに変わりました。Code Workspace から公開されたトランスフォームでは、ソースはまだサポートされていません。
Jupyter または RStudio® ワークスペースで外部システムと連携するには、まず Data Connection アプリケーションでソースを作成し、API名を入力して、ソースをコードリポジトリにインポートできるようにする設定を有効にします。ソースをワークスペースに追加し、ワークスペースを1回再起動すると、Palantir の external-systems Python ライブラリを使用してソースと連携できるようになります。
Jupyter ワークスペースでソースを使用するには、containers-external-systems-python ライブラリがインストールされていることを確認してください。次に、以下のコードから始めて、外部システムのサイドパネルにあるコードスニペットを使用してソースと連携します。
Copied!1 2 3from containers_external_systems_python import get_source my_source = get_source("SourceApiName")
Jupyter ワークスペースでソースから資格情報を取得するには、次の方法を使用します。
Copied!1some_secret: str = my_source.get_secret("secretName")

RStudio® ワークスペースでソースを使用するには、containers-external-systems-python ライブラリが reticulate および python とともにインストールされていることを確認してください。次に、以下の例のように、提供されているコードスニペットを R で使用します(reticulate を使用して Python の構文を R に適合させます)。
Copied!1 2 3 4 5 6 7 8library(reticulate) source <- import("containers_external_systems_python")$get_source("SourceApiName") https_connection <- source$get_https_connection() client <- https_connection$get_client() response <- client$get(https_connection$url, timeout=10) response$ok
RStudio® ワークスペースでソースから資格情報を取得するには、次の方法を使用します。
Copied!1some_secret <- source$get_secret("secretName)
ソースを必要とするアプリケーション(たとえば Streamlit)を公開する場合は、アプリケーションの「詳細」設定にそのソースを含める必要があります。ユーザーは、含まれるすべてのソースへのアクセス権がなければ、アプリケーションを開くことができません。

エクスポートが有効なソースをインポートすると、ワークスペースのセキュリティに関する追加のチェックが実施されます。特に重要なのは、ソースのエクスポート可能なマーキングリストに含まれていないマーキングが付いたデータセットは、同じワークスペースでそのソースと併用できないということです。
たとえば、病院 A という名前の電子健康記録システムのソースがある場合、病院 A の患者データというマーキングが付いたデータのエクスポートに、そのソースを使用することが許可されているかもしれません。しかし、病院 B の患者データというマーキングが付いたデータセットもワークスペースに読み込まれているとします。病院 A のソースも使用している場合、チェックがなければ、許可されていない病院 B の患者データを病院 A の外部システムにエクスポートできてしまいます。Code Workspaces は、ワークスペースの起動時に、ワークスペースリネージとも呼ばれるワークスペース全体のレベルでこれらのチェックを実施します。つまり、互換性のないソースとデータセットには、ワークスペース内で同時にアクセスできません。
エクスポート可能なマーキングリストが強制適用されているソースをワークスペースに読み込んだ状態で、エクスポートできないマーキングが付いたデータセットを追加すると、ワークスペースはそのデータセットへのアクセスをブロックします。たとえば、Dataset.get() はエラーをスローします。
互換性のないソースとデータセットを含むワークスペースを初期化または再起動すると、競合が解消されるまでソースまたはデータセットのいずれかを削除するよう求めるダイアログが表示されます。その後、この競合を解消するには、Checkpoint を使用せずにワークスペースを再起動する必要があります。
