⚠️ このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、
英語版 を参照してください。
サードパーティ署名検証はDify Community Editionの機能です。Dify Cloudは署名を一元管理しており、これらの制御は公開されていません。
セルフホストのDifyはデフォルトで署名検証を強制します。サードパーティ署名検証により、管理者は検証を完全に無効化することなく、マーケットプレイスにないプラグインを安全にインストールできます。
2つのシナリオ:
管理者が承認したプラグインに署名する
管理者は信頼できる開発者からの.difypkgをレビューし、インストール前に自分の鍵で署名します。
開発者が署名済みプラグインを配布する
開発者が.difypkgに署名し、対応する公開鍵を公開します。その開発者を信頼する管理者は、その公開鍵を検証リストに追加します。
どちらの場合も仕組みは同じです:キーペアを生成し、秘密鍵で署名し、公開鍵で検証します。
キーペアの生成
dify signature generate -f your_key_pair
現在のディレクトリに2つのファイルが生成されます:
| ファイル | 用途 |
|---|
your_key_pair.private.pem | プラグインの署名(秘密にする) |
your_key_pair.public.pem | 署名の検証(公開する) |
秘密鍵を保護してください。秘密鍵を持つ人は誰でも、あなたの公開鍵を信頼するインストール環境で検証に合格するプラグインに署名できます。
プラグインの署名と検証
パッケージに署名する
dify signature sign your_plugin_project.difypkg -p your_key_pair.private.pem
同じディレクトリにyour_plugin_project.signed.difypkgが生成されます。署名済みパッケージを検証する
dify signature verify your_plugin_project.signed.difypkg -p your_key_pair.public.pem
配布またはインストール前に署名が一致することを確認します。
-pを省略した場合、dify signature verifyはDify Marketplace公開鍵に対して検証します。Difyによって署名されていないプラグインは、そのモードでは検証に失敗します。
デーモンでの検証の有効化
管理者は、信頼する公開鍵のリストをプラグインデーモンに提供することで、署名済みプラグインをインストールします。
公開鍵を配置する
.public.pemファイルをデーモンコンテナがアクセスできる場所に配置します。Docker Composeインストールの場合:mkdir -p docker/volumes/plugin_daemon/public_keys
cp your_key_pair.public.pem docker/volumes/plugin_daemon/public_keys/
デーモン環境を設定する
plugin_daemonサービスで以下の変数を設定します:| 変数 | 値 |
|---|
FORCE_VERIFYING_SIGNATURE | true |
THIRD_PARTY_SIGNATURE_VERIFICATION_ENABLED | true |
THIRD_PARTY_SIGNATURE_VERIFICATION_PUBLIC_KEYS | コンテナ内の公開鍵へのカンマ区切りパス |
docker-compose.override.yamlのスニペット:services:
plugin_daemon:
environment:
FORCE_VERIFYING_SIGNATURE: true
THIRD_PARTY_SIGNATURE_VERIFICATION_ENABLED: true
THIRD_PARTY_SIGNATURE_VERIFICATION_PUBLIC_KEYS: /app/storage/public_keys/your_key_pair.public.pem
docker/volumes/plugin_daemonはコンテナ内の/app/storageにマウントされるため、THIRD_PARTY_SIGNATURE_VERIFICATION_PUBLIC_KEYSのパスはコンテナ内パスを使用する必要があります。
Difyを再起動する
cd docker
docker compose down
docker compose up -d
検証付きインストールが強制されます:設定された公開鍵に一致する署名済み.difypkgファイルは正常にインストールされ、未署名または不一致のものは拒否されます。
関連リソース
Edit this page | Report an issue