海外からのアクセス:www.kdjingpai.com
Ctrl + D このサイトをブックマークする

Difyによるテナント手動作成ガイド:バックエンドデータベースとキー設定の詳細

まえがき: なぜDifyワークスペースを手動で作成する必要があるのですか?

典型的な例だ。Dify ワークスペース(または「テナント」)は、グラフィカル・インターフェースを通じて作成します。しかし、自動デプロイメント、テナントの一括作成、データ移行、フロントエンド・インターフェースのないサーバー環境での管理など、特定のシナリオでは、データベースとコマンドラインからワークスペースを手動で直接作成することが効率的なソリューションになります。

このガイドでは、手動でステップ・バイ・ステップで作成する方法を詳しく説明します。 Dify ワークスペース作業を始める前に、以下のものが揃っていることを確認してください:

  • 右 Dify バックエンドサーバーのファイルシステムには、読み取りと書き込みのパーミッションがあります。
  • アクセス可能 Dify な PostgreSQL データベース
  • システムにインストールされている OpenSSL コマンドラインツール。

ステップ1:データベース・レコードの準備と挿入

新しいワークスペース作成の核となるのは、データベースに2つのキーレコードを追加することである。 tenants テーブルで新しいテナントを定義します。 tenant_account_joins このテーブルは、テナントを既存のアカウントに関連付ける。

1.アクセス account_id

まず、新しいワークスペースのオーナーとなるユーザー・アカウントが必要です。このアカウントのIDである account_idこれは、その後の操作の基礎となるものである。これは accounts テーブルで既存ユーザーのIDを取得する。

例えば、あるユーザーのメールボックスを account_id::

SELECT id FROM accounts WHERE email = 'user@example.com';

問い合わせ内容をメモする UUID フォーマル account_id.

2.テナントと関連記録の挿入

ゲイン account_id その後、以下を実行する。 SQL ステートメントを使用して新しいテナントを作成し、アソシエーションを確立します。ステートメント内のプレースホルダーを実際の値に置き換えてください。

  • tenants メートルワークスペースの基本情報を定義します。
  • tenant_account_joins メートル指定されたアカウントを、このワークスペースの "OWNER" に設定します。
-- 向 tenants 表插入新工作空间记录,将 'My New Workspace' 替换为你的工作空间名称
INSERT INTO tenants (id, name, plan, status, created_at, updated_at) 
VALUES (uuid_generate_v4(), 'My New Workspace', 'professional', 'active', now(), now())
RETURNING id; -- 执行后会返回新生成的 tenant_id,请务必记下它
-- 向 tenant_account_joins 表插入关联记录
-- 将 '<the_tenant_id_from_above>' 替换为上一步返回的 tenant_id
-- 将 '<your_account_id>' 替换为你在 1.1 节获取的 account_id
INSERT INTO tenant_account_joins (tenant_id, account_id, role, created_at, updated_at) 
VALUES ('<the_tenant_id_from_above>', '<your_account_id>', 'owner', now(), now());

第1条の実施 INSERT コマンドを実行すると、データベースは新しく生成された tenant_id.これだ。 ID これは非常に重要なので、必ずコピーして保存しておいてください。

添付資料:データシート構造参照

テナント・テーブル構造

tenant_account_joins テーブル構造

追伸:役割とステータスの説明

テナント・アカウントの役割role)

性格 占める
OWNER すべてのリソースとユーザーを管理する最高権限の所有者。
ADMIN オーナーより少ない権限の管理者。
EDITOR コンテンツ編集権限を持つ編集者。
NORMAL 基本的なアクセス権を持つ一般ユーザー。
DATASET_OPERATOR データセットの管理を専門とするデータセット・オペレーター。

口座状況status)

情勢 列挙値 指示
PENDING 「保留中 アカウントが作成されましたが、認証が完了していません。
UNINITIALIZED "未初期化" アカウントは作成されましたが、初期設定が完了していません。
ACTIVE "アクティブ" アカウントは通常アクティブである。
BANNED "禁止" アカウントは無効。
CLOSED 「クローズド アカウントは閉鎖されました。

ステップ2:RSA鍵ペアの生成

すべてのワークスペースに必要なのは RSA 鍵はデータの暗号化に使われる。これには秘密鍵と公開鍵がある。

1.秘密鍵の生成

以下を実行する。 OpenSSL コマンドを使用して 2048 ローカル RSA 秘密鍵を private.pem ドキュメンテーションgenpkey を渡す最新のコマンドを推奨する。 -algorithm パラメータは、アルゴリズムが RSAそして -pkeyopt キーの長さを設定する。

openssl genpkey -algorithm RSA -out private.pem -pkeyopt rsa_keygen_bits:2048

2.公開鍵の抽出

次に、先ほど生成した秘密鍵から private.pem 対応する公開鍵が抽出され、次の場所に保存される。 public.pem ドキュメンテーションrsa サブコマンド調整 -pubout オプションはこの目的のみに使用される。

openssl rsa -pubout -in private.pem -out public.pem

実行後 private.pem(秘密鍵)と public.pem(公開鍵)の2つのファイル。

ステップ3:公開鍵をデータベースに更新する

見せる public.pem ファイルをコピーして -----BEGIN PUBLIC KEY----- 歌で応える -----END PUBLIC KEY----- の間のコンテンツ全体を更新する。次に、この公開鍵文字列を使って tenants テナントの encrypt_public_key フィールド

以下を実行する。 SQL コマンドを使用する場合は、プレースホルダーを置き換えることを忘れないこと:

-- 将 '<the_tenant_id_from_step_1>' 替换为第一步中记下的 tenant_id
-- 将 '<your_public_key_string>' 替换为你复制的公钥内容
UPDATE tenants 
SET encrypt_public_key = '<your_public_key_string>' 
WHERE id = '<the_tenant_id_from_step_1>';

ステップ4:秘密鍵ファイルの配置

最後のステップは、生成された秘密鍵ファイル private.pem 置く Dify をバックエンドアプリケーションが期待するディレクトリ構造で作成します。Dify それは、テナントの ID 対応する秘密鍵を動的にロードする。

そうしれいかん private.pem ファイルは以下のパスに移動またはコピーされる:

dify/api/privkeys/{tenant_id}/private.pem

を含めてください。 {tenant_id} ステップ1で取得した実際のものと置き換えてください。 tenant_id.もし privkeys で始まるディレクトリに存在しない。 tenant_id という名前のフォルダを手動で作成する必要がある。

セキュリティ上の理由から、秘密鍵ファイルへのアクセス権を設定することを強く推奨する。 Dify サービス利用者はそれを読むことができる:

chmod 600 dify/api/privkeys/{tenant_id}/private.pem

上記の手順をすべて完了すると、新しいワークスペースが正常に作成され、設定されます。

おすすめ

AIツールが見つからない?こちらをお試しください!

キーワードを入力する アクセシビリティこのサイトのAIツールセクションは、このサイトにあるすべてのAIツールを素早く簡単に見つける方法です。

受信箱

お問い合わせ

トップに戻る

ja日本語