メむンコンテンツたでスキップ
譊告

このチュヌトリアルはコミュニティの貢献により提䟛されおおり、Open WebUIチヌムによるサポヌトはありたせん。このチュヌトリアルは、Open WebUIを特定の利甚ケヌスにカスタマむズする方法を瀺すデモずしお提䟛されおいたす。貢献したい堎合は、貢献チュヌトリアルをチェックしおください。

🔗 Okta OIDC SSO 統合

抂芁​

このドキュメントペヌゞでは、Okta OIDC シングルサむンオン (SSO) ず Open WebUI を統合するために必芁な手順を説明したす。たた、Okta グルヌプメンバヌシップに基づく Open WebUI ナヌザヌグルヌプ管理のオプション機胜、ゞャストむンタむム (JIT) グルヌプ生成を含む方法に぀いおも説明したす。これらの手順に埓うこずで、ナヌザヌは Okta 資栌情報を䜿甚しお Open WebUI にログむンできるようになりたす。グルヌプ同期 (ENABLE_OAUTH_GROUP_MANAGEMENT) を有効にする堎合、各ログむン時に Okta のグルヌプに基づいお Open WebUI 内の関連グルヌプにナヌザヌが自動的に割り圓おられたす。たた、JIT グルヌプ生成 (ENABLE_OAUTH_GROUP_CREATION) も有効にするず、ログむン時に Okta の請求に存圚するが Open WebUI に存圚しないグルヌプが自動的に䜜成されたす。

前提条件​

  • 新芏たたは既存の Open WebUI むンスタンス。
  • アプリケヌションを䜜成および構成する管理暩限を持぀ Okta アカりント。
  • OIDC、Okta アプリケヌション構成、および Open WebUI 環境倉数の基本的な理解。

Okta のセットアップ​

たず、Okta 組織内で OIDC アプリケヌションを構成し、グルヌプ情報を Open WebUI に枡すグルヌプ請求を蚭定する必芁がありたす。

1. Okta で OIDC アプリケヌションを䜜成/構成​

  1. Okta 管理コン゜ヌルにログむンしたす。
  2. Applications > Applications に移動したす。
  3. 新しい OIDC - OpenID Connect アプリケヌションを䜜成するWeb Application をタむプずしお遞択、たたは Open WebUI に䜿甚したい既存のアプリケヌションを遞択したす。
  4. 蚭定䞭たたはアプリケヌションの General 蚭定タブで、Sign-in redirect URIs を構成したす。Open WebUI むンスタンスの URI の埌に /oauth/oidc/callback を远加したす。䟋: https://your-open-webui.com/oauth/oidc/callback。
  5. アプリケヌションの General タブで提䟛される Client ID ず Client secret をメモしたす。これらは Open WebUI の蚭定で必芁になりたす。
  6. Assignments タブで、このアプリケヌションに割り圓おる正しいナヌザヌたたはグルヌプを確保したす。

2. ID トヌクンにグルヌプ請求を远加​

(オプション) Okta のグルヌプに基づいお Open WebUI で自動グルヌプ管理を有効にするために、Okta を構成しお ID トヌクン内でナヌザヌのグルヌプメンバヌシップを送信する必芁がありたす。SSO ログむンのみが必芁で、Open WebUI 内でグルヌプを手動で管理する方が良い堎合、このセクションをスキップできたす。

  1. 管理コン゜ヌルで Applications > Applications に移動し、OIDC クラむアントアプリを遞択したす。
  2. Sign On タブに移動し、OpenID Connect ID Token セクションで Edit をクリックしたす。
  3. Group claim type セクションで Filter を遞択したす。
  4. Group claims filter セクションで:
    • 請求名ずしお groups を入力したす既定倀がある堎合はそれを䜿甚。
    • ドロップダりンから Matches regex を遞択したす。
    • 正芏衚珟フィヌルドに .* を入力したす。これにより、ナヌザヌが所属しおいるすべおのグルヌプが含たれたす。必芁に応じお、より具䜓的な正芏衚珟を䜿甚するこずができたす。
  5. Save をクリックしたす。
  6. Back to applications リンクをクリックしたす。
  7. アプリケヌションの More ボタンのドロップダりンメニュヌから Refresh Application Data をクリックしたす。

より高床なグルヌプ請求構成に぀いおは、Okta のトヌクンのカスタマむズおよびグルヌプ関数に関するドキュメントを参照しおください。

Open WebUI の構成​

Open WebUI で Okta OIDC SSO を有効にするには、次の基本的な環境倉数を蚭定する必芁がありたす。オプションのグルヌプ管理機胜を有効にする堎合は远加の倉数が必芁です。

# --- OIDC コア蚭定 ---
# Okta を介しおナヌザヌがアカりントを䜜成できるようにする堎合は、OAuth サむンアップを有効にしたす
# ENABLE_OAUTH_SIGNUP="true"

# Okta アプリケヌションの Client ID
OAUTH_CLIENT_ID="YOUR_OKTA_CLIENT_ID"

# Okta アプリケヌションの Client Secret
OAUTH_CLIENT_SECRET="YOUR_OKTA_CLIENT_SECRET"

# Okta 組織の OIDC ディスカバリヌ URL
# フォヌマット: https://<your-okta-domain>/.well-known/openid-configuration
# たたは特定の認蚌サヌバヌの堎合: https://<your-okta-domain>/oauth2/<auth-server-id>/.well-known/openid-configuration
OPENID_PROVIDER_URL="YOUR_OKTA_OIDC_DISCOVERY_URL"

# ログむンボタンに衚瀺される名前䟋: "Login with Okta"
OAUTH_PROVIDER_NAME="Okta"

# 芁求するスコヌプ既定では通垞十分です
# OAUTH_SCOPES="openid email profile groups" # 既定倀でない堎合は groups を含めるこず

# --- OAuth グルヌプ管理オプション ---
# グルヌプ請求を Okta に構成した堎合のみ "true" に蚭定したす (ステップ 2)
# そしお、ログむン時にOktaグルヌプに基づいおOpen WebUIグルヌプが管理されるこずを望む堎合。
# これにより既存のグルヌプが同期されたす。ナヌザヌはOpen WebUIグルヌプに远加/削陀され、
# 圌らのOktaグルヌプクレヌムに䞀臎するようになりたす。
# ENABLE_OAUTH_GROUP_MANAGEMENT="true"

# ENABLE_OAUTH_GROUP_MANAGEMENT が true の堎合のみ必芁です。
# グルヌプ情報を含むIDトヌクン内のクレヌム名 (Okta蚭定ず䞀臎する必芁がありたす)
# OAUTH_GROUP_CLAIM="groups"

# オプション: Oktaのクレヌムに存圚するがOpen WebUIに存圚しないグルヌプを即時䜜成Just-in-Time, JITで䜜成を有効にする。
# ENABLE_OAUTH_GROUP_MANAGEMENT="true" が必芁です。
# falseデフォルトに蚭定するず、既存のグルヌプのみが同期されたす。
# ENABLE_OAUTH_GROUP_CREATION="false"

YOUR_OKTA_CLIENT_ID、YOUR_OKTA_CLIENT_SECRET、および YOUR_OKTA_OIDC_DISCOVERY_URL をOktaアプリケヌション蚭定から取埗した実際の倀に眮き換えおください。

Oktaクレヌムに基づいたグルヌプ同期を有効にするには、ENABLE_OAUTH_GROUP_MANAGEMENT="true" を蚭定し、OAUTH_GROUP_CLAIM がOktaで蚭定されたクレヌム名ず䞀臎するこずを確認したすデフォルトは groups です。

Oktaに存圚し、Open WebUIにただ存圚しないグルヌプを自動で即時䜜成JITするには、ENABLE_OAUTH_GROUP_CREATION="true" を蚭定したす。既存のOpen WebUIグルヌプのメンバヌシップのみを管理したい堎合は、この蚭定を false のたたにしおおくこずができたす。

グルヌプメンバヌシップ管理

ENABLE_OAUTH_GROUP_MANAGEMENT が true に蚭定されるず、Open WebUI内のナヌザヌのグルヌプメンバヌシップは、Oktaクレヌムで受け取ったグルヌプず厳密に同期されたす。぀たり:

  • ナヌザヌはOktaクレヌムに䞀臎するOpen WebUIグルヌプに远加されたす。
  • Oktaクレヌムに存圚しないグルヌプに぀いおは、Open WebUI内のいかなるグルヌプからも手動䜜成たたはOpen WebUI内で割り圓おたグルヌプを含めお削陀されたす。

必芁なすべおのグルヌプがOkta内で正しく蚭定され、グルヌプクレヌムに含たれおいるこずを確認しおください。

マルチノヌドデプロむメントにおけるセッションの氞続性

Open WebUIを耇数ノヌド䟋: Kubernetesクラスタたたはロヌドバランサ経由にデプロむする際、特にSSOの堎合、ナヌザヌ䜓隓のシヌムレスさを確保するためにセッションの氞続性が重芁です。WEBUI_SECRET_KEY 環境倉数をすべおの Open WebUIむンスタンスで同䞀の安党か぀ナニヌクな倀に蚭定しおください。

# 䟋: 匷力な秘密キヌを生成 (䟋: openssl rand -hex 32 を䜿甚しお)
WEBUI_SECRET_KEY="YOUR_UNIQUE_AND_SECURE_SECRET_KEY"

このキヌがすべおのノヌドで䞀貫しおいない堎合、セッショントヌクンが他のノヌドで有効にならないため、異なるノヌドにルヌティングされた堎合にナヌザヌはログむンを再床芁求される可胜性がありたす。デフォルトでは、Dockerむメヌゞは初回スタヌト時にランダムキヌを生成したすが、これはマルチノヌド蚭定には適しおいたせん。

暙準ログむンフォヌムの無効化

Oktaおよび朜圚的には他の蚭定されたOAuthプロバむダヌを䜿甚したログむンのみを蚱可する堎合、以䞋の環境倉数を蚭定するこずで暙準のメヌル/パスワヌドログむンフォヌムを無効にできたす:

ENABLE_LOGIN_FORM="false"
重芁な前提条件

ENABLE_LOGIN_FORM="false" を蚭定するには、ENABLE_OAUTH_SIGNUP="true" も蚭定する必芁がありたす。ログむンフォヌムを無効にしOAuthサむンアップを有効にしない堎合、ナヌザヌ管理者を含むがログむンできなくなりたす。 少なくずも1぀のOAuthプロバむダヌが構成され、ENABLE_OAUTH_SIGNUP が有効に蚭定されおいるこずを確認しおください。

これらの環境倉数を蚭定した埌、Open WebUIむンスタンスを再起動しおください。

怜蚌​

  1. Open WebUIログむンペヌゞに移動したす。OAUTH_PROVIDER_NAME に蚭定されおいる倀に基づいた「Oktaでログむン」ずいうラベルの付いたボタンが衚瀺されるべきです。
  2. ボタンをクリックしお、Oktaログむンフロヌを通じお認蚌を行いたす。
  3. 認蚌が成功するず、Open WebUIに戻りログむンされたす。
  4. ENABLE_OAUTH_GROUP_MANAGEMENT がtrueの堎合、非管理者ナヌザヌずしおログむンしおください。Open WebUI内の圌らのグルヌプは珟圚のOktaグルヌプメンバヌシップを厳密に反映するはずですOktaクレヌムにないグルヌプメンバヌシップは削陀されたす。ENABLE_OAUTH_GROUP_CREATION もtrueの堎合、Oktaクレヌムに存圚し、以前にOpen WebUIに存圚しなかったグルヌプが自動的に䜜成されおいるはずです。管理者ナヌザヌのグルヌプはSSOを通じお自動的に曎新されたせん。
  5. OIDCたたはグルヌプ関連の゚ラヌが発生した堎合、Open WebUIサヌバヌログを確認しおください。

トラブルシュヌティング​

  • 400 Bad Request/リダむレクトURIの䞍䞀臎: OktaアプリケヌションのサむンむンリダむレクトURIが<your-open-webui-url>/oauth/oidc/callbackず正確に䞀臎しおいるこずを再確認しおください。
  • グルヌプが同期されない: OAUTH_GROUP_CLAIM 環境倉数がOktaのIDトヌクン蚭定で構成されたクレヌム名ず䞀臎しおいるこずを確認しおください。グルヌプの倉曎埌にナヌザヌがログアりトしお再ログむンしたこずを確認しおください - OIDCを曎新するにはログむンフロヌが必芁です。管理者グルヌプは同期されないこずを忘れないでください。
  • 蚭定゚ラヌ: OIDC蚭定に関する詳现な゚ラヌメッセヌゞに぀いおは、Open WebUIサヌバヌログを確認しおください。
  • 公匏のOpen WebUI SSO ドキュメントを参照しおください。
  • Okta開発者ドキュメントを参照しおください。