OpenID Connect認証対応のWebを構築運用 / KeycloakでOIDC認証のシングルサインオン 多要素認証での運用にも対応

ID管理のKeycloakとOIDC認証対応のWeb機能の組み合わせで、SSO認証連携を行う場合の構成例です。ターゲットのWebサイトには、OIDC認証でアクセスさせることが出来ます。KeycloakをMFA(多要素認証)で運用することにも対応しています。

  • ID管理 Keycloak ( OpenID Provider / OP )
  • OpenID 認証対応のWeb( Relying Party / RP )

 

 

【こんな用途に】

  • Webサイトに認証を設定したい
  • IDは一元管理したい
  • 管理者の負担を少なくして運用したい
  • Active Directoryのデータで認証したい(社内ADと連携)
  • SSLクライアント認証やワンタイムパスワードなど多要素認証で運用したい(MFA)
  • Azure ADなどは費用が高額になるので利用できない

 

 

 

【Keycloak / OP 】

一般のKeycloakを利用できます。

 

 

 

 

 

【Keycloak / アプライアンス 】

またKeycloakとしては、 「Powered BLUE for idP 」のKeycloakアプライアンスを利用することも出来ます。

 

 

【GUIからの設定 】

Keycloakアライアンスは、GUIからのサーバーの基本設定およびKeycloakの構成(スタンドアロン・クラスター・バックアップ)などの各種設定に対応しています。

  • サーバーの設定(Network / Firewall )
  • ウィザードによるKeycloakの構成や設定(スタンドアロンやクラスター)
  • DB 設定( H2 / MariaDB )
  • DB 構成   ( 内蔵もしくは外部サーバーのどちらの構成にも対応 )
  • Keycloak のバックアップ、リストア、バージョンアップ
  • keycloak へのアクセスポート( 80 / 443 )
  • リバースプロキシ内蔵
  • SSLクライアント認証(多要素認証)
  • SSLサーバー証明書の登録
  • OSなどの自動パッチ適用
  • アクティブモニタ(サーバーやサービス監視・再起動・管理者への通知)

コマンドラインからのプログラムのインストールや設定は不要

 

 

 

 

 

( 画面のイメージをクリックで拡大表示 )

 

「Powered BLUE for idP 」では

1)Keycloakを直接443ポートでの運用

2)リバースプロキシとの同居での一体運用

の2方式に対応しています

 

 

 

 

 

 

 

①   リバースプロキシ構成(有・無)

ダイレクトアクセス・モード Client ⇒   ( 443 / Keycloak )

  • Keycloakを直接443番ポートで運用します

 

 

 

 

 

 

リバースプロキシ・モード  Client ⇒   ( 443 / リバースプロキシ ⇒ 8080 / Keycloak )  1台で運用

  • リバースプロキシ経由でKeycloakへアクセスさせる構成です

 

 

 

 

 

②  パス設定 (Quarkusでも任意のパスを指定できます)
https:// idp.keycloak.com / auth /

③  httpポート設定
443 / 8080 / 80  /etc

 

 

KeycloakのDB設定からHA構成

  • DB選択や構成( 内部DB / 外部DB )
  • スタンドアローンやクラスター構成

 

 

 

 

 

 

  • クラスター構成

 

 

 

【Keycloakのバックアップ】

  • Keycloakのデータバックアップやリストアに対応

 

【Keycloakのバージョンアップ 】

バージョンアップ前 例 18.0.1

バージョンアップ後 例 19.0.1

 

 

Keycloakへのアクセス(443)

 

【認証対応のWeb(RP)】

  • 自前でOIDC認証対応のWebを構築して運用
  • SaaSでの運用にも対応

 

 

 

 

Webとしては、OIDC認証やSAML認証に対応のアプライアンス Powered BLUE Web for SSO / IDaaS」を利用することも出来ます

 

  • マルチドメイン・マルチサイトでの運用に対応
  • サイト毎にOIDC認証やSAML認証の異なる認証での運用に対応
  • サイト毎に個別のサイト管理者に権限を委譲での運用に対応
  • ユーザーアカウント無しでの認証に対応
  • GUIからの設定の対応
  • 自社環境での運用に対応
  • アプライアンスでの‘提供
  • Let’s Encrypt対応
  • WordPress対応
  • OS RockyLinux 8.x / RedHat 8.x に対応

 

 

【構成例】

  • Keycloak / OP  ⇔ Web / RP
  • OpenID Connect / OIDCでの認証

 

 

【設定手順の概要】

  1. Keycloak / OP の設定
    • 1.1. レルムの作成
    • 1.2. クライアントの作成
    • 1.3. ロールの作成
    • 1.4. ユーザーの作成とロールの割り当て
    • 1.5. OIDC設定ファイル(json)のダウンロード
  2. Webサイト / RP の設定
    • 2.1. 仮想サイトの作成
    • 2.2. KeycloakのOIDC設定ファイル(json)のアップロード
    • 2.3. OIDC認証の適用ディレクトの指定
    • 2.4. Webコンテンツのアップロード

 

 

【Keycloakの設定】

  • Keycloakの管理GUIへは運用時のFQDN / IP でアクセスします
  • IPアドレスでアクセスすると、生成されるURLなどもIPベースとなります

 

【レルムの作成】

名称設定 例 rev-o

作成後 rev-o

 

【クライアントの作成】

  • クライアントID 例 oidc-demo-client (名称は適宜付与)
  • クライアントプロトコル 選択 openid-connect
  • アクセスタイプ 選択 confidential
  • 有効なリダイレクトURL  例  https://www.example.jp/oidc/redirect_uri

* 有効なリダイレクトURLは、Web / RP側のOIDCのURLを記載します

 

【ロールの追加】

ロールを割り当てられたユーザーのみがアクセスできます

例 oidc-demo-role

 

【ユーザーの作成】

  • ユーザー名 demo
  • メールアカウント demo@example.jp

 

【パスワードの設定】

作成したユーザーの「レデンシャルを選択してパスワードを設定します

 

【ユーザーへロールのアサイン】

例 oidc-demo-role をアサイン

 

 

【OIDCの設定ファイル】

Keycloak からOIDC設定ファイルのダウンロード

例 oidc-demo-client の編集をクリック

インストールタブをクリックしてjsonファイルを「ダウンロード」します

 

【JSONファイルのダウンロード】

 

 

【Web / RPの設定】

Powered BLUE Web for SSO / IDaaS」での設定例です

OIDC認証やSAML認証に対応のWebサイト機能を有したアプライアンスです。

 

 

【仮想サイトの作成】

www.example.jp サイトを作成します

 

【KeycloakからダウンロードのJSONファイルの読み込み】

 

【データのインポート】

初期設定ボタンで読み込みデータを保存します

 

【OIDCの有効化】

OIDCを有効にする」に ✔ を入れて「保存」ボタンを押して適用します

 

【認証ディレクトリ】

OIDC認証を適用するディレクトリを設定します

例 /test にOIDC認証を設定

  • https://www.example.jp/     認証なし
  • https://www.example.jp/test  に OIDC認証を設定

 

 

【OIDC認証対応のWeb サイト

  • 一般的なWebコンテンツのアップロードやWordPerssでのWebサイトの構築・運用に対応
  • 任意のディレクトリに認証を設定
一般的なWebコンテンツのWebサイト WordPressのWebサイト

 

 

【アクセス手順】

① https://www.example.jp/test にアクセス

② 初回は、Keycloak へリダイレクトされて認証を求められます

  • アカウント demo@example.com
  • パスワード xxxxxxxx

③ 認証後に https://www.example.jp/test のWebページが表示

 

 

【アプライアンスの簡単運用】

情シスの負担軽減での運用にも対応

  • サーバーの自己監視やサービスの自動再起動機能
  • パッチのスケジュールアップデート機能
  • 管理者への通知機能

 

 

 

クローズドネットワークでの運用

仮想アプライアンスのイメージでの提供により

  • 仮想基盤へ仮想サーバーのイメージインポートでの運用が可能

 

サーバーの自己監視機能や自動再起動機能により

  • 外部の監視サービスを利用しない運用に対応

 

 

 

 

 

 

【アプライアンスの構成や運用先】

  •     OS  RockyLinux 8.x  /  RedHat 8.x (OSは選択)
  •  Keycloak(アプリ)
  •  GUIでのサーバーやアプリの設定

 

 

 

 

 

 

 

クラウド環境や仮想基盤、及びオンプレなどの自社管理での運用に対応

  • VMware / Hyper-V
  • AWS / Azure / FUJITSU Hybrid IT Service FJcloud-O (富士通) / VPSなど

 

 

【Keycloakを多要素認証で運用】

Keycloakのデフォルト認証は、ID/パスワード認証です。Keycloakの認証を強化する方法としては

  • ワンタイムパスワード認証
  • SSLクライアント認証

などを設定して多要素認証での運用が可能です。

 

SSLクライアント認証の構成

 

有効なSSLクライアント証明書の場合

① SP にアクセス
② idP / Keycloakの認証
(初回のみ / SSO / SSLクライアント認証)
③ 認証の成功後 ターゲットのWebを表示

 

有効なSSLクライアント証明書の無い場合

 

ワンタイムパスワードの認証手順

① ワンタイムパスワードの表示
② SPにアクセス
③ idp / Keycloakの認証(初回のみ)
ID / パスワード / ワンタイムパスワード入力
④ 認証の成功後 ターゲットWebを表示

 

 

お問合せ

 

 

 

ご質問やご相談など