2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

EC2上にミニマムスペックのKeycloakを立てる

Last updated at Posted at 2025-06-24

この記事について

Cloudera on Cloud では2025年7月1日より、セキュリティ強化対策として、外部 IDプロバイダ によるログインが必須となります。

多くの企業ではすでに ID プロバイダを導入していますが、未導入の企業や個人で検証したい場合など、有償の ID プロバイダをすぐに用意できないケースもあるでしょう。

そうした場合に、手軽に立てられるオープンソースの ID プロバイダとして、KeyCloak を利用することができます。

この記事では、ミニマムな EC2 に KeyCloak を立てる手順を連携します。

この記事は前編として、Keycloak を立てて初回ログインをするまでの手順を対象とします。
立てた KeyCloak を Cloudera と連携する手順は、別途公開しこのページにリンクを貼ります。

参考:

前提

  • AWS アカウントにEC2, セキュリティグループを作成できる権限を持っていること
  • EC2 上に JDK21, Keycloak をインストールできること

手順

インストール

EC2 を新規作成する

以下で作ります。

  • AMI: AmazonLinux
  • インスタンスタイプ: t2micro
  • ネットワーク: 自分の環境からSSHで入れるようにしておく
  • ストレージ: 8GiB
  • セキュリティグループ: 自分がSSHで入れるように&ブラウザで入りたいPCから8443に入れるように設定します。

作ったEC2にSSHで入ります。

JDK21のインストール

Keycloak の公式ドキュメント上は OpenJDK21 が前提条件となっていますが、インストールが面倒? なので Oracle JDK の 21 で代替します。

# 事前確認
java --version  # 何もバージョンが表示されないはず

# ダウンロード・インストール
sudo wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.rpm
sudo rpm -i jdk-21_linux-x64_bin.rpm

# インストール後確認
java --version  # Java21 が表示されればOK

Keycloak のインストール

Keycloak をインストールする先のディレクトリを指定したい場合は、先にそこに移動します。

# ダウンロード
sudo wget https://github.com/keycloak/keycloak/releases/download/26.2.5/keycloak-26.2.5.zip

# インストール
unzip keycloak-26.2.5.zip

すると、keycloak-26.2.5 というディレクトリができるので、そこに入ります。

cd keycloak-26.2.5

admin ユーザーの作成

Keycloak に初回ログインするための admin ユーザーを作成します。
以下のコマンドを実行します。

bin/kc.sh bootstrap-admin user

以下のようなプロンプトが表示されるので、初回ログイン用の admin ユーザーとして使いたいユーザー名とパスワードを入力します。
パスワードは再入力があります。

Enter username [temp-admin]:admin
Enter password:

HTTPS 通信の準備

キーストアの作成

Keycloak は バージョン21以降でHTTPS通信が必須となったため、HTTPS通信をするための準備としてキーストアを作ります。

# ディレクトリは任意だがわかりやすい場所に
sudo mkdir -p /etc/keycloak/ssl

# 作ったディレクトリに移動
cd /etc/keycloak/ssl

# 鍵の作成
sudo keytool -genkeypair \
 -alias keycloak \
 -keyalg RSA \
 -keysize 4096 \
 -validity 365 \
 -keystore keycloak.jks \
 -storepass password(忘れないパスワード) \
 -dname "CN=サーバーのDNSまたはIP, C=JP"

すると、ディレクトリ配下に keycloak.jks というファイル(キーストア)ができます。

HTTPS 通信

先ほど作成したキーストアを使って、HTTPS通信をするための設定を Keycloak の設定ファイルに書き込みます。

# まず編集用のファイルを開く
vim conf/keycloak.conf

vim の画面で、以下の設定をつけたします。

### HTTPS 通信のための設定

# キーストアのパスを指定
https-key-store-file=/etc/keycloak/ssl/keycloak.jks

# キーストアのパスワード(生成時のパスワードと一致させる)
https-key-store-passwd=password

# キーストアの種類
https-key-store-type=jks

# ブラウザからIPでの通信を許可(DNSを使えない場合のための設定)
hostname-strict=false

Keycloak サービスの起動

bin/kc.sh start &

ここまで完了すると、ブラウザ上に https://EC2のパブリックIP:8443 と入力することで Keycloak の Web画面にアクセスできます。

この記事の手順では Keycloak サーバーに自己証明書を使っているため、「この接続ではプライバシーが保護されません」という警告が出ますが、「詳細設定」→「https://EC2のパブリックIP:8443にアクセスする」をクリックし先へ進みます。

image.png

admin ユーザー作成時に設定したユーザー名とパスワードで Sign In します。

Keycloak を立てるまでの手順は以上です!

このあと、realm や ユーザーなどを作成して、Cloudera と Keycloak を接続する設定を行います。

手順は作成次第リンクを貼ります。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?