検索

第2章 管理 REST API

download PDF

Red Hat build of Keycloak には、管理コンソールの全機能が含まれる、完全に機能する管理 REST API が同梱されています。

API を呼び出すには、適切なパーミッションでアクセストークンを取得する必要があります。必要なパーミッションは、サーバー管理ガイド で説明しています。

Red Hat build of Keycloak を使用してアプリケーションの認証を有効にすることで、トークンを取得できます。アプリケーションおよびサービスのセキュリティー保護ガイドを参照してください。直接アクセス許可を使用して、アクセストークンを取得することもできます。

2.1. CURL の使用例

2.1.1. ユーザー名とパスワードでの認証

注記

次の例では、スタートガイド のチュートリアルのとおり、パスワード password を使用してユーザー adminmaster レルムに作成したことを前提としています。

手順

  1. ユーザー名 admin およびパスワード password を使用して、master レルムのユーザーのアクセストークンを取得します。

    curl \
      -d "client_id=admin-cli" \
      -d "username=admin" \
      -d "password=password" \
      -d "grant_type=password" \
      "http://localhost:8080/realms/master/protocol/openid-connect/token"
    注記

    デフォルトでは、このトークンは 1 分で有効期限が切れます。

    結果は JSON 形式のドキュメントになります。

  2. access_token プロパティーの値を抽出して、必要な API を呼び出します。
  3. API へのリクエストの Authorization ヘッダーに値を追加して、API を呼び出します。

    以下の例は、master レルムの詳細を取得する方法を示しています。

    curl \
      -H "Authorization: bearer eyJhbGciOiJSUz..." \
      "http://localhost:8080/admin/realms/master"

2.1.2. サービスアカウントでの認証

client_id および client_secret を使用し、Admin REST API に対して認証するには、この手順を実行します。

手順

  1. クライアントが次のように設定されていることを確認してください。

    • client_id は、レルム マスター に所属する 機密 クライアントです。
    • client_idService Accounts Enabled オプションを有効にしています。
    • client_id には、カスタムの "Audience" マッパーがあります。

      • 含まれるクライアントオーディエンス: security-admin-console
  2. Service Account Roles タブで client_id に admin というロールが割り当てられていることを確認します。
curl \
  -d "client_id=<YOUR_CLIENT_ID>" \
  -d "client_secret=<YOUR_CLIENT_SECRET>" \
  -d "grant_type=client_credentials" \
  "http://localhost:8080/realms/master/protocol/openid-connect/token"
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.