8.6. クライアントスコープ

多くのアプリケーションを組織内で保護および登録する必要がある場合には、これらの各クライアントに プロトコルマッパーロールスコープのマッピング を設定することが簡単になります。Red Hat Single Sign-On では、共有クライアント設定を クライアントスコープ と呼ばれるエンティティーに定義できます。

クライアントスコープは OAuth 2 scope パラメーターもサポートします。これにより、アプリケーションのニーズに応じて、クライアントアプリケーションがアクセストークン内の要求またはロールを要求できます。

クライアントスコープを作成するには、以下の手順に従います。

  • 左側のメニュー項目 Client Scopes に移動します。この初期画面には、現在定義されているクライアントスコープの一覧が表示されます。

クライアントスコープの一覧

client scopes list

  • Create ボタンをクリックします。クライアントスコープに名前を付け、保存します。クライアントスコープ には、通常のクライアントと同様のタブがあります。プロトコルマッパーロールスコープマッピング を定義できます。このマッピングは、他のクライアントによって継承でき、このクライアントスコープから継承するように設定されます。

8.6.1. プロトコル

クライアントスコープを作成する場合は、Protocol を選択する必要があります。同じプロトコルを使用するクライアントのみを、このクライアントスコープにリンクできます。

新しいレルムを作成したら、メニューに事前定義 (組み込み) クライアントスコープの一覧があることを確認できます。

  • SAML プロトコルには、SAML アサーションのロールリストを表示するためのプロトコルマッパーを 1 つ持つ 組み込みクライアントスコープ roles_list が 1 つあります。
  • OpenID Connect プロトコルには、クライアントスコーププロファイル profileemailaddressphoneoffline_accessrolesweb-origins、および microprofile-jwt があります。

クライアントスコープ (offline_access) は、クライアントがオフライントークンを取得する場合に便利です。Offline Access セクション または OpenID Connect 仕様 でオフライントークンについて説明します。ここで、scope パラメーターは offline_access の値で定義されます。

クライアントスコーププロファイル、profileemailaddress、および phone は、OpenID Connect 仕様 にも定義されています。これらのクライアントスコープにはロールスコープのマッピングが定義されていませんが、一部のプロトコルマッパーが定義されており、これらのマッパーは OpenID Connect 仕様で定義される要求に対応します。

たとえば、phone クライアントのスコープを開き、Mappers タブを開くと、プロトコルマッパーが表示されます。これは、スコープの phone の仕様で定義される要求に対応します。

クライアントスコープマッパー

client scopes phone

phone クライアントスコープがクライアントにリンクされると、そのクライアントは phone クライアントスコープで定義されたすべてのプロトコルマッパーを自動的に継承します。このクライアントに発行されたアクセストークンには、ユーザーに関する電話番号 (電話番号が定義されているか) が含まれます。

組み込みクライアントスコープには、仕様に定義されているプロトコルマッパーを正確に含まれますが、クライアントスコープを編集し、プロトコルマッパー (またはロールの範囲) の作成/更新/削除を行うことができます。

クライアントスコープ ロール は OpenID Connect 仕様に定義されず、アクセストークンの スコープ 要求に自動的に追加されません。このクライアントスコープにはいくつかのマッパーがあります。これは、ユーザーのロールをアクセストークンに追加するために使用され、Audience セクションに記載されているように、1 つ以上のクライアントロールを持つクライアントのオーディエンスを追加するために使用されます。

クライアントスコープの web-origins も OpenID Connect 仕様には定義されず、scope 要求には追加されません。これは、許可される Web オリジンをアクセストークン allowed-origins 要求に追加するために使用されます。

クライアント scopemicroprofile-jwtMicroProfile/JWT Auth Specification で定義された要求を処理するために作成されています。このクライアントスコープは、upn 要求のユーザープロパティーマッパーと、groups クレームのレルムロールマッパーを定義します。これらのマッパーは、MicroProfile/JWT 固有の要求を作成するために、必要に応じてこれらのマッパーを変更できます。