Azure を使用した SAML の設定
本文書では、Azure Entra ID を SSO アイデンティティプロバイダーとして使用し、Dify エンタープライズ版で SAML 認証プロトコルを有効化する方法を説明します。この機能を有効化することで、エンタープライズログインページは統一されたアイデンティティ認証エントリを使用してセキュリティを強化します。企業内部ユーザーにとって、複雑なパスワードを入力する必要がなく、組織アカウントを使用してログインし認証を通過でき、ログインプロセスを簡素化します。
1. Azure で新しいアプリケーションを作成
Azure 管理者バックエンドページにアクセスし、Applications ページに移動して、New application をクリックします。
Create your own application を選択し、アプリケーション名(例:dify)を入力してから、Integrate any other application you don’t find in the gallery (Non-gallery) を選択し、Create をクリックします。
次に、このアプリケーションに可視メンバーを割り当てる必要があります。認可された Azure メンバーのみが Dify エンタープライズにログインできます。アプリケーションの左側で Users and groups を選択し、Add user/group をクリックします。
2. アプリケーションを設定
アプリケーション左側の Manage 下の Single sign-on オプションをクリックし、SAML オプションを選択します。
SAML 設定を編集し、Entity ID と Reply URL フィールドに Dify エンタープライズの ACS URL を入力します。
管理バックエンド → アイデンティティ認証 → メンバー認証 → SSO アイデンティティプロバイダー → New Identity Provider → New SAML Provider をクリックし、底部で Callback URL を取得します。
通常、以下の形式になります:
管理バックエンド → アイデンティティ認証 → メンバー認証 → SSO アイデンティティプロバイダー → New Identity Provider → New SAML Provider をクリックし、底部で Callback URL を取得します。
通常、以下の形式になります:
管理バックエンド → アイデンティティ認証 → メンバー認証 → SSO アイデンティティプロバイダー → New Identity Provider → New SAML Provider をクリックし、底部で Callback URL を取得します。
通常、以下の形式になります:
管理バックエンド → アイデンティティ認証 → Web App 外部ユーザー認証 → SSO アイデンティティプロバイダー → New Identity Provider → New SAML Provider をクリックし、底部で Callback URL を取得します。
通常、以下の形式になります:
ACS URL を取得後、Azure アプリケーションページに戻り、SAML Certificates タブで Certificate をダウンロードし、同時に setup ページの Login URL をコピーします。次に、これら2つのパラメータを Dify エンタープライズ管理バックエンドに入力する必要があります。
高度な設定:属性とクレームの編集
- Required claim 下の Unique User Identifier (Name ID) をクリックします。
- ソース属性を
user.mail
に変更します。
3. Dify エンタープライズバックエンドの設定を完了
システム管理者は Dify エンタープライズの Authentication ページをクリックし、”+ New Identity Provider → New SAML Provider” をクリックします。
- IdP SSO URL 欄に Azure アプリケーションの Login URL を入力
- X509 Signing Certificate 欄にダウンロードした Certificate ファイルの内容を入力
4. SSO 強制認証を有効化
SSO Provider 設定完了後、“Workspaces SSO” または “WebApp SSO” 右側のスイッチボタンをクリックして、チームの SSO 認証を有効化します。有効化後、組織のメンバーは Dify エンタープライズのリソースにアクセスする前にアイデンティティ認証を完了する必要があります。