🐈

【Dify Enterprise版】ログイン時の認証機能について

に公開

1. はじめに

現代のDX推進において、適切な認証システムの実装はインフラ構築の前提条件です。
社外アクセスが標準となった現在、ネットワーク境界に依存する旧来のセキュリティモデルでは機能せず、アクセス主体の正当性を担保する認証基盤こそがガバナンスの要となります。
ユーザー数が増加し、業務への浸透が進むことで、このガバナンスの観点を検討する際、まず整理すべきはプラットフォーム自体のログインセキュリティです。
本記事では、開発者や利用者がDifyというシステムそのものへアクセスする際の入口の認証である「利用者管理」に焦点を当てて、Dify Community版における認証システム、Enterprise版における認証システムとその特徴について解説します。

2. Dify Community版の認証システム

DifyのCommunity版(オープンソース版)における認証は、基本的にID/パスワードによる個別認証に基づき、以下の特徴があります。

  • 従来の認証スタイル: サービスごとに個別のIDとパスワードを発行
  • 管理の乖離: 単一のディレクトリに情報を格納することでユーザーとコンピューターの管理を容易にするActive Directory(AD)といったディレクトリサービスとの標準的な直接連携機能なし
  • 境界への依存: Community版でアクセス制限をかけようとすると、IPアドレス制限やVPNなどの「境界」に頼らざるを得ず、ゼロトラスト環境の構築には不向き

Community版の認証における課題と限界

ユーザー数が増加し、業務への浸透が進むにつれ、Community版の認証システムでは運用上の限界が露呈し、以下のような不利益が生じ始めます。

  • 運用コストの肥大化:
    • アカウント管理の煩雑化: 入社、異動、退職のたびに、Dify内のアカウントを手動で更新
    • ヘルプデスクの圧迫: 「パスワードを忘れた」「ログインできない」という問い合わせが頻発し、本来注力すべき業務を阻害
  • セキュリティの懸念:
    • 退職者のアカウント残存: アカウント削除の漏れが発生しやすく、退職者が元従業員として社内データ(ナレッジベースなど)にアクセスし続けるリスクが発生
    • ポリシー強制の不可: 多要素認証(MFA)などの強固なセキュリティポリシーを一律で強制することが困難。また、パスワードの使い回しの懸念も発生

したがって、集中アクセス管理と高度なセキュリティを両立させるためには、Community版の枠を超え、Enterprise版によるSSO(シングルサインオン)認証の導入が必要不可欠です。

3. Dify Enterprise版の認証システム

Community版の課題に対して、Dify Enterprise版ではSSO認証を用いることで対処できます。

SSO認証システム

SSO認証システムとは、単一のアイデンティティプロバイダー(IdP)を介して、複数のアプリケーションへのアクセス権限を一元的に管理する仕組みです。この仕組みの導入により、ログイン時の認証プロセスは以下の通り変化します。

  • 認証プロセスの統合: ユーザーはDify専用のパスワードを覚える必要がなく、既にログイン済みの社内アカウント(IdP)を用いて即座にDifyへアクセス
  • 管理主体の集約: IT管理者は、Dify側で個別にアカウントを操作するのではなく、IdP側で対象ユーザーのグループ権限を調整するだけで、Difyへのアクセス可否を制御

これにより、Community版で問題となっていた「パスワードの使い回し」や「退職者のアカウント消し忘れ」といったガバナンス上の脆弱性が技術的に解消されます。

SSO認証(Azure)のログインフローを示す。

  1. ”SSOを続行する”を押下

  2. MS アカウントを入力

  3. パスワードを入力

  4. 任意で選択

このようにDify専用のパスワードを設定することなく、ログイン可能。

管理者側の設定方法は、こちらの記事で紹介されています。

また、Dify Enterprise版は、標準的な認証プロトコル(SAML 2.0、OIDC、OAuth)に対応しています。これにより、Microsoft Entra ID(旧Azure AD)、Okta、GitHubといった、多くの企業が既に運用しているIdP(Identity Provider)をそのまま利用可能です。

SSO認証で実現できることは多岐に渡り、特にDify Enterprise版のSSO認証では、以下の3点のような特徴的な利点を提供します。

a. SCIMによるプロビジョニング自動化

ドメインをまたいでチームメンバーの入れ替わりを管理できるSCIM(System for Cross-domain Identity Management)ありのSSOにより、アカウント管理の「手動操作」が消滅します。

機能 SCIMなしのSSO SCIMありのSSO(Enterprise)
ユーザ無効化 IdPで削除後、Dify側でも手動削除が必要 IdP側の削除がDifyへ即時同期
管理リスク 消し忘れによる不正アクセスのリスク 消し忘れが構造的に発生しない
運用工数 数百・数千のID管理は不可能に近い 完全に自動化・一元化される

b. セキュリティと利便性の両立

SSOと多要素認証 (MFA)を組み合わせることで、強固なガバナンスと快適なユーザー体験を両立させます。

項目 SSO(のみ) MFA(のみ) SSO + MFA(推奨)
セキュリティ パスワード漏洩に弱い 強固だが管理がバラバラ 非常に強固かつ一元的
利便性 非常に高い 低い(何度も認証が必要) 高い(最初だけ強固に認証)
運用管理 楽(ID一元化) 煩雑(サービス毎に設定) 楽(IdPで一括管理)

c. 外部ユーザーのSSO認証:社外コラボレーションの最適化

Enterprise版では、社内ユーザーだけでなく、クライアントやパートナー企業などの「外部ユーザー」に対しても安全な認証を提供できます。

  • 仕組み: Web Appの公開権限を「認証済み外部ユーザー」に設定することで、特定のIdPで認証されたユーザーのみがアクセス可能
  • メリット: 外部ユーザーにDifyのフルアカウント(ワークスペース権限)を付与することなく、特定のアプリだけを安全に利用
  • 利用ケース: 特定のクライアント企業向けに専用のAIアシスタントを提供し、そのクライアントが自社のEntra IDでログインして使用するといった「B2B提供モデル」を容易に構築

4. まとめ

Dify Enterprise版では、SSO認証を導入することで、Dify Community版の課題である集中アクセス管理と高度なセキュリティを両立させます。特に、ユーザー数が増加し、業務への浸透が進むにつれて、Dify Enterprise版導入のメリットが増大していきます。

参考文献

UPGRADE tech blog

Discussion