注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
Foundry の Compute Module は「ゼロトラスト」セキュリティモデルに基づいて動作し、最大限の分離とセキュリティを確保します。デフォルトでは、他の Foundry サービスへのアクセスを含め、外部ネットワークへのアクセスは一切ありません。この厳格な分離は、安全な環境を維持するうえで不可欠です。
Compute Module で外部ネットワークへのアクセスを有効にするには、Data Connection アプリケーションでソースを明示的に設定する必要があります。ソースには、外部システムへのアクセスに必要な資格情報を安全に保存し、Compute Module で使用することもできます。以降のセクションでは、ネットワークポリシーと資格情報をパッケージ化する手段として、Compute Module 内でソースを使用するプロセスの概要を説明します。
Data Connection アプリケーションでソースを作成し、必要なネットワークポリシーとシークレットをアタッチします。
次の設定になっていることを確認してください。


Compute Module で、設定 > ソース > ソースを追加を選択します。

Compute Module が起動すると、ソースの資格情報が JSON としてファイルにマウントされます。このファイルのパスは SOURCE_CREDENTIALS 環境変数に格納されます。これらの資格情報にアクセスするには、次の手順を実行します。
SOURCE_CREDENTIALS 環境変数が指すファイルを読み込みます。REST ソースなど、一部のソースでは、指定するシークレット名の前に additionalSecret 接頭辞が必要です(例:additionalSecretMySecretName)。
Copied!1 2 3 4 5 6 7 8import json import os with open(os.environ['SOURCE_CREDENTIALS'], 'r') as f: credentials = json.load(f) # 特定のシークレットにアクセスします(REST ソースを使用する場合、シークレットには接頭辞 'additionalSecret' が付きます) secret = credentials["<Source API Name>"]["<Secret Name>"]
Copied!1 2 3 4const credentials = require(process.env.SOURCE_CREDENTIALS); // 特定のシークレットにアクセスします(REST ソースを使用する場合、シークレットには接頭辞 'additionalSecret' が付きます) const secret = credentials["<Source API Name>"]["<Secret Name>"];
接続 URL を含むソース設定の詳細には、SOURCE_CONFIGURATIONS_PATH 環境変数を通じてアクセスすることもできます。
Copied!1 2 3 4 5 6 7 8 9import json import os with open(os.environ['SOURCE_CONFIGURATIONS_PATH'], 'r') as f: credentials = json.load(f) # 特定のシークレットにアクセスします secrets = credentials["secrets"] url = credentials["httpConnectionConfig"]["url"]
Copied!1 2 3const credentials = require(process.env.SOURCE_CONFIGURATIONS_PATH); const url = credentials["httpConnectionConfig"]["url"];
Compute Module SDK ↗ を使用すると、このプロセスを簡略化できます。詳細については、以下のセクションを参照してください。
Compute Module SDK ↗ は、Python でソースとその資格情報にアクセスするための簡略化されたインターフェースを提供します。環境変数の読み込みや JSON のパースを手動で行う代わりに、SDK を使用してソース、シークレット、HTTPS 接続を直接取得できます。
SDK を使用するには、sources extra をインストールし、compute_modules.sources_v2 モジュールから get_source をインポートします。
Copied!1pip install foundry-compute-modules[sources]
次に、ソースのAPI名を渡します。
Copied!1 2 3 4 5 6 7 8 9 10 11 12 13 14from compute_modules.sources_v2 import get_source from external_systems.sources import Source source: Source = get_source("<SOURCE_API_NAME>") # シークレットを取得する secret = source.get_secret("<SECRET_NAME>") # HTTPS リクエストを送信する https_connection = source.get_https_connection() client = https_connection.get_client() url = https_connection.url response = client.get(url).text
get_source 関数は、次のメソッドを持つ Source オブジェクトを返します。
get_secret("<SECRET_NAME>"): ソースから特定のシークレットを名前で取得します。get_https_connection(): ソースのネットワークポリシーと資格情報で設定された HTTPS 接続オブジェクトを返します。接続の get_client() を使用して HTTP クライアントを取得し、url を使用してベース URL を取得します。Compute Module のソースを追加または削除するには、まず Compute Module を停止する必要があります。Compute Module が実行中の場合、ソースを追加または削除することはできません。また、ソースのネットワークポリシーの変更を適用するには、Compute Module を完全に再起動する必要があります。資格情報の変更は、Compute Module のローリングアップグレード時に反映されます。