@@ -7,107 +7,124 @@ dimensions:
77standard_title : Third-Party Signature Verification
88language : ja
99title : サードパーティ署名検証用のプラグイン署名
10- description : このドキュメントでは、 Dify Community Editionでサードパーティ署名検証機能を有効化して使用する方法について説明します。キーペアの生成、プラグインの署名と検証、環境設定の手順を含み、管理者がDify Marketplaceで入手できないプラグインを安全にインストールできるようにします。
10+ description : Dify Community Editionで署名検証を完全に無効化することなく、署名付き`.difypkg`のインストールを有効にします(鍵の生成、パッケージの署名、公開鍵の配布)
1111---
1212
1313<Note > ⚠️ このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、[ 英語版] ( /en/develop-plugin/publishing/standards/third-party-signature-verification ) を参照してください。</Note >
1414
15- ---
16- title:
17- ---
18-
19- <Warning >この機能はDify Community Editionでのみ利用可能です。サードパーティ署名検証は現在Dify Cloud Editionではサポートされていません。</Warning >
15+ <Warning >
16+ サードパーティ署名検証は** Dify Community Edition** の機能です。Dify Cloudは署名を一元管理しており、これらの制御は公開されていません。
17+ </Warning >
2018
21- サードパーティ署名検証により、Dify管理者は署名検証を完全に無効化することなく、Dify Marketplaceに掲載されていないプラグインのインストールを安全に承認できます。これは例えば以下のシナリオをサポートします:
19+ セルフホストのDifyはデフォルトで署名検証を強制します。 サードパーティ署名検証により、管理者は検証を完全に無効化することなく、マーケットプレイスにないプラグインを安全にインストールできます。
2220
23- * Dify管理者は、開発者から送信されたプラグインを承認後、署名を追加できます。
24- * プラグイン開発者は、自分のプラグインに署名を追加し、署名検証を無効化できないDify管理者向けに公開鍵と一緒に公開できます。
21+ 2つのシナリオ:
2522
26- Dify管理者とプラグイン開発者の両方が、事前に生成されたキーペアを使用してプラグインに署名を追加できます。さらに、管理者はプラグインのインストール時に特定の公開鍵を使用した署名検証を強制するようにDifyを設定できます。
23+ <CardGroup cols = { 2 } >
24+ <Card title = " 管理者が承認したプラグインに署名する" icon = " user-shield" >
25+ 管理者は信頼できる開発者からの` .difypkg ` をレビューし、インストール前に自分の鍵で署名します。
26+ </Card >
27+ <Card title = " 開発者が署名済みプラグインを配布する" icon = " key" >
28+ 開発者が` .difypkg ` に署名し、対応する公開鍵を公開します。その開発者を信頼する管理者は、その公開鍵を検証リストに追加します。
29+ </Card >
30+ </CardGroup >
2731
28- ## 署名と検証用のキーペア生成
32+ どちらの場合も仕組みは同じです:キーペアを生成し、秘密鍵で署名し、公開鍵で検証します。
2933
30- プラグインの署名を追加および検証するための新しいキーペアを以下のコマンドで生成します:
34+ ## キーペアの生成
3135
3236``` bash
3337dify signature generate -f your_key_pair
3438```
3539
36- このコマンドを実行すると、現在のディレクトリに2つのファイルが生成されます:
37-
38- * ** 秘密鍵** : ` your_key_pair.private.pem `
39- * ** 公開鍵** : ` your_key_pair.public.pem `
40-
41- 秘密鍵はプラグインの署名に使用し、公開鍵はプラグインの署名検証に使用します。
42-
43- <Warning >秘密鍵は安全に保管してください。漏洩した場合、攻撃者が任意のプラグインに有効な署名を追加でき、Difyのセキュリティが侵害される可能性があります。</Warning >
44-
45- ## プラグインへの署名追加と検証
46-
47- 以下のコマンドを実行してプラグインに署名を追加します。** 署名するプラグインファイル** と** 秘密鍵** を指定する必要があることに注意してください:
48-
49- ``` bash
50- dify signature sign your_plugin_project.difypkg -p your_key_pair.private.pem
51- ```
52-
53- コマンドを実行すると、同じディレクトリに元のファイル名に` signed ` が追加された新しいプラグインファイルが生成されます:` your_plugin_project.signed.difypkg `
54-
55- このコマンドを使用して、プラグインが正しく署名されていることを検証できます。ここでは、** 署名済みプラグインファイル** と** 公開鍵** を指定する必要があります:
56-
57- ``` bash
58- dify signature verify your_plugin_project.signed.difypkg -p your_key_pair.public.pem
59- ```
60-
61- <Info >公開鍵引数を省略した場合、検証にはDify Marketplace公開鍵が使用されます。その場合、Dify Marketplaceからダウンロードされていないプラグインファイルでは署名検証が失敗します。</Info >
62-
63- ## サードパーティ署名検証の有効化
64-
65- Dify管理者は、プラグインをインストールする前に、事前承認された公開鍵を使用した署名検証を強制できます。
66-
67- ### 公開鍵の配置
68-
69- 署名に使用した秘密鍵に対応する** 公開鍵** を、プラグインデーモンがアクセスできる場所に配置します。
70-
71- 例えば、` docker/volumes/plugin_daemon ` の下に` public_keys ` ディレクトリを作成し、公開鍵ファイルをそこにコピーします:
72-
73- ``` bash
74- mkdir docker/volumes/plugin_daemon/public_keys
75- cp your_key_pair.public.pem docker/volumes/plugin_daemon/public_keys
76- ```
77-
78- ### 環境変数の設定
79-
80- ` plugin_daemon ` コンテナで、以下の環境変数を設定します:
81-
82- * ` THIRD_PARTY_SIGNATURE_VERIFICATION_ENABLED `
83- * サードパーティ署名検証を有効にします。
84- * 機能を有効にするには` true ` に設定します。
85- * ` THIRD_PARTY_SIGNATURE_VERIFICATION_PUBLIC_KEYS `
86- * 署名検証に使用する公開鍵ファイルのパスを指定します。
87- * カンマで区切って複数の公開鍵ファイルをリストできます。
88-
89- 以下は、これらの変数を設定するDocker Composeオーバーライドファイル(` docker-compose.override.yaml ` )の例です:
90-
91- ``` yaml
92- services :
93- plugin_daemon :
94- environment :
95- FORCE_VERIFYING_SIGNATURE : true
96- THIRD_PARTY_SIGNATURE_VERIFICATION_ENABLED : true
97- THIRD_PARTY_SIGNATURE_VERIFICATION_PUBLIC_KEYS : /app/storage/public_keys/your_key_pair.public.pem
98- ` ` `
99-
100- <Info>` docker/volumes/plugin_daemon`は`plugin_daemon`コンテナ内の`/app/storage`にマウントされることに注意してください。`THIRD_PARTY_SIGNATURE_VERIFICATION_PUBLIC_KEYS`で指定するパスがコンテナ内のパスに対応していることを確認してください。</Info>
101-
102- これらの変更を適用するには、Difyサービスを再起動します:
103-
104- ` ` ` bash
105- cd docker
106- docker compose down
107- docker compose up -d
108- ` ` `
109-
110- サービスを再起動すると、現在のCommunity Edition環境でサードパーティ署名検証機能が有効になります。
40+ 現在のディレクトリに2つのファイルが生成されます:
41+
42+ | ファイル | 用途 |
43+ | :--- | :--- |
44+ | ` your_key_pair.private.pem ` | プラグインの署名(秘密にする) |
45+ | ` your_key_pair.public.pem ` | 署名の検証(公開する) |
46+
47+ <Warning >
48+ 秘密鍵を保護してください。秘密鍵を持つ人は誰でも、あなたの公開鍵を信頼するインストール環境で検証に合格するプラグインに署名できます。
49+ </Warning >
50+
51+ ## プラグインの署名と検証
52+
53+ <Steps >
54+ <Step title = " パッケージに署名する" >
55+ ``` bash
56+ dify signature sign your_plugin_project.difypkg -p your_key_pair.private.pem
57+ ```
58+
59+ 同じディレクトリに` your_plugin_project.signed.difypkg ` が生成されます。
60+ </Step >
61+ <Step title = " 署名済みパッケージを検証する" >
62+ ``` bash
63+ dify signature verify your_plugin_project.signed.difypkg -p your_key_pair.public.pem
64+ ```
65+
66+ 配布またはインストール前に署名が一致することを確認します。
67+ </Step >
68+ </Steps >
69+
70+ <Info >
71+ ` -p ` を省略した場合、` dify signature verify ` はDify Marketplace公開鍵に対して検証します。Difyによって署名されていないプラグインは、そのモードでは検証に失敗します。
72+ </Info >
73+
74+ ## デーモンでの検証の有効化
75+
76+ 管理者は、信頼する公開鍵のリストをプラグインデーモンに提供することで、署名済みプラグインをインストールします。
77+
78+ <Steps >
79+ <Step title = " 公開鍵を配置する" >
80+ ` .public.pem ` ファイルをデーモンコンテナがアクセスできる場所に配置します。Docker Composeインストールの場合:
81+
82+ ``` bash
83+ mkdir -p docker/volumes/plugin_daemon/public_keys
84+ cp your_key_pair.public.pem docker/volumes/plugin_daemon/public_keys/
85+ ```
86+ </Step >
87+ <Step title = " デーモン環境を設定する" >
88+ ` plugin_daemon ` サービスで以下の変数を設定します:
89+
90+ | 変数 | 値 |
91+ | :--- | :--- |
92+ | ` FORCE_VERIFYING_SIGNATURE ` | ` true ` |
93+ | ` THIRD_PARTY_SIGNATURE_VERIFICATION_ENABLED ` | ` true ` |
94+ | ` THIRD_PARTY_SIGNATURE_VERIFICATION_PUBLIC_KEYS ` | コンテナ内の公開鍵へのカンマ区切りパス |
95+
96+ ` docker-compose.override.yaml ` のスニペット:
97+
98+ ``` yaml
99+ services :
100+ plugin_daemon :
101+ environment :
102+ FORCE_VERIFYING_SIGNATURE : true
103+ THIRD_PARTY_SIGNATURE_VERIFICATION_ENABLED : true
104+ THIRD_PARTY_SIGNATURE_VERIFICATION_PUBLIC_KEYS : /app/storage/public_keys/your_key_pair.public.pem
105+ ` ` `
106+
107+ <Note>
108+ ` docker/volumes/plugin_daemon`はコンテナ内の`/app/storage`にマウントされるため、`THIRD_PARTY_SIGNATURE_VERIFICATION_PUBLIC_KEYS`のパスはコンテナ内パスを使用する必要があります。
109+ </Note>
110+ </Step>
111+ <Step title="Difyを再起動する">
112+ ` ` ` bash
113+ cd docker
114+ docker compose down
115+ docker compose up -d
116+ ` ` `
117+
118+ 検証付きインストールが強制されます:設定された公開鍵に一致する署名済み`.difypkg`ファイルは正常にインストールされ、未署名または不一致のものは拒否されます。
119+ </Step>
120+ </Steps>
121+
122+ # # 関連リソース
123+
124+ - [ローカルファイルとしてパッケージ化して共有](/ja/develop-plugin/publishing/marketplace-listing/release-by-file)
125+ - [個人GitHubリポジトリに公開](/ja/develop-plugin/publishing/marketplace-listing/release-to-individual-github-repo)
126+ - [プラグイン開発ガイドライン](/ja/develop-plugin/publishing/standards/contributor-covenant-code-of-conduct)
127+ - [公開FAQ](/ja/develop-plugin/publishing/faq/faq)
111128
112129{/*
113130Contributing Section
0 commit comments