15.4. Keycloak で HawtIO と OpenID Connect 認証を使用する


Keycloak インスタンスを実行する最も簡単な方法は、コンテナーを使用することです。

podman run -d --name keycloak \
  -p 18080:8080 \
  -e KEYCLOAK_ADMIN=admin \
  -e KEYCLOAK_ADMIN_PASSWORD=admin \
  quay.io/keycloak/keycloak:latest start-dev

起動したら、http://localhost:18080/admin/master/console/ にアクセスし、新しいレルムを作成します。

keycloak によるレルムの作成

レルム作成画面で、事前設定された hawtio-client クライアントと 3 ユーザーを含む新しい hawtio-demo レルムを定義する hawtio-demo-realm.json をアップロードします。

  1. admin または manageradminvieweruser のロールを持つ admin
  2. viewer または viewer および user のロールを持つ viewer
  3. jdoe または user ロールのみを持つ jdoe

15.4.1. JWT トークンに関する問題の調査

付与されたアクセストークンの内容を確認するには、Keycloak インターフェイスを使用できます。"Clients" に移動して "hawtio-client" を選択し、"Client scopes" タブと "Evaluate" サブタブを使用します。

keycloak 評価

次に "Users" フィールドで、たとえば "admin" を選択し、"Generated access token" をクリックします。次に、サンプルトークンを調査します。

{
  "exp": 1709552728,
  "iat": 1709552428,
  "jti": "0f33971f-c4f7-4a5c-a240-c18ba3f97aa1",
  "iss": "http://localhost:18080/realms/hawtio-demo",
  "aud": "account",
  "sub": "84d156fa-e4cc-4785-91c1-4e0bda4b8ed9",
  "typ": "Bearer",
  "azp": "hawtio-client",
  "session_state": "181a30ac-fce1-4f4f-aaee-110304ccb0e6",
  "acr": "1",
  "allowed-origins":
  [
    "http://0.0.0.0:8181",
    "http://localhost:8080",
    "http://localhost:8181",
    "http://0.0.0.0:10001",
    "http://0.0.0.0:8080",
    "http://localhost:10001",
    "http://localhost:10000",
    "http://0.0.0.0:10000"
  ],
  "realm_access":
  {
    "roles":
    [
      "viewer",
      "manager",
      "admin",
      "user"
    ]
  },
  "resource_access":
  {
    "account":
    {
      "roles":
      [
        "manage-account",
        "manage-account-links",
        "view-profile"
      ]
    }
  },
  "scope": "openid profile email",
  "sid": "181a30ac-fce1-4f4f-aaee-110304ccb0e6",
  "email_verified": false,
  "name": "Admin HawtIO",
  "preferred_username": "admin",
  "given_name": "Admin",
  "family_name": "HawtIO",
  "email": "admin@hawt.io"
}

JWT アクセストークンの構造がわかれば、ロールパスが正しく設定されているかどうかを確認できます。

# example for Keycloak with use-resource-role-mappings=false
oidc.rolesPath = realm_access.roles
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.