mirror of
https://github.com/langgenius/dify-docs.git
synced 2026-03-28 13:38:36 +07:00
--- title: DifySandbox --- ### はじめに `DifySandbox(ディファイサンドボックス)`は、PythonやNode.jsなど複数のプログラミング言語に対応した、軽量・高速・安全なコード実行環境です。Dify Workflowの様々な要素(コードノード、テンプレート変換ノード、LLMノードのJinja2構文、ツールノードのコードインタプリターなど)の基盤となる実行環境として機能します。DifySandboxは、ユーザーが提供したコードを実行しつつ、システム全体のセキュリティを確保します。 ### 特徴 - **複数言語対応**:DifySandboxはSeccompというシステムレベルのソリューションをベースに構築され、複数のプログラミング言語をサポートしています。現在はPythonとNode.jsに対応しています。 - **システムセキュリティ**:予期せぬセキュリティ侵害を防ぐため、特定のシステムコールのみを許可する許可リストポリシーを採用しています。 - **ファイルシステムの隔離**:ユーザーのコードは独立した隔離されたファイルシステム環境で実行されます。 - **ネットワーク隔離**: - **DockerCompose環境**:専用のSandboxネットワークとプロキシコンテナを使用してネットワークアクセスを提供します。これにより、内部ネットワークのセキュリティを保ちつつ、柔軟なプロキシ設定が可能になります。 - **Kubernetes環境**:Egressポリシーを用いて直接ネットワーク隔離戦略を設定できます。 ### インストール依存関係 DifySandboxプロジェクトをインストールおよび展開する前に、以下の依存関係要件を満たしていることを確認してください: 1. **システム依存関係** Linuxディストリビューションに応じて、以下のコマンドを実行して必要なシステムコンポーネントをインストールします: - Ubuntu/Debian ```bash sudo apt-get update sudo apt-get install pkg-config gcc libseccomp-dev git wget ``` - CentOS ```bash sudo yum install pkgconfig gcc libseccomp-devel git wget ``` 2. **Go言語環境** Go開発環境をインストールします(Go 1.20.6以上を推奨): ```bash # Go 1.20.6をインストール sudo apt-get install -y golang-1.20.6 ``` インストールを確認します: ```bash go version # インストールされたGoバージョンを表示 ``` 3. **Python環境設定** **サンドボックス環境の準備** Python 3.10以上を推奨します。 **事前インストール済み依存関係管理** DifySandboxには以下のPython依存関係があらかじめ設定されています: - `http` - 基本的なネットワークライブラリ - `jinja2` - LLMプロンプト処理用のテンプレートエンジン - `requests` - HTTPクライアントライブラリ **カスタム依存関係の追加** 追加のPython依存関係が必要な場合は、以下の手順に従ってください: 1. プロジェクトのルートディレクトリにある`dependencies/python-requirements.txt`ファイルを見つけます。 2. 必要なパッケージ名とバージョンをファイルに追加します。権限変更が必要な場合は、[FAQ](https://github.com/langgenius/dify-sandbox/blob/main/FAQ)を参照してください。 3. DifySandboxを再構築します。 <Warning> 新しい依存関係を追加すると、追加の権限要件が発生する可能性があります。セキュリティへの影響を慎重に評価してください。潜在的なセキュリティリスクを完全に制御できない場合は、権限設定を変更しないことをお勧めします。 </Warning> ### 貢献 `DifySandbox`の開発に参加する方法については、[貢献ガイド](contribution)をご参照ください。 {/* Contributing Section DO NOT edit this section! It will be automatically generated by the script. */} --- [このページを編集する](https://github.com/langgenius/dify-docs/edit/main/ja-jp/development/backend/sandbox/README.mdx) | [問題を報告する](https://github.com/langgenius/dify-docs/issues/new?template=docs.yml)