web-dev-qa-db-ja.com

Keycloakの役割はどのように管理されますか?

Keycloakは優れたツールですが、適切なドキュメントがありません。

したがって、Realm.roles、Client.roles、およびUser.rolesがあります。

特定のクライアントを使用してアプリケーションにアクセスする場合、どのように連携しますか?

今後ともよろしくお願いいたします。

8
Olivier Refalo

KeyCloakには、次の3つの役割があります。

  1. レルム役割
  2. クライアント役割
  3. コンポジット役割

KeyCloakにはユーザーロールはありません。おそらく、基本的にロール(レルム、クライアント、またはコンポジット)を特定のユーザーにマッピングするユーザーロールマッピングと混同しているでしょう。

これらの役割が実際にどのように機能するかを確認するために、最初に私が作成した単純なRealmモデルを見てみましょう。以下の図に示すように、すべてのRealmには1つまたは複数のClients。また、すべてのClientには複数のUsersをアタッチできます。

enter image description here

これで、ロールマッピングの仕組みを簡単に結論付けることができます。

レルムロール:これは、特定のレルムに属するグローバルロールです。どのクライアントからでもアクセスでき、どのユーザーにもマップできます。 Ex Role: 'Global Admin、Admin'

クライアントの役割:これは、特定のクライアントのみに属する役割です。別のクライアントからそのロールにアクセスすることはできません。そのクライアントからユーザーにのみマップできます。 Ex Roles: '従業員、顧客'

複合ロール:これは、1つ以上のロール(レルムまたはクライアントのロール)が関連付けられているロールです。

25
Dino