18.3. 認証

管理 CLI でログインする場合に、以下を指定します。

  • サーバーエンドポイント URL
  • レルム
  • ユーザー名

別のオプションとして、clientId のみを指定して、使用する固有のサービスアカウントを作成します。

ユーザー名を使用してログインする場合は、指定したユーザーのパスワードを使用します。clientId を使用してログインする場合、ユーザーパスワードではなくクライアントシークレットのみが必要になります。クライアントシークレットの代わりに Signed JWT を使用することもできます。

セッションに使用されるアカウントに、Admin REST API 操作を呼び出すための適切なパーミッションがあることを確認してください。たとえば、realm-management クライアントの realm-admin ロールは、ユーザーのレルムを管理できます。

認証には 2 つの主なメカニズムを使用できます。1 つのメカニズムは kcadm config credentials を使用して認証セッションを開始します。

$ kcadm.sh config credentials --server http://localhost:8080/auth --realm master --user admin --password admin

この仕組みでは、取得したアクセストークンと関連する更新トークンを保存することで、kcadm コマンド呼び出し間の認証セッションを維持します。プライベート設定ファイルで他のシークレットを保持することができます。詳細は、次の章 を参照してください。

2 つ目のメカニズムは、呼び出し中に各コマンド呼び出しを認証します。このメカニズムは、サーバーの負荷と、ラウンドトリップに費やされた時間を増やします。このアプローチの利点は、呼び出し間でトークンを保存する必要がないので、ディスクには何も保存されない点です。--no-config 引数を指定すると、Red Hat Single Sign-On はこのモードを使用します。

たとえば、操作の実行時に、認証に必要な情報をすべて指定します。

$ kcadm.sh get realms --no-config --server http://localhost:8080/auth --realm master --user admin --password admin

管理 CLI の使用に関する詳細情報は、kcadm.sh help コマンドを実行します。

認証セッションの開始に関する詳細は、kcadm.sh config credentials --help コマンドを実行します。