crc status
Keycloak を目的の用途で使用するために、マシンまたはコンテナプラットフォームが十分なメモリと CPU を提供できることを確認してください。プロダクションサイジングを開始する方法の詳細については、「CPU およびメモリリソースのサイジングに関する概念」を参照してください。
Red Hat Code Ready Containers をインストールし、ドキュメントの手順に従ってローカル OpenShift クラスターをインストールします。
次のコマンドを入力して、クラスターが機能していることを確認してください
crc status
クラスターが動作していることを確認するために、次のような出力を探してください。
CRC VM: Running
OpenShift: Running
...
ユーザー developer
としてログインします
oc login -u developer -p developer
次のコマンドを入力して、keycloak
という名前のプロジェクトを作成します
oc new-project keycloak
プロジェクトで Keycloak サーバーを起動するには、次のコマンドを入力します
oc process -f https://raw.githubusercontent.com/keycloak/keycloak-quickstarts/refs/heads/main/openshift/keycloak.yaml \
-p KC_BOOTSTRAP_ADMIN_USERNAME=admin \
-p KC_BOOTSTRAP_ADMIN_PASSWORD=admin \
-p NAMESPACE=keycloak \
| oc create -f -
この例では、ユーザー名とパスワードは admin
です。
上記のコマンドが完了したら、次のようなメッセージを探してください
service/keycloak created
route.route.openshift.io/keycloak created
deploymentconfig.apps.openshift.io/keycloak created.
この時点で、OpenShift は Keycloak ポッドと関連リソースをプロビジョニングします。このプロセスの一環として、OpenShift は Keycloak サーバーイメージをプルしようとします。この操作は、ネットワーク接続によっては時間がかかる場合があります。
Keycloak がプロビジョニングされていることを確認するには、次のコマンドを実行します
oc get pods
しばらくすると、次のようなメッセージを探してください。これはポッドの準備ができたことを示しています
NAME READY STATUS RESTARTS AGE
keycloak-1-deploy 0/1 Completed 0 1h
keycloak-1-l9kdx 1/1 Running 0 1h
サーバーがプロビジョニングされたら、次のコマンドを入力して Keycloak URL を見つけてください
KEYCLOAK_URL=https://$(oc get route keycloak --template='{{ .spec.host }}') &&
echo "" &&
echo "Keycloak: $KEYCLOAK_URL" &&
echo "Keycloak Admin Console: $KEYCLOAK_URL/admin" &&
echo "Keycloak Account Console: $KEYCLOAK_URL/realms/myrealm/account" &&
echo ""
最終的に複数のサーバーレプリカが必要になる場合は、「スケーリング」ガイドを参照してください。 |
このガイド全体でこれらの URL が必要になるため、覚えておいてください。レルムを最初に作成する必要があるため、アカウントコンソールの URL は現時点では機能しません。
Keycloak のレルムはテナントに相当します。各レルムにより、管理者はアプリケーションとユーザーの分離されたグループを作成できます。当初、Keycloak には master
という単一のレルムが含まれています。このレルムは Keycloak の管理のみに使用し、アプリケーションの管理には使用しないでください。
最初のレルムを作成するには、次の手順を使用します。
Keycloak 管理コンソールを開きます。
[現在のレルム] の横にある [レルムを作成] をクリックします。
[レルム名] フィールドに myrealm
と入力します。
[作成] をクリックします。
当初、レルムにはユーザーがいません。次の手順に従ってユーザーを作成します
[現在のレルム] の横にある myrealm
レルムにまだいることを確認します。
左側のメニューの [ユーザー] をクリックします。
[新しいユーザーを作成] をクリックします。
フォームに次の値を入力します
ユーザー名: myuser
名: 任意の名前
姓: 任意の姓
[作成] をクリックします。
このユーザーがログインするにはパスワードが必要です。最初のパスワードを設定するには
ページ上部の [認証情報] をクリックします。
[パスワードを設定] フォームにパスワードを入力します。
[一時的] を [オフ] に切り替えて、ユーザーが最初のログイン時にこのパスワードを更新する必要がないようにします。
これでアカウントコンソールにログインして、このユーザーが正しく構成されていることを確認できます。
Keycloak アカウントコンソールを開きます。
myuser
と先ほど作成したパスワードでログインします。
アカウントコンソールのユーザーとして、プロフィールの変更、二要素認証の追加、ID プロバイダーアカウントの追加など、アカウントを管理できます。
最初のアプリケーションを保護するには、まずアプリケーションを Keycloak インスタンスに登録することから始めます
Keycloak 管理コンソールを開きます。
[現在のレルム] の横にある myrealm
をクリックします。
[クライアント] をクリックします。
[クライアントを作成] をクリックします
フォームに次の値を入力します
クライアントタイプ: OpenID Connect
クライアント ID: myclient
[次へ] をクリックします
[標準フロー] が有効になっていることを確認します。
[次へ] をクリックします。
[ログイン設定] でこれらの変更を行います。
[有効なリダイレクト URI] を https://keycloak.dokyumento.jp/app/*
に設定します。
[Web オリジン] を https://keycloak.dokyumento.jp
に設定します
[保存] をクリックします。
クライアントが正常に作成されたことを確認するには、Keycloak Web サイトの SPA テストアプリケーションを使用できます。
[Keycloak URL] を Keycloak インスタンスの URL に変更します。
[保存] をクリックします。
[サインイン] をクリックして、先ほど起動した Keycloak サーバーを使用してこのアプリケーションを認証します。
Keycloak を本番環境で実行する前に、次のアクションを検討してください
PostgreSQL などの本番環境対応データベースに切り替えます。
独自の証明書で SSL を構成します。
管理者パスワードをより安全なパスワードに切り替えます。
詳細については、サーバーガイドを参照してください。