Dify APIキー運用ガイド:権限分離・ローテーション・監査ログの実践チェックリスト【2026年版】

Dify APIキー運用ガイド:権限分離・ローテーション・監査ログの実践チェックリスト【2026年版】

Dify APIを本番運用に載せると、最初に詰まりやすいのがAPIキーの扱いです。2026年版のDify公式ドキュメントでは、アプリごとにAPI Accessから複数の認証情報を作成でき、APIキーはフロントエンドに置かずバックエンドから呼ぶことが強く推奨されています。加えて、workspace roloneでのOwner/Admin権限がModel providerキーの管理を左右する仕様が明確化されました。この記事では、その前提を踏まえて権限分離・ローテーション・監査ログをどう設計するかを、開発リーダー向けの実践チェックリストに整理します。

Dify APIキー運用で最初に決めるべきことは何ですか?

最初に決めるべきなのは、1アプリ1用途・複数キー発行を徹底することです。Difyの公式ドキュメントでは、アプリのAPI Accessから複数キーを発行でき、環境やユーザーごとに分ける運用が案内されています。実務では少なくとも「本番」「ステージング」「検証」の3系統に分け、同じキーを複数システムで共有しない形にすると、漏えい時の影響範囲を限定できます。また、Model providerキーはworkspace全体にアクセス権を与える仕様なため、Owners/Adminsだけが管理し、アプリ単位のAPI認証情報と分離することが重要です。

あわせてAPIの呼び出し元も固定します。DifyのAPIベースURLはドキュメント上で https://api.dify.ai/v1 が既定値として示されており、クライアントから直接叩くのではなく、自社バックエンドやAPI Gateway経由で集約するほうが安全です。Dify公式も『APIキーはフロントエンドやクライアント側に公開せず、必ずバックエンドから呼ぶべき』と明示しています。これだけでキーの露出、利用量のばらつき、利用者追跡不能という3つの事故をかなり減らせます。

権限分離はDifyだけで完結させるべきですか?

結論から言うと、Dify内の設定だけに依存しないほうが安全です。Difyにはワークスペースのロール管理(Owner・Admin・Editor・Member)やアプリ単位のAPIキー発行がありますが、現場ではそれに加えて「誰が」「どのシステムから」「何の用途で」呼んだのかを外側でも判別できる設計が必要です。たとえば社内管理画面、顧客向けWebアプリ、Slack Botで別キーを持たせると、停止や差し替えを部分的に実行できます。

おすすめは、DifyキーをSecrets ManagerやCloudflare/Vercelの環境変数に保存し、アプリ側では短命トークンやサーバー内設定から参照する構成です。Dify公式もAPIキーをクライアント側に共有・保存しないよう明示しており、フロント配布型の実装は避けるべきです。権限分離の単位は「環境」「チャネル」「顧客区分」の3軸で設計すると運用しやすくなります。注:API conversations created through the API are isolated from WebApp conversations という仕様があるため、API側とUI側で会話履歴が分かれることに留意が必要です。

→ Dify運用ルールの整備やAI導入研修を進めたい場合は、 HelloCraftAIへご相談ください

APIキーのローテーションは何日単位で回すべきですか?

万能の正解はありませんが、チーム運用なら30日〜90日を基準にし、担当者退職・外部委託終了・漏えい疑いの3条件では即時ローテーションを走らせるのが現実的です。Difyは複数キーを作成できるので、新キー発行→接続先切替→旧キー無効化の順で進めれば、停止時間を短くできます。

ここで重要なのは、キーを替える作業を人手のメモにしないことです。台帳には「キー用途」「保管場所」「最終更新日」「次回更新予定日」「無効化担当者」を残します。環境別(本番・ステージング)にスプレッドシートで管理し、更新時には社内通知を自動化するのがおすすめです。さらにDifyの会話アプリでは『API経由とWebApp経由で conversation_id が共有されない』という仕様があるため、運用確認時はチャネル別に接続先を見分けやすくしておくと、切替テストが楽になります。

監査ログはDifyのどこを見ればよいですか?

監査は1か所では足りません。Dify公式docsには、web appもAPI経由も含めたすべての会話が「完全な入出力履歴・タイミングデータ・システムメタデータ」と共に記録される仕様が説明されています。Logsコンソールでは「タイムライン」「詳細」「パフォーマンスデータ」「ユーザーフィードバック」を確認できます。ただし「どの社内担当者が本番キーを閲覧したか」「どのIPから呼び出したか」「どのModel providerキーが使われたか」までは記録されないため、外部ログが必須です。

Dify Logsには機密情報が含まれるため、プライバシーと透過性のバランスが重要です。実運用では (1) Difyの会話・フィードバックログ、(2) 自社API Gatewayのアクセスログ、(3) Model provider管理ログ(Owner/Admin操作)の3層で保存するのが実践的です。特にModel providerキーは同じ認証情報でworkspace全体のモデルアクセスを制御するため、Owners/Adminsが誰で、いつキーを更新・削除したかを明確に追跡できる構成にしておくべきです。

2026年版の実践チェックリストはどう組めばよいですか?

最短で効くのは次の5点です。① アプリごとAPIキーを環境別に分離し、Model providerキーは別管理にする。② Dify APIは必ずバックエンド経由にする。③ 30日〜90日でローテーション予定を持つ。④ LogsとGatewayログ・Model provider操作ログを同じチケット番号で追えるようにする。⑤ 障害時に5分以内で旧キーを止められる手順書を作る。これで『誰も止め方を知らない』『どのキーが本番か不明』という事故を防げます。

特にBtoB導入では、PoC段階の雑なキー運用を本番まで持ち込まないことが重要です。Difyは立ち上がりが速いぶん、最初の成功体験で設計を後回しにしがちです。公開アプリ数や接続チャネルが3つを超えた時点で、Dify内権限設定とは別に、自社セキュリティポリシーに基づいたサプライチェーン設計を進めるほうが、あとで楽になります。

よくある質問:Dify APIキー運用で迷いやすい点は?

Q. 1つのAPIキーを複数顧客で共有してもよいですか?
A. おすすめしません。顧客別、少なくともチャネル別に分けたほうが障害切り分けと停止判断が速くなります。

Q. フロントエンドから直接Dify APIを呼んでもよいですか?
A. 公式が『API keys はフロントエンドやクライアント側に公開してはいけない』と明示しており、必ずサーバー側に閉じ込めてください。

Q. 監査ログはDifyだけで十分ですか?
A. 不十分です。Logsコンソールに加え、API Gateway・認証基盤・Model provider管理操作ログも保存して初めて説明責任を果たせます。

→ DifyのAPI設計、社内向けガードレール、AI活用研修までまとめて見直したい方は、 お問い合わせはこちら