> ## Documentation Index
> Fetch the complete documentation index at: https://novita.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# セキュアアクセス

export const SandboxConfigHint = () => {
  if (typeof document === "undefined") {
    return null;
  } else {
    return <Note>Before running the example code in this document, please ensure you have properly configured environment variables. For details, please refer to <a href="/docs/ja/guides/sandbox-your-first-agent-sandbox#configure-environment-variables">Configure Environment Variables</a>.</Note>;
  }
};

セキュアアクセスは、SDK とサンドボックスコントローラー間の通信に認証を提供します。

サンドボックスコントローラーは各サンドボックス内で実行され、ファイルシステム操作、コマンド実行、その他のサンドボックス制御機能を含む、SDK が使用する管理インターフェイスを公開します。セキュアアクセスが無効になっている場合、サンドボックス ID を保持しているだけでこれらのインターフェイスを呼び出せるため、環境内からサンドボックスを不正に制御できる可能性があります。

<Note>
  SDK バージョン `v2.0.0` 以降では、サンドボックスが作成されるたびにセキュアアクセスが自動的に有効になります。古いカスタムテンプレートではこれがサポートされていない場合があり、その場合は再ビルドが必要になることがあります。
</Note>

<SandboxConfigHint />

## 移行パス

`v0.2.0` より前の envd で作成されたカスタムテンプレートでは、テンプレートを再ビルドした後にのみセキュアアクセスを利用できます。
サンドボックス作成時に一時的にセキュアアクセスを無効にするには、`secure` を `false` に設定できますが、セキュリティリスクがあるため、本番環境でセキュアアクセスを無効にすることは推奨されません。

テンプレート `Envd version` を確認するには、`novita-sandbox-cli template list` を使用してください。ダッシュボードでテンプレートを確認することもできます。

## サポートされているバージョン

envd `v0.2.0` 以降のテンプレートから作成されたサンドボックスは、追加設定なしでセキュアアクセスをサポートします。

JavaScript および Python SDK では、`v1.5.0` 以降、セキュアアクセスをオプション設定として利用できました。
SDK `v2.0.0` 以降では、サンドボックスはデフォルトでセキュアアクセスが有効な状態でプロビジョニングされます。

## サンドボックス API に直接アクセスする

SDK のいずれかを使用せずにサンドボックスとやり取りする場合、サンドボックスコントローラー URL に直接リクエストを送信できます。
セキュアアクセスで実行されているサンドボックスでは、直接 API リクエストは、作成時に生成されたアクセストークンが含まれている場合にのみ受け付けられます。SDK を使用する場合、セキュアアクセスは自動的に処理されます。`X-Access-Token` は、SDK を使用せずにサンドボックスコントローラー API を直接呼び出す場合にのみ必要です。

すべての直接サンドボックスコントローラーリクエストでは、このトークンを `X-Access-Token` ヘッダーに含めてください。

URL による [Upload](/docs/ja/guides/sandbox-filesystem-upload#upload-with-pre-signed-url) および [download](/docs/ja/guides/sandbox-filesystem-download#download-with-pre-signed-url) 操作には、pre-signed URLs が必要です。これらの生成には SDK の使用を推奨します。

## セキュアアクセスを無効にする

セキュアアクセスを無効にすることは、サンドボックスをセキュリティリスクにさらす可能性があるため推奨されません。

<CodeGroup>
  ```js JavaScript & TypeScript icon="js" theme={"system"}
  import { Sandbox } from 'novita-sandbox/code-interpreter'

  const sandbox = await Sandbox.create({ secure: false }) // Explicitly disable
  ```

  ```python Python icon="python" theme={"system"}
  from novita_sandbox.code_interpreter import Sandbox

  sandbox = Sandbox.create(secure=False)  # Explicitly disable
  ```
</CodeGroup>
