Java
authentication
Authorization
Keycloak
More than 1 year has passed since last update.

概要

Keycloakアドベンドカレンダー2日目の今回は、Keycloakを試用できるようにセットアップする手順について説明します。複雑な設定などについては言及しません。簡単なので、興味のある方は是非試してみて下さい :slight_smile:

セットアップ手順は以下の通りです。

  1. Keycloakのダウンロード
  2. サーバーの起動
  3. 管理者ユーザーの作成
  4. 管理コンソールへのログイン

これに加えて、このページでは、Keycloakを日本語化する方法とアンインストールする方法についても触れます。

なお、詳細については、Keycloakの各種ガイドを参照してください。NRI OpenStandiaでガイドの日本語訳も公開しています(12月現在、翻訳中です)。

システム要件

Keycloakを起動するための要件は、以下の通りです。

  • Javaを実行可能なOS
  • Java 8 JDK
  • RAM512M以上
  • 1G以上のディスクスペース

セットアップ手順

Keycloakサーバーを起動し、管理者ユーザーを設定後、管理コンソールにログインするまでの手順について説明します。

Keycloakのダウンロード

KeycloakのダウンロードページからKeycloakの圧縮ファイルをダウンロードします。

サーバーの起動

ダウンロードしたら、適当なディレクトリに解凍して下さい。binディレクトリにあるstandalone.shまたはstandalone.batを実行すると、Keycloakサーバーが起動します。

  • Linux/Unixの場合:
$ unzip keycloak-3.3.0.CR2.zip
$ ./bin/standalone.sh
  • Windowsの場合:
> unzip keycloak-3.3.0.CR2.zip
> bin\standalone.bat

なお、Keycloakの圧縮ファイルには「Wildfly」(RedHat社が中心となって開発されているJava EEコンテナ)が同梱されています。KeycloakはこのWildflyの上で動作します。

:warning: デフォルトでは、Keycloakはリモートホストからのアクセスを許可していません。これは、WildFlyのデフォルトの仕様のためです。これを解除するには起動スクリプトに-bオプションで許可するホストのIPアドレスを付加して下さい。「0.0.0.0」の場合は全てのホストを許可します。

$ ./bin/standalone.sh -b=0.0.0.0

コンソールに以下のようなメッセージが表示されれば、起動は完了しています。

14:29:22,241 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://127.0.0.1:9990/management
14:29:22,241 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990
14:29:22,241 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: Keycloak 3.3.0.CR2 (WildFly Core 3.0.1.Final) started in 12515ms - Started 536 of 858 services (570 services are lazy, passive or on-demand)
:information_source: サーバーを停止する場合は、コンソールでCtrl+Cをクリックして下さい。

管理者ユーザーの作成

サーバーが起動したら、ブラウザーを開き http://localhost:8080/auth にアクセスします。以下のようなページが表示されます。

Screenshot from 2017-10-29 11-03-10.png

Keycloakには、デフォルトで設定された管理者のアカウントが存在しません。まずはそれをウェルカムページで作成する必要があります。作成した管理者アカウントで、ユーザーの作成や認証方式の設定、Keycloakによって保護されるアプリケーションの登録などができます。

:information_source: localhost にアクセスする場合は、初期管理者ユーザーのみを作成できます。これはセキュリティ対策のためです。また、スクリプトadd-user-keycloak.shを使用してコマンドラインにて初期管理者ユーザーの作成をすることも可能です。詳しくはガイド(Server InstallationServer Administration)を参照下さい。

管理コンソールへのログイン

管理者アカウントを作成したら、管理コンソールにログインすることができます。

ウェルカムページの一番下にある「Administration Console」のリンクをクリックします。

2017-10-29 11.07.38 からのスクリーンショット.png

ウェルカムページで作成したユーザー名とパスワードを入力します。Keycloak管理コンソールのメインページが表示されます。

2017-10-29 11.08.21 からのスクリーンショット.png

管理コンソール内の設定項目について知りたい場合は、?(クエスチョンマーク)のアイコンにマウスオーバーすると、設定項目を説明するテキストがポップアップ表示されます。

2017-10-29 11.09.52 からのスクリーンショット.png

日本語化

Keycloakは国際化対応しており、日本語にも対応しています。管理コンソールやユーザー・アカウント・サービスを日本語化するには以下の手順を実施します。

「Themes」のタブをクリックし、「Internationalization Enabled」の設定を「ON」にして「Save」ボタンをクリックします。

2017-10-29 11.14.46 からのスクリーンショット.png

いったんログアウトすれば、日本語化は完了のはずですが、おそらくキャッシュなどに起因して日本語化が直ぐに反映されない場合があります。その場合は、右側の「Admin」と書かれたリンクをクリックして、「Manage account」を選択して下さい。

2017-10-29 11.17.16 からのスクリーンショット.png

画面上部に言語の設定があるので、クリックして日本語を選んで下さい。

2017-10-29 11.29.33 からのスクリーンショット.png

これで完了です。確認するために、いったんログアウトして下さい。

2017-10-29 11.34.04 からのスクリーンショット.png

再度ログインしようとすると、ログイン画面に言語を選択するセレクトボックスが表示されます。

2017-10-29 11.41.09 からのスクリーンショット.png

ここで日本語を指定してからログインすると、先ほどまで英語だった画面が日本語で表示されるようになります。

2017-10-29 11.34.45 からのスクリーンショット.png

Keycloakのアンインストール

Keycloakのアンインストールに特別な作業は必要ありません。基本的には解凍したディレクトリを削除するだけです。

参考資料