連載
» 2018年06月18日 05時00分 公開

Keycloakで外部ユーザーストレージに連携してみようKeycloak超入門(6)(3/3 ページ)

[和田広之, 相田洋志, 田村広平, 上田直樹,野村総合研究所/野村総合研究所/フリーランス/株式会社リック]
前のページへ 1|2|3       

動作確認

 設定が完了したら動作確認をしてみましょう。いったん管理コンソールからログアウトし、「Demo」レルムのユーザーアカウントサービス(http://localhost:8080/auth/realms/demo/account)にアクセスします。ログイン画面が表示されたら、ldapaddで登録した「ichiro」というユーザーでログインしてみましょう(画面3)。

画面3 画面3 Keycloakのログイン画面。ldapaddで登録したユーザー「ichiro」でログインする

 認証が成功すると、Keycloakのアカウント編集画面が表示されます(画面4)。

画面4 画面4 Keycloakのアカウント編集画面

 これで、外部ユーザーストレージのユーザーでKeycloakにログインできました。

 では、このユーザーがユーザー一覧画面に表示されるかどうかを確認してみます。いったんログアウトして、管理者ユーザーで管理コンソールにログインします。先ほどと同様に、ユーザー一覧画面で「すべてのユーザーを参照」ボタンをクリックします(画面5)。

画面5 画面5 ユーザー一覧画面で「すべてのユーザーを参照」ボタンをクリックする

 今度は、画面5のようにログインしたユーザーは表示され、まだログインしていないユーザーは表示されないはずです。

 次に、このユーザーの情報を更新してみましょう。ユーザーIDのリンクをクリックして、ユーザーの編集画面を表示します(画面6)。

画面6 画面6 ユーザーIDのリンクをクリックして、ユーザーの編集画面を表示する

 いずれかのフィールドを適当な値に変更して、「保存」ボタンをクリックします(画面7)。

画面7 画面7 フィールドを適当な値に変更して、「保存」ボタンをクリックする

 すると、ユーザーが更新できない旨を示すエラーメッセージが表示されます(画面8)。

画面8 画面8 エラーメッセージが表示されて、ユーザーを更新できない

 これは、「ユーザー フェデレ−ション プロバイダーの追加」ページで設定した「編集モード」が、デフォルトの「READ_ONLY」(読み取り専用)のままだったためです。

 では、「編集モード」を「WRITABLE」(書き込み可能)に変更して、再度ユーザーの属性を変更してみましょう(画面9)。

画面9 画面9 「編集モード」を「WRITABLE」(書き込み可能)に変更する

 今度はエラーメッセージが表示されることなく、389 Directory Serverに変更が反映されるはずです(図6)。

図6 図6 更新後のユーザー

まとめ

 以上のように、既存の外部ユーザーストレージとKeycloakを連携させることはとても簡単です。ソースコードや設定ファイルを修正する必要もありません。さらに、外部ユーザーストレージを認証に利用しているアプリケーションがあれば、データの移行などの手間をかけずに、シングルサインオンを実現できます。

 なお、今回は紹介し切れませんでしたが、LDAP内で管理されたユーザーの拡張属性を追加して連携させることや、ユーザーストレージSPIを実装して、RDBMSで管理されたユーザーデータを活用するようなカスタムモジュールを開発することも可能です。

 次回は、Keycloakを導入する場合に実用性の高い、リバースプロキシ型の構成を構築する手順について解説します。リバースプロキシ型の構成でKeycloakを導入することで、SAMLやOpenID Connectなどの認証プロトコルに対応していないレガシーなアプリケーションを、シングルサインオンできるようにしてみたいと思います。

筆者紹介

和田 広之(わだ ひろゆき)

野村総合研究所のオープンソースサポートサービス「OpenStandia」で、オープンソースのサポートや製品開発を担当。

Twitter: @wadahiro


筆者紹介

相田 洋志(あいだ ひろし)

野村総合研究所のオープンソースサポートサービス「OpenStandia」で、オープンソースの導入支援やプロジェクト推進を担当。

Twitter: @daian183


筆者紹介

田村 広平(たむら こうへい)

野村総合研究所のオープンソースサポートサービス「OpenStandia」で、OpenAMやKeycloakを中心としたOSSの研究開発・テクニカルサポートを担当。

Twitter: @tamura__246


筆者紹介

上田 直樹(うえだ なおき)

野村総合研究所のオープンソースサポートサービス「OpenStandia」で、OpenAMやKeycloakを中心としたOSSの研究開発・導入支援を担当。

Twitter: @naoki_dx_xb


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。