メインコンテンツへスキップ
⚠️ このドキュメントは 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署名の検証(公開する)
秘密鍵を保護してください。秘密鍵を持つ人は誰でも、あなたの公開鍵を信頼するインストール環境で検証に合格するプラグインに署名できます。

プラグインの署名と検証

1

パッケージに署名する

dify signature sign your_plugin_project.difypkg -p your_key_pair.private.pem
同じディレクトリにyour_plugin_project.signed.difypkgが生成されます。
2

署名済みパッケージを検証する

dify signature verify your_plugin_project.signed.difypkg -p your_key_pair.public.pem
配布またはインストール前に署名が一致することを確認します。
-pを省略した場合、dify signature verifyはDify Marketplace公開鍵に対して検証します。Difyによって署名されていないプラグインは、そのモードでは検証に失敗します。

デーモンでの検証の有効化

管理者は、信頼する公開鍵のリストをプラグインデーモンに提供することで、署名済みプラグインをインストールします。
1

公開鍵を配置する

.public.pemファイルをデーモンコンテナがアクセスできる場所に配置します。Docker Composeインストールの場合:
mkdir -p docker/volumes/plugin_daemon/public_keys
cp your_key_pair.public.pem docker/volumes/plugin_daemon/public_keys/
2

デーモン環境を設定する

plugin_daemonサービスで以下の変数を設定します:
変数
FORCE_VERIFYING_SIGNATUREtrue
THIRD_PARTY_SIGNATURE_VERIFICATION_ENABLEDtrue
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のパスはコンテナ内パスを使用する必要があります。
3

Difyを再起動する

cd docker
docker compose down
docker compose up -d
検証付きインストールが強制されます:設定された公開鍵に一致する署名済み.difypkgファイルは正常にインストールされ、未署名または不一致のものは拒否されます。

関連リソース


Edit this page | Report an issue