シングルサインオン(SSO)とは、最初にアプリケーションを利用する時に、一度keycloakでログイン認証をすれば、以降は全てのアプリケーションやWebサービスをkeycloakへ再ログインなしに利用できる認証の仕組みのことです。
KeycloakでSSOを実現する場合、ターゲットのアプリケーション側との認証の構成としては
- フェデレーション
- クライアントアダプター(エージェント)
- 代理認証のリバースプロキシ
などがあります。ターゲットのアプリに合わせてSSOを構成します。
1.フェデレーション
アプリケーション側が、SAML認証やOIDC認証に対応していれば簡単にシングルサインオンが構成できます。メジャーなSaaSではフェデレーションに対応しているケースが多くあります。
アプリケーション側はSAML認証の場合には「SPの機能」もしくはOIDC認証の場合には「RPの機能」などを有しているので、Keycloakとアプリケーション間でシングルサインオンを構成します。
2.クライアントアダプター
アプリケーション側がSAML認証やOIDC認証に対応していない場合、Keycloakのクライアントアダプター(エージェント)をアプリケーション側に組み込み、SAMLのSP機能もしくはOIDCのRP機能で動作させることでシングルサインオンを構成します。
アプリケーション側には、クライアントアダプターを組み込む「改修が必要」となります。
3.代理認証のリバースプロキシ
SAMLやOIDC認証対応の代理入力機能を持つリバースプロキシは、Webアプリケーションの前に配置された中継サーバーです。
ユーザーがリバースプロキシにアクセスすると、Keycloak / idPがユーザーの認証を行い、認証に成功するとリバースプロキシがWebアプリケーションにユーザー情報「ID / パスワード」を代理入力します。
これにより、Webアプリケーションを「改修することなくSSOに対応」させることができます。LAN内に設置のWebアプリケーションにもアクセスができます。
SSO認証方式の比較
方式 | アプリの改修 | 対応のアプリ |
1.フェデレーション | 不要 | Web *1 |
2.クライアントアダプター | 必要 | クライアントアダプターに依存 |
3.代理認証対応リバースプロキシ | 不要 | Web |
*1 Web以外も可能
認証の設定
フェデレーションの設定
Keycloak / idP 側
- Keycloakの設定
- Keycloak / idP のメタデータをエクスポート
- ターゲット / SP側のメタデータをインポート
ターゲット / SP 側
- Keycloak / idP側のメタデータをインポート
- ターゲット / SP側のメタデータをエクスポート
構成例
クライアントアダプターの設定
Keycloakで利用できる各種のクライアントアダプターが提供されています。
Keycloak / idP 側
- Keycloakの設定
- アプリの登録
ターゲット / SP 側
- クライアントアダプターのインストール&設定
構成例
代理認証のリバースプロキシの設定
SAML認証やOIDC認証に未対応のWebアプリケーションに対して、SAMLやOIDC認証の機能を有したリバースプロキシを利用して、リバースプロキシからWebアプリケーションにユーザー情報「ID / パスワード」を代理入力して認証までを行います。
Webアプリケーションを改修することなく、SSOに対応させることができます。
idP連携のSAMLやOIDC認証の代理認証対応のID認識型リバースプロキシ
➡ 「Powered BLUE Reverse-Proxy with SSO 」
を利用します。
特徴
- ユーザーは、Webアプリの 「ID / パスワード」 の入力不要
- ユーザーには、Webアプリの「ID / パスワード」の公開は不要
- Webは改修不要
- ブラウザのみで利用(プラグイン不要)
構成例
ターゲットの「Webシステム」は WAN / DMZ / LAN の任意の場所の設置に対応しています
代理認証のSSO手順
- 代理認証のリバースプロキシへアクセス
- 初回のみ idP へアクセス
- idP の認証後にリバースプロキシからWebへアカウント情報を代理入力
- バックエンドのWebへ自動ログイン
Powered BLUE リバースプロキシの基本構成
- OS RockyLinux / RedHat
- 各種のアプリ
- GUIでのサーバーやアプリの設定
管理者の負担軽減での運用
Powered BLUE アプライアンスは、管理者の負担を軽減してシステムの構築や運用に対応しています。
- サーバーの自己監視やサービスの自動再起動機能
- パッチのスケジュールアップデート機能
- 管理者への通知機能
リバースプロキシの運用先
オンプレミスやクラウド環境、仮想基盤など自社管理での運用に対応
- VMware / Hyper-V
- AWS / Azure / FUJITSU Hybrid IT Service FJcloud-O (富士通) / WebARENA / ALTUS / VPSなど
仮想アプライアンスのイメージでの提供により
- 仮想サーバーのイメージインポートやオンプレミスでの運用に対応
お問合せ