連載 [第2回] :
「Keycloak」で実践する「MCP」の認証/認可IDアクセス管理ツール「Keycloak」で実際にユーザー認証を試してみよう
2025年11月6日(木)

第2回の今回は、IDアクセス管理を実現するOSS「Keycloak」の導入方法と、基本的なユーザ認証のための設定方法について解説します。
はじめに
第1回となる前回は、MCPの概要と、その認証/認可の仕組みについて解説しました。第2回となる今回は、IDアクセス管理を実現するOSSである「Keycloak」の導入方法と、基本的なユーザ認証を行うための設定方法について解説します。
Keycloakの導入
Keycloakの公式ドキュメントにはコンテナ環境への導入方法も記載されていますが、今回は手元の物理マシンに導入します。なお、筆者のPCはWindowsなので、ここではWindowsに導入する方法を解説します。上記の公式ドキュメントに記載されている手順に沿って導入していきます。
<筆者の環境>
- Windows 11 Enterprise
- OpenJDK 24
- Keycloak 26.3.3
- KeycloakはJavaで実装されているため、Javaの実行環境が必要になります。ドキュメントの記載に従ってOpenJDKから最新バージョン(執筆時点ではバージョン24)をインストールします。
Windows向けのzipファイルをダウンロードしたら、解凍して任意の場所にファイルを配置してください。 - 環境変数を設定します。「コントロールパネル」>「システム」>「システムの詳細設定」の順に選択して「システムのプロパティ」画面を開き、「詳細設定」タブから「環境変数」を選択し「環境変数」画面を開きます。
「システム環境変数」で「新規」を選択して「変数名」に"JAVA_HOME"、「変数値」にOpenJDKを配置したディレクトリを入力し、追加します。 - 「システム環境変数」に登録されている「Path」をダブルクリックし、「新規」を選択して“%JAVA_HOME%\bin”を追加します。
コマンドプロンプトを起動し、%JAVA_HOME%の内容を確認します。2行目のような結果が返ってくれば、無事にパスが通っています。“%JAVA_HOME%”がそのまま返ってくる場合はパスが通っていないので、PCを再起動して再度結果を確認してみてください。
echo %JAVA_HOME% C:\Program Files\Java\jdk-24
- Keycloakをインストールします。公式ドキュメントのリンクよりzipファイルをダウンロードして、解凍したら任意の場所にファイルを配置します。
上記フォルダ(C:\Keycloak\keycloak-26.3.3)からコマンドプロンプトで以下のコマンドを実行し、開発モードでKeycloakを実行します。
bin\kc.bat start-dev
※上記のように、“start-dev”オプションを使用するとKeycloakが開発モードで起動します。開発モードで起動することにより、ローカルでKeycloakの動作を素早く確認するための設定やテーマ開発に便利な設定がデフォルトで適用されます。
正常に起動した場合、以下のようなメッセージが表示されます。2025-08-25 14:16:11,014 INFO [io.quarkus] (main) Keycloak 26.3.3 on JVM (powered by Quarkus 3.20.2.1) started in 32.600s. Listening on: http://0.0.0.0:8080
- 任意のウェブブラウザでhttp://localhost:8080へアクセスし、Keycloakが動作していることを確認します。
- 任意のUsernameとPasswordを入力し、管理ユーザを作成します。
以上で、Keycloakのインストールは完了です。
レルム・ユーザ設定
次に、Keycloakの管理コンソールから基本的な設定を行っていきます。
- http://localhost:8080/adminにアクセスし、作成した管理ユーザでログインしましょう。
- 左ペインの“Manage realms”→“Create realm”をクリック後、“Realm name”欄に任意のレルム名を入力し、“Create”をクリックして新規レルムを作成します。
レルムとは、ユーザやクライアント、認証方法などの各種設定が適用される範囲を意味します。Keycloakは初回起動時に“master”という名前のレルムを作成しますが、これは他のレルムを管理できる特別なレルムです。ここでは、動作確認用のレルムとしてmasterレルムとは別のレルムを作成しましょう。 - ユーザを作成します。“Current realm”欄より先ほど作成したレルムにいることを確認したあと、左ペインの“Users”→“Create new user”をクリックし、“Username”欄、“Email”欄、“First name”欄、“Last name”欄に任意の値を入力して“Create”をクリックすると新規ユーザが作成されます。
- Keycloakはパスワード認証・パスキー認証・ワンタイムパスワードを用いた多要素認証など様々な認証機能を持っています。今回はパスワード認証の動作確認を行うので、作成したユーザが利用するパスワードを設定しましょう。
作成したユーザが表示された状態で“Credentials”タブ→“Set password”をクリックし、任意のパスワードを入力後“Save”をクリックしてパスワードを設定します。なお、ログイン後のパスワード再設定の手間を省くために“Temporary”はOffにします。
ユーザ認証の動作確認
それでは、作成したユーザを用いて、ユーザ認証の動作確認を行います。
まずは、アカウントコンソールにアクセスしてみましょう。アカウントコンソールではプロファイルの変更、認証器の追加、外部IDプロバイダーとの連携など、ユーザ自身がアカウントの管理を行うことができます。
- Webブラウザでhttp://localhost:8080/realms/<作成したレルム名> /accountにアクセスするとログイン画面が開くので、作成したユーザ情報でログインします。
- ログインに成功すると、アカウントコンソールが表示されます。
- KeycloakのWeb上で公開されているSPA(Single Page Application)を用いて、ユーザ認証の動作確認を行ってみましょう。
まず、使用するアプリケーションをKeycloakのクライアントとして登録します。管理コンソール(http://localhost:8080/admin)にアクセスし、作成したレルムに移動します。左ペインでCurrent realmが作成したレルムになっていることを確認してください。 - 左ペインから“Clients”→“Create client”をクリックします。General settings画面ではClient typeに“OpenID Connect”を選択し、ClientID欄に任意のクライアント名を入力してNextをクリックします。
- Capability config画面では、Authentication flowで“Standard flow”にチェックが入っていることを確認し、Nextをクリックします。
- Login settings画面では、Set Valid redirect URIsに“https://www.keycloak.org/app/*”、Web originsに“https://www.keycloak.org”を入力し、Saveをクリックします。
- これで準備は完了です。実際にユーザ認証の動作確認をしてみましょう。WebブラウザでSPAのURL(https://www.keycloak.org/app/)にアクセスし、Keycloak URL・Realm・Clientに自身の環境に応じた値を入力してSaveをクリックします。
- 次の画面で、Sign inをクリックします。
- ログイン画面が表示されるので、登録したユーザ情報でログインします。
- 認証に成功すると、以下のようにHello, <First name> <Last name>と表示されます。
- Sign outボタンをクリックするとログアウトされ、再度Sign inボタンをクリックするとログインを要求されます。
以上で、SPAを用いたユーザ認証の動作確認は終了です。
まとめ
本稿では、Keycloakの導入方法と基本的な設定・ユーザ認証の動作確認を実施する方法について解説しました。KeycloakはオープンソースのIAMソリューションなので、誰でも簡単に導入できます。管理コンソールも直観的で使いやすく、利便性の高さを実感いただけたと思います。
次回は、認証/認可の標準プロトコルの1つである「OAuth2.1」の認可コードフローを自前のWebアプリケーションとKeycloakを用いて実装する方法について、ハンズオン形式で解説していきます。
連載バックナンバー
Think ITメルマガ会員登録受付中
Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。






















