第8章 認可サービス


Red Hat Single Sign-On Authorization Services は、OAuth2 や User-Managed Access 仕様などのよく知られた標準規格の上に構築されています。

OAuth2 クライアント (フロントエンドアプリケーションなど) は、トークンエンドポイントを使用してサーバーからアクセストークンを取得し、その同じトークンを使用してリソースサーバー (バックエンドサービスなど) で保護されたリソースにアクセスすることができます。同様に、Red Hat Single Sign-On Authorization Services は OAuth2 の拡張機能を提供し、要求されたリソースまたはスコープに関連するすべてのポリシーの処理に基づいてアクセストークンを発行することができます。つまり、リソースサーバーは、サーバーによって付与されるパーミッションに基づいて保護されているリソースへのアクセスを強制でき、アクセストークンによって保持されます。Red Hat Single Sign-On の Authorization Services では、パーミッションのあるアクセストークンは Requesting Party Token または RPT for short と呼ばれます。

RPT の発行に加えて、Red Hat Single Sign-On Authorization Services は、リソースサーバーが保護されたリソース、スコープ、パーミッション、ポリシーを管理できる RESTful エンドポイントのセットを提供し、開発者がきめ細かな認可をサポートするためにこれらの機能をアプリケーションに拡張または統合するのに役立ちます。

8.1. 認可サービスエンドポイントおよびメタデータの検出

Red Hat Single Sign-On は、クライアントがエンドポイントの場所や機能など、Red Hat Single Sign-On 認可サービスと対話するために必要なすべての情報を得ることができる、ディスカバリードキュメントを提供します。

検出ドキュメントは、以下から取得できます。

curl -X GET \
  http://${host}:${port}/auth/realms/${realm}/.well-known/uma2-configuration

${host}:${port} はホスト名 (または IP アドレス) とポートです。${realm} は Red Hat Single Sign-On のレルムの名前です。

そのため、以下のような応答が返されるはずです。

{

    // some claims are expected here

    // these are the main claims in the discovery document about Authorization Services endpoints location
    "token_endpoint": "http://${host}:${port}/auth/realms/${realm}/protocol/openid-connect/token",
    "token_introspection_endpoint": "http://${host}:${port}/auth/realms/${realm}/protocol/openid-connect/token/introspect",
    "resource_registration_endpoint": "http://${host}:${port}/auth/realms/${realm}/authz/protection/resource_set",
    "permission_endpoint": "http://${host}:${port}/auth/realms/${realm}/authz/protection/permission",
    "policy_endpoint": "http://${host}:${port}/auth/realms/${realm}/authz/protection/uma-policy"
}

これらの各エンドポイントは、特定の機能セットを公開します。

  • token_endpoint

    urn:ietf:params:oauth:grant-type:uma-ticket 付与タイプをサポートする OAuth2 準拠のトークンエンドポイント。このエンドポイントを介して、クライアントは認可要求を送信し、Red Hat Single Sign-On によって付与されたすべての権限を持つ RPT を取得することができます。

  • token_introspection_endpoint

    OAuth2 準拠のトークンイントロスペクションエンドポイント。クライアントがサーバーにクエリーして RPT のアクティブな状態を判断し、Red Hat Single Sign-On が付与するパーミッションなどのトークンに関連付けられた他の情報を決定します。

  • resource_registration_endpoint

    リソースサーバーが保護されるリソースおよびスコープを管理するために使用できる UMA 準拠の Resource Registration Endpoint。このエンドポイントは、Red Hat Single Sign-On のリソースおよびスコープの作成、読み取り、更新、および削除の操作を行います。

  • permission_endpoint

    リソースサーバーがパーミッションチケットを管理するのに使用できる UMA 準拠のパーミッションエンドポイント。このエンドポイントは、Red Hat Single Sign-On でパーミッションチケットを作成、読み取り、更新、および削除する操作を提供します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.