本文書では内部ユーザーと外部ユーザーという表現が使用されます。以下のように区別します: 内部ユーザー:Dify エンタープライズ版ワークスペース内で登録されたユーザーまたは管理バックエンドで追加されたユーザー。 外部ユーザー:Dify エンタープライズ版ワークスペースにいないユーザー
1. Okta で新しいアプリケーションを作成
-
Okta の管理者バックエンドページにアクセスし、Applications ページに移動します。Create App Integration ボタンをクリックし、OIDC ログイン方式と Web Application アプリケーションタイプを選択します。
- ページの指示に従ってアプリケーション名を入力し、要件に応じて認可範囲を定義する等の情報を入力します。
Sign-in redirect URIsフィールドには Dify エンタープライズ Callback URL を入力する必要があります。取得方法は下記を参照してください。Sign-out redirect URIsフィールドは空白にしてください。
2. Okta アプリケーションの設定
有効化する必要がある SSO 範囲に応じて、コールバック URL は異なります。システム管理者は、Dify エンタープライズのコールバック URL を対応する Okta の OAuth2 アプリケーション内に入力して、作成プロセスを完了する必要があります。- Workspace
- WebApp Members(内部ユーザー向け)
- WebApp External Users(外部ユーザー向け)
管理バックエンド → アイデンティティ認証 → メンバー認証 → SSO アイデンティティプロバイダー → New Identity Provider → New OIDC Provider をクリックし、一番下に記載のある Callback URL を取得します。通常、以下の形式になります:
- それをOkta App内の Sign-in redirect URIs フィールドに貼り付け、アプリケーションを保存します。
3. OIDC 認証を有効化
3.1 Okta アプリケーションで重要な情報を取得
-
Okta アプリケーションの “General” ページに移動し、以下のフィールドを見つけます:
- Client ID
- Client secret
-
(オプション)Proof Key for Code Exchange (PKCE) → Require PKCE as additional verification をチェックし、Save をクリックします。このオプションをチェックすると、Oktaは認可コードをトークンに交換する際に
code_verifierの検証を強制し、認可コード傍受攻撃のリスクを軽減します。 -
“Sign On” ページに切り替えて Issuer フィールドを見つけ、Issuer を固定リンクに設定し、情報をコピーします。
3.2 OIDC 認証を設定
Dify エンタープライズ版 Authentication ページにアクセスし、+ New Identity Provider → New OIDC Provider をクリックし、指示に従って以下の情報を順次入力します:- Issuer URL
- Client ID
- Client Secrets
- OktaアプリケーションでPKCE検証が有効になっている場合、ウィンドウ内で PKCE追加検証 スイッチを有効にする必要があります
4. SSO 強制認証を有効化(任意)
システム管理者は、以下の2つのシナリオで SSO Enforcement オプションを有効化することで、SSO認証を強制できます:- Workspace:Dify エンタープライズ版 Workspace にログインする際に認可が必要。
- WebApp:現在の Dify エンタープライズ版で作成されたアプリケーションを使用する際に認証が必要。
