3.3. 専用コマンドを使用して管理者ユーザーまたはサービスアカウントをブートストラップする
bootstrap-admin
コマンドは、Red Hat build of Keycloak を初めて起動する前でも実行できます。このコマンドを使用する前に、すべての Red Hat build of Keycloak ノードを停止する必要があることに注意してください。これを実行すると、初期マスターレルムの作成がトリガーされ、その結果、後でサーバーが初めて起動されるときに、管理者ユーザーとサービスアカウントをブートストラップするための起動オプションは無視されます。
さらに、Red Hat build of Keycloak サーバーの起動時と同じオプション (例: db
オプション) を指定して専用コマンドを使用することを強く推奨します。
Red Hat build of Keycloak の設定 で説明されているように、build
コマンドを使用して Red Hat build of Keycloak の最適化バージョンをビルドした場合は、コマンドラインオプション --optimized
を使用して、起動時間を短縮するために Red Hat build of Keycloak がビルドチェックをスキップするようにします。その際には、コマンドラインからビルド時オプションを削除し、実行時オプションのみを保持します。
--optimized
を使用しない場合、bootstrap-admin
コマンドによって暗黙的に最適化されたイメージが作成または更新されることに注意してください。サーバーインスタンスと同じマシンからコマンドを実行している場合、サーバーの次回の起動に影響する可能性があります。
3.3.1. 管理者ユーザーの作成
一時的な管理者ユーザーを作成するには、次のコマンドを実行します。
bin/kc.[sh|bat] bootstrap-admin user
他のパラメーターが指定されていない場合、または対応する環境変数が設定されていない場合は、ユーザーは必要な情報を入力するよう求められます。ユーザー名の値を省略してデフォルト値を使用できます。詳細は、以下の 「デフォルト値」 セクションと 「環境変数」 セクションを参照してください。
または、コマンド内でパラメーターを直接指定することもできます。
bin/kc.[sh|bat] bootstrap-admin user --username tmpadm --password:env PASS_VAR
このコマンドは、ユーザー名 tmpadm
と環境変数から取得したパスワードを持つ一時的な管理者ユーザーを作成します。
3.3.2. サービスアカウントの作成
自動化されたシナリオでは、一時的な管理者ユーザーの代わりに、一時的な管理者サービスアカウントを使用する方が適している場合があります。
一時的な管理者サービスアカウントを作成するには、次のコマンドを実行します。
bin/kc.[sh|bat] bootstrap-admin service
同様に、対応する環境変数または追加のパラメーターが設定されていない場合、ユーザーは必要な情報を入力するよう求められます。デフォルト値を使用する場合は、クライアント ID 値を省略できます。詳細は、以下の 「デフォルト値」 セクションと 「環境変数」 セクションを参照してください。
または、コマンド内でパラメーターを直接指定することもできます。
bin/kc.[sh|bat] bootstrap-admin service --client-id tmpclient --client-secret:env=SECRET_VAR
このコマンドは、クライアント ID tmpclient
と環境変数から取得したシークレットを使用して、一時的な管理サービスアカウントを作成します。