~ KeycloakとSSO連携できる代理認証のリバースプロキシを利用 ~
Keycloakを利用したシングルサインオンは、利用者が複数のアプリケーションにログインする際に、一度の認証で済むようにする仕組みです。
ただし、すべてのWebアプリケーションがSAMLやOIDC認証に対応しているわけではありません。従来から運用のレガシーWebアプリは、SAMLやOIDC認証などのSSOに対応していないケースがほとんどです。
WebのSSO化
KeycloakでSAMLやOIDC認証に未対応の既存Webをシングルサインオンに対応させる場合には
SSOへの対応方法 | Webの改修 | 備考 |
クライアントアダプター *1 | 必要 | サードパーティのWebアプリには適用しにくい |
リバースプロキシ | 不要 | 従来の認証方式との併用での運用が可能 |
などの方法があります。
新規でWebを作成する場合には、Keycloakクライアントアダプターの選択枝も容易です。既存で運用のWebへのSSO化には、Webの改修が必要となるためクライアントアダプターの導入は敷居が高くなります。
*1 Keycloakのバージョンにより、利用できるクライアントアダプターが異なります
既存Webは改修不要でSSO
既存のWebアプリケーションを改修することなく、Keycloak連携のシングルサインオンを構成する手法として、SAMLやOIDC認証に対応の
「代理認証のリバースプロキシ」
を活用したSSO化が有効です。
代理認証のリバースプロキシ
SAMLやOIDC認証対応の代理入力機能を持つリバースプロキシは、Webアプリケーションの前に配置された中継サーバーです。
ユーザーがリバースプロキシにアクセスすると、Keycloak / idPがユーザーの認証を行い、認証に成功するとリバースプロキシがWebアプリケーションにユーザー情報「ID / パスワード」を代理入力します。
これにより、Webアプリケーションを改修することなく、SSOに対応させることが可能です。
![]() |
![]() |
ポイント
- ユーザーは、Webアプリの 「ID / パスワード」 の入力不要
- ユーザーには、Webアプリの「ID / パスワード」の公開は不要
- 既存で運用のWebアプリを改修をすることなく、SSOを実現
Keycloak連携のリバースプロキシからWebへ代理認証でのSSO
Keycloak / idP と リバースプロキシはSAMLやOIDCで認証を行います。
「Webシステム」は WAN / DMZ / LAN の任意の場所の設置に対応しています
SSOに必要な機器
- idP / Keycloak
- SAML / OIDC認証のリバースプロキシ( ユーザー情報の代理入力機能 )
- 既存のWeb( 変更不要 / エージェント不要 )
- ブラウザ( プラグイン不要 )
idP / Keycloak
- 一般的なKeycloakを利用できます
- KeycloakとリバースプロキシはSAMLやOIDC認証で接続します
![]() |
![]() ![]() |
Keycloakのアプライアンス 「Powered BLUE for idP 」も利用できます
Keycloakアプライアンスの機能
- ウィザードによるKeycloakのセットアップ
- DB設定(シングル・クラスター構成)
- Keycloak のリバースプロキシ構成(1台での運用)
- バックアップ、リストア、アップグレード
- SSLサーバー証明書登録
- keycloak へのアクセスポート( 80 / 443 )
- アクティブモニタ(サービス監視・再起動・管理者への通知)
- SSLクライアント認証
- GUIからの操作設定
代理認証機能のリバースプロキシ
idP連携のSAMLやOIDC認証の代理認証対応のID認識型リバースプロキシ
「Powered BLUE Reverse-Proxy with SSO 」
を利用します。
主な機能
- リバースプロキシ機能
- SAMLやOIDC認証(SP / RP 機能 *1 )
- バックエンドのWebへユーザー情報の代理入力機能
- バックエンドのWebへHTTPヘッダーでのユーザー情報の転送機能
- SSLクライアント認証
- ログの取得
- GUIから設定や運用
を有しており、任意の場所で自社管理でオールインワンでの運用を行うことが出来ます。
*1 SAML認証時はSP (Service Provider) OIDC認証時はRP(Relying Party)という名称
SSOの手順
- SAML / OIDC認証対応のID認識型リバースプロキシへアクセス
- 初回のみ Keycloak / idP へアクセス
- idP の認証後にリバースプロキシからWebへアカウント情報を代理入力
- Webへ自動ログイン
各種WebシステムへSSO
一度のKeycloak / idP認証で、複数のWebシステムへSSOでアクセスできます
Keycloakへの多要素認証(MFA)
![]() |
SSLクライアント認証でidPやリバースプロキシへの認証を強化
クライアント証明書 〇 | クライアント証明書 ✕ |
Keycloakではワンタイムパスワード認証も利用が出来ます。
- ワンタイムパスワード認証は、毎回「入力する」必要があります
- SSLクライアント認証は、SSLクライアント証明書をインストールすると操作は不要です
認証 | SSLクライアント認証 | ワンタイムパスワード認証 |
認証操作 | 不要 | 毎回必要 |
判定のタイミング | ID / passwd 入力前に判定 | ID / passwd 入力後に判定 |
リスト攻撃 | ブロック 〇 | ブロック ✖ |
KeycloakとActive Directory連携でのSSO
Active DirectoryとKeycloakを連携
- keycloakとActive Directoryの連携
- Keycloakとリバースプロキシは、SAML / OIDC認証
- リバースプロキシとWebは代理認証
既存の認証方法とSSOの併用
アクセス元により認証方法を変えることも出来ます。
- 従来の ID / パスワード認証(社内からのアクセス)
- idP / IDaaS 連携によるSSO(社外からのアクセス)
の併用などの柔軟な運用が可能です。
ID / パスワード認証 | SSO |
代理入力のリバースプロキシ導入のポイント
- SAMLやOIDC認証に未対応のWebをSSO化できる
- Webの改修不要
- WebのOS不問
- ユーザーからWebアプリへの ID / パスワード の入力操作は不要
- ユーザーへのWebアプリの ID / パスワードの公開は不要
- 一般的なブラウザで利用できる(プラグイン不要)
- 多要素認証に対応できる
アプライアンスの運用先
クラウド環境や仮想基盤など、自社管理で運用できます
![]() |
![]() |
- VMware / Hyper-V
- AWS / Azure / FUJITSU Hybrid IT Service FJcloud-O (富士通) / WebARENA / ALTUS / VPSなど
お問合せ