Skip to main content
Forge Secret Manager を使用すると、サーバーレスキャパシティ上のサンドボックス内で API トークンなどの認証情報を利用できるようになります。アプリケーションからシークレット名を Sandboxes API に渡すと、API はサンドボックスの作成時に Forge チームから値を取得し、環境変数として注入します。

始める前に

Forge のシークレット注入を使用するには、Forge APIキーで認証されたサンドボックスが必要です。この機能はサーバーレスのサンドボックスで利用できますが、お客様自身の CoreWeave Kubernetes Service (CKS) クラスター上のサンドボックスでは利用できません。CKS への配置では CoreWeave API アクセストークンを使用します。このトークンと別途用意した Forge APIキーを組み合わせて、CKS サンドボックスのシークレットを解決することはできません。 例を実行するには、以下が必要です。
  • サーバーレスサンドボックスへのアクセス権を持つ Forge の SaaS (Software as a Service) アカウント。
  • Forge チームの Secret Manager に登録された HF_TOKEN という名前のシークレット。このシークレットが存在しない場合は、Forge の管理者にシークレットの追加を依頼してください。
  • そのチームへのアクセス権を持つ Forge APIキー。
サンドボックスを作成するプロセスの環境で FORGE_API_KEY を設定します。[FORGE-API-KEY] はお使いの Forge APIキーに置き換えてください。
FORGE_TEAM を設定しない場合、各例では APIキーのデフォルトのチームが使用されます。シークレットが別のチームに属している場合は、FORGE_TEAM にそのチームを設定してください。[FORGE-TEAM] はチーム名に置き換えてください。
例では、これらの変数をクライアントに明示的に渡しています。SDK は FORGE_API_KEY や FORGE_TEAM を自動的には検出しません。 使用する言語に対応したクライアントをインストールします。
Python 3.11 以降を使用し、必要に応じて uv をインストールします。Python 環境にクライアントをインストールします。

シークレットを注入する

Python では store="wandb"、TypeScript では store: "wandb" を使用します。このストアは、認証済みの Forge チームのシークレットを解決します。この手順では、組織のシークレットストアを登録する必要はありません。 以下のサンプルでは、HF_TOKEN を注入し、値を出力せずに存在を確認します。サンドボックス内では、環境変数名はデフォルトでシークレット名になります。
Forge のAPIキーと、必要に応じてチームを AuthHeaders で渡します。
どちらのサンプルも Secret is available を出力し、操作が完了するとサンドボックスを停止します。サンドボックス内で実行されるコードは、HF_TOKEN から値を読み取れます。 secrets には、シークレットの値ではなく名を渡してください。サーバーが値を解決します。値を出力したり、ログに書き込んだりしないでください。

シークレット参照フィールド

Python の Secret または TypeScript の secrets エントリで、次のフィールドを使用します:

カスタム環境変数名を使用する

シークレットを受け取る環境変数を指定するには、Python では env_var、TypeScript では envVar を設定します。次の例では、HF_TOKEN シークレットを HUGGINGFACE_TOKEN として公開します。
どちらの例も、HUGGINGFACE_TOKEN が存在することを確認してから Secret is available を出力します。

構造化されたシークレットからフィールドを選択する

JSON オブジェクトから値を 1 つ注入するには、field にそのトップレベルキーを設定します。ネストされたパスはサポートされません。JSON string の場合、注入される値には JSON の引用符は付きません。 この例では、{"password":"[DB-PASSWORD]"} のような JSON オブジェクトを値とする、DB_CREDENTIALS という名のチームシークレットを追加します。シークレットを保存する前に、[DB-PASSWORD] をパスワードに置き換えてください。以下のサンプルでは、その password フィールドを DB_PASSWORD に注入します。
どちらのサンプルも、パスワードを出力せずに Secret is available を出力します。シークレットが JSON オブジェクトでない場合、キーが存在しない場合、またはその値が null の場合、フィールドの選択は失敗します。

シークレット参照の再利用

Python セッションの場合、共有シークレット参照を SandboxDefaults に配置します。TypeScript の場合は、サンドボックスを作成するときに secrets 配列を再利用します:
Python クライアントは、セッションのデフォルトをサンドボックスごとの secrets とマージし、完全に同一のものは無視します。異なる参照が同じ環境変数をターゲットにする場合、クライアントはサンドボックスを作成する前に ValueError を送出します。Python のタイプシグネチャについては、Secret reference を参照してください。

シークレット注入のトラブルシューティング

シークレット参照を指定したサンドボックスが起動しない場合は、エラーテキストに基づいて認証、選択したチーム、配置を確認します。 CoreWeave API アクセストークンと Forge APIキーの両方を設定した場合も含め、CKS 配置では Forge シークレット注入を利用できません。
最終更新日 2026年10月15日