From f076b99407158a8aef5cfbc2772fd23aa423f994 Mon Sep 17 00:00:00 2001 From: vramik Date: Tue, 25 Mar 2025 13:28:26 +0100 Subject: [PATCH] FGAP documentation Closes #37245 Signed-off-by: vramik --- .../release_notes/topics/26_2_0.adoc | 15 + .../server_admin/images/fine-grain-enable.png | Bin 0 -> 98958 bytes .../images/fine-grain-evaluation.png | Bin 0 -> 52875 bytes .../images/fine-grain-permissions-tab.png | Bin 0 -> 41022 bytes .../server_admin/images/fine-grain-search.png | Bin 0 -> 28112 bytes docs/documentation/server_admin/topics.adoc | 1 + .../topics/admin-console-permissions.adoc | 2 +- .../fine-grain-v2.adoc | 362 ++++++++++++++++++ .../admin-console-permissions/fine-grain.adoc | 10 +- .../master-realm.adoc | 27 +- .../admin-console-permissions/per-realm.adoc | 23 +- .../clients/oidc/con-advanced-settings.adoc | 2 +- .../topics/templates/document-attributes.adoc | 2 + .../topics/changes/changes-26_2_0.adoc | 36 ++ 14 files changed, 454 insertions(+), 26 deletions(-) create mode 100644 docs/documentation/server_admin/images/fine-grain-enable.png create mode 100644 docs/documentation/server_admin/images/fine-grain-evaluation.png create mode 100644 docs/documentation/server_admin/images/fine-grain-permissions-tab.png create mode 100644 docs/documentation/server_admin/images/fine-grain-search.png create mode 100644 docs/documentation/server_admin/topics/admin-console-permissions/fine-grain-v2.adoc diff --git a/docs/documentation/release_notes/topics/26_2_0.adoc b/docs/documentation/release_notes/topics/26_2_0.adoc index 6bc2dc0bcb8..c13486fb467 100644 --- a/docs/documentation/release_notes/topics/26_2_0.adoc +++ b/docs/documentation/release_notes/topics/26_2_0.adoc @@ -8,6 +8,21 @@ For more details, see the link:{securing_apps_token_exchange_link}#_standard-tok For information on how to upgrade from the legacy token exchange used in previous {project_name} versions, see the link:{upgradingguide_link}[{upgradingguide_name}]. += Fine-grained admin permissions supported + +This release introduces support for a new version of fine-grained admin permissions. Version 2 (V2) provides enhanced flexibility and control over administrative access within realms. +With this feature, administrators can define permissions for administering users, groups, clients, and roles without relying on broad administrative roles. V2 offers the same level of access control over realm resources as the previous version, with plans to extend its capabilities in future versions. Some key points follow: + +* *Centralized Admin Console Management* - New *Permissions* section was introduced to allow management from a single place without having to navigate to different places in the Admin Console. +* *Improved manageability* - Administrators can more easily search and evaluate permissions when building a permission model for realm resources. +* *Resource-Specific and Global Permissions* – Permissions can be defined for individual resources (such as specific users or groups), or entire resource types (such as all users or all groups). +* *Explicit Operation Scoping* – Permissions are now independent, removing hidden dependencies between operations. Administrators must assign each scope explicitly, making it easier to see what is granted without needing prior knowledge of implicit relationships. +* *Per-Realm Enablement* – Fine-Grained Admin Permissions can be enabled on a per-realm basis, allowing greater control over adoption and configuration. + +For more details, see link:{adminguide_finegrained_link}[{adminguide_finegrained_name}]. + +For more information about migration, see the link:{upgradingguide_link}[{upgradingguide_name}]. + = Guides for metrics and Grafana dashboards In addition to the list of useful metric names link:{observablitycategory_link}[the Observability guides category] now also contains a guide on how to display these metrics in Grafana. diff --git a/docs/documentation/server_admin/images/fine-grain-enable.png b/docs/documentation/server_admin/images/fine-grain-enable.png new file mode 100644 index 0000000000000000000000000000000000000000..4e0b705d059d7a95644322f3e44fd2f871a1f120 GIT binary patch literal 98958 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 ?u{i|ge;9l5MUTKEXW6V1qH+0-Q6jE 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
Q^CC}EAwmHQ4T3T&T<5`{7 zbwUcH^sRN_m|4?I zKmQa-{}suvCEl}=h2?vcY@^fXhe&6S>|VN0add&hBGQhJ?#!Ufd$(;olmMJHn*#G) zFVUak^1h4vT(o#k{k$Dn-n{(%zhRNgb?Z1YyFbng`C{k+=Em0kFtJ#7jq@VXk{uuB dk<3{_gOFF3%?=HQwh{Zw*vM>Gw&9`ke+R!v=mr1) literal 0 HcmV?d00001 diff --git a/docs/documentation/server_admin/topics.adoc b/docs/documentation/server_admin/topics.adoc index eec29ff7fe5..22bd30eac74 100644 --- a/docs/documentation/server_admin/topics.adoc +++ b/docs/documentation/server_admin/topics.adoc @@ -57,6 +57,7 @@ include::topics/sso-protocols.adoc[] include::topics/admin-console-permissions.adoc[] include::topics/admin-console-permissions/master-realm.adoc[] include::topics/admin-console-permissions/per-realm.adoc[] +include::topics/admin-console-permissions/fine-grain-v2.adoc[] ifeval::[{project_community}==true] include::topics/admin-console-permissions/fine-grain.adoc[] endif::[] diff --git a/docs/documentation/server_admin/topics/admin-console-permissions.adoc b/docs/documentation/server_admin/topics/admin-console-permissions.adoc index a9f191e062d..d24a4f2f8d0 100644 --- a/docs/documentation/server_admin/topics/admin-console-permissions.adoc +++ b/docs/documentation/server_admin/topics/admin-console-permissions.adoc @@ -1,6 +1,6 @@ [[_admin_permissions]] -== Controlling access to the Admin Console +== Managing access to realm resources Each realm created on the {project_name} has a dedicated Admin Console from which that realm can be managed. The `master` realm is a special realm that allows admins to manage more than one realm on the system. diff --git a/docs/documentation/server_admin/topics/admin-console-permissions/fine-grain-v2.adoc b/docs/documentation/server_admin/topics/admin-console-permissions/fine-grain-v2.adoc new file mode 100644 index 00000000000..9c52a3a03fe --- /dev/null +++ b/docs/documentation/server_admin/topics/admin-console-permissions/fine-grain-v2.adoc @@ -0,0 +1,362 @@ +[[_fine_grained_permissions]] + +=== Fine grained admin permissions V2 + +With fine-grained admin permissions, you can delegate realm management to other administrators, delegate realm management +to other administrators, the realm administrators. Different from the regular Role-Based Access Control Mechanism provided +through the Global and Realm specific roles (<<_master_realm_access_control, Master realm access control>>), this feature +provides a more fine-grained control over how realm resources can be accessed and managed based on a well-defined set of +operations that can be performed on them. + +By relying on a Policy-Based Access Control, server administrators can define permissions to realm resources such as users, +groups, and clients, using different policy types, or access control methods, so that a realm administrator is limited to +access a subset of realm resources and their operations. + +Here are some key points to understand about fine-grained admin permissions: + +* Fine grained admin permissions are only available within <<_per_realm_admin_permissions, dedicated admin consoles>> or + realm-specific admin APIs and administrators defined within those realms. You cannot define cross-realm fine grained permissions. +* Fine grained admin permissions are used to grant additional permissions. You cannot override the default behavior of the + built-in admin roles. +* Fine-grained admin permissions V2 do not support federated resources. This restriction is a known limitation under consideration + for future improvement. + +[NOTE] +==== +To maximize the effectiveness of fine-grained admin permissions while minimizing the impact of broad admin roles, +it is recommended to assign the *query-clients*, *query-groups*, and *query-users* roles (along with roles required +for realm management) to allow querying. All other administrative access could be managed through fine-grained permissions. +See <<_realm_access_control, Accessing a Realm Admin Console as a Realm Administrator>> for more information. +==== + +==== Understanding the Realm Resource Types + +In a realm, you can manage different types of resources such as users, groups, clients, client scopes, roles, and so on. +As a realm administrator, you are constantly managing these resources to manage your identities and how they authenticate +and authorize to a realm and your applications. + +Each realm resource supports a well-defined set of management operations, or actions, that can be performed on them, +such as view, manage, and resource-specific operations such as view-members if you take groups as an example. + +This feature provides the necessary mechanisms to enforce access to a well-defined set of realm resources, limited to: + +* Users +* Groups +* Clients +* Roles + +When managing permissions for a specific realm resource type, you can choose to do it for all resources of a given resource +type, such as users, or for a specific realm resource, such as a specific user or set of users in the realm. + +===== Users Resource Type + +The *Users* realm resource type represents the users in a realm. You can manage permissions for users based on the following +set of management operations: + +[cols="30%,70%"] +|=== +| *Operation* | *Description* + +| *view* | Defines if a realm administrator can view users. +| *manage* | Defines if a realm administrator can manage users. +| *manage-group-membership* | Defines if a realm administrator can assign or anassign users into groups. +| *map-roles* | Defines if a realm administrator can assign or anassign roles to users. +| *impersonate* | Defines if a realm administrator can impersonate other users. +|=== + +[NOTE] +==== +- An administrator must have explicit permission assigned for each operation to perform the corresponding action. For example, + assigning only *manage* without *view* will prevent the user from being visible. +- The *view* operation also considers group-related permissions, specifically *view-members* for viewing group members. + The evaluation takes permissions for specific resources (specific user permissions and specific group permissions) first. + See <<_resolving-conflicting-permissions, Resolving Conflicting Permissions>> for more information. +- Similarly, the *manage* operation takes *manage-members* into account when managing group members. +==== + +===== Groups Resource Type + +The *Groups* realm resource type represents the groups in a realm. You can manage permissions for groups based on the following +set of management operations: + +[cols="30%,70%"] +|=== +| *Operation* | *Description* + +| *view* | Defines if a realm administrator can view groups. +| *manage* | Defines if a realm administrator can manage groups. +| *view-members* | Defines if a realm administrator can view group members. +| *manage-members* | Defines if a realm administrator can manage group members. +| *manage-membership* | Defines if a realm administrator can add or remove members from groups. +|=== + +[NOTE] +==== +- An administrator must have explicit permission assigned for each operation to perform the corresponding action. For example, + assigning only *manage* without *view* will prevent the group from being visible. +- The *view-members* and *manage-members* operations apply to the entire group hierarchy. In other words, if an administrator has + permission to manage members of a group, they can also manage members of all its subgroups. This can be prevented by + explicitly denying permission for specific subgroups. +==== + +===== Clients Resource Type + +The *Clients* realm resource type represents the clients in a realm. You can manage permissions for clients based on the following +set of management operations: + +[cols="30%,70%"] +|=== +| *Operation* | *Description* + +| *view* | Defines if a realm administrator can view clients. +| *manage* | Defines if a realm administrator can manage clients. It allows operations, such as update certificates, manage + protocol-mappers or client scopes, regenerate access token. +| *configure* | Defines if a realm administrator can manage clients. +| *map-roles* | Defines if a realm administrator can assign any role defined by a client (or multiple clients) to a user. +| *map-roles-composite* | Defines if a realm administrator can assign any role defined by a client (or multiple clients) as a composite to + another role. +| *map-roles-client-scope* | Defines if a realm administrator can assign any role defined by a client (or multiple clients) to the scope of + another client. +|=== + +[NOTE] +==== +- An administrator must have explicit permission assigned for each operation to perform the corresponding action. For example, + assigning only *manage* without *view* will prevent the client from being visible. +- The *map-roles* operation does not grant the ability to manage users or assign roles arbitrarily; the administrator must also + have user role mapping permissions. +- For certain operations like updating or deleting clients it is required both *manage* and *configure* assigned. +==== + +===== Roles Resource Type + +The *Roles* realm resource type represents the roles in a realm. You can manage permissions for roles based on the following set of management operations: + +[cols="30%,70%"] +|=== +| *Operation* | *Description* + +| *map-role* | Defines if a realm administrator can assign a role (or multiple roles) to a user. +| *map-role-composite* | Defines if a realm administrator can assign a role (or multiple roles) as a composite to another role. +| *map-role-client-scope* | Defines if a realm administrator can apply a role (or multiple roles) to an another client’s scope. +|=== + +[NOTE] +==== +* The *map-role* operation does not grant the ability to manage users or assign roles arbitrarily; the administrator must also have + user role mapping permissions. +* When mapping client roles, if an administrator has permission to *map-roles*, *map-roles-composite*, or *map-roles-client-scope* for + a client, permissions for specific roles within that client are not evaluated. +==== + +==== Enabling admin permissions to a realm + +To enable fine-grained admin permissions in a realm, follow these steps: + +* Log in to the Admin Console. +* Click *Realm settings*. +* Enable *Admin Permissions* and click *Save*. + +image:images/fine-grain-enable.png[Fine grain enable] + +Once enabled, a *Permissions* section appears in the left-side menu of the administration console. + +image:images/fine-grain-permissions-tab.png[Fine grain permissions tab] + +==== Managing Permissions + +The *Permissions* tab provides an overview of all active permissions within a realm. From here, administrators can create, +update, delete, or search for permissions. + +The *Policies* tab allows administrators to define conditions using different access control methods (*policy type*) to determine whether +a permission should be granted to an administrator attempting to access a specific resource performing some operation. It also +supports basic searching capability, based on policy `name` and its `type`. Fine-grained admin permissions were implemented on top of +Authorization services. Read more about link:{authorizationguide_link}#_policy_overview[Managing policies] in the Authorization services +documentation. + +===== Defining permissions for viewing realm resources + +IMPORTANT: When listing or searching for realm resources (such as clients, groups, or users) via the Admin Console or Admin API, {project_name} +evaluates permissions that contain the *view* scope for the specific resource. For this operation, only role, user, and group policy types are +considered, while other policy types are ignored due to partial evaluation performed at the database level. Because of this, only policies that +reference the resource directly—whether through user association, group membership, or role assignment—are found and permissions assiciated with +those are used for evaluation. + +When checking whether an admin can view a specific user, all policy types are taken into account. + +The partial evaluation mechanism helps identify and load relevant permissions from the database by using the resource +identifiers that the realm administrator has permission to "view". These identifiers are then applied in the subsequent +database query to fetch the actual stream of resources. Partial evaluation is supported for non-federated resources, which +is a limitation of the current implementation. + +===== Searching Permissions + +The Admin Console provides several ways to search for permissions, supporting the following capabilities: + +* Search for permissions that contain a specific string in their *Name* +* Search for permissions of a specific resource type, such as *Users* +* Search for permissions of a specific resource type that apply to a particular resource (such as *Users* resource type for user `myadmin`). +* Search for permissions of a specific resource type with a given scope (such as *Users* resource type permissions with the *manage* scope). +* Search for permissions of a specific resource type that apply to a particular resource and have a specific scope (such as *Users* resource + type permissions with the *manage* scope for user `myadmin`). + +image:images/fine-grain-search.png[Fine grained permissions search] + +==== Evaluating Permissions + +The *Evaluation* tab provides a testing environment where administrators can verify that permissions are correctly enforcing access +control as expected. + +The administrator could see what permissions were involved in evaluation and what the outcome is by specifying a `username` of a user they +want to verify, *Resource type*, resource (usermane of a *User* in this case) and optionally an authorization scope. + +image:images/fine-grain-evaluation.png[Fine grained permissions evaluation tab] + +In the example above it is visible that the user `myadmin`, can *manage* user `user-1`. There is also information what permissions were involved +in the evaluation, what outcome it had and what scopes were granted or denied. + +[[_resolving-conflicting-permissions]] +===== Resolving conflicting permissions + +Permissions can have multiple policies associated with them. As the authorization model evolves, it is common for some policies within a permission or +even different permissions related to a specific resource to conflict. + +The evaluation outcome will be "denied" whenever any permission is evaluated to "DENY." If there are multiple permissions related to the same resource, +all of them must grant access in order for the outcome to be "granted." + +IMPORTANT: Fine-grained admin permissions allow you to set up permissions for individual resources or for the resource type itself (such as all users, +all groups, and so on.). If a permission or permissions related to a specific resource exist, the "all-resource" permission is *NOT* taken into account +during evaluation. If no specific permission exists, the fallback is to the "all-resource" permission. This approach helps address scenarios like +allowing members of the `realm-admins` group to manage members of realm groups, but preventing them from managing members of the `realm-admins` group +themselves. + +*View and Manage users and group members* + +When evaluating *view* or *manage* permissions for users the group *view-members* and *manage-members* permissions are taken into an account. +The evaluation follows: + +* Specific user/group permissions take precedence over broader all-resource permissions. +* If multiple permissions apply to a given user or group (such as multiple user-specific permissions, or a permission covering a set of + users/groups where the user is member of), all of them are evaluated, and all of them must grant access for the outcome to be GRANTED. +* If no user/group-specific permissions exist, the evaluation falls back to all-resource permissions ("all-users", "all-groups"). +* When both all-users and all-groups permissions exist, both must grant access for the outcome to be GRANTED. +* If only one of them exists, the outcome is determined by that permission alone. + +[[_realm_access_control]] +==== Accessing a Realm Admin Console as a Realm Administrator + +Realm administrators can access a dedicated realm-specific Admin Console, which allows them to manage resources within their assigned realm. +This is separate from the main Keycloak Admin Console, which is typically used by server administrators. + +For more details on dedicated realm admin consoles and available roles, refer to: <<_per_realm_admin_permissions, Dedicated admin consoles>>. + +To access the Admin Console, a realm administrator must have at least one of the following roles assigned, depending on the resources they +need to administer: + +- *query-users* – Required to query realm users. +- *query-groups* – Required to query realm groups. +- *query-clients* – Required to query realm clients. + +If an administrator is responsible for multiple resource types (such as both users and groups), they must have all corresponding "query-*" +roles assigned. + +These roles enable basic access to query resources but do not grant permission to view or modify them. To configure more fine-grained +administrative access, additional permissions must be granted using fine-grained admin permissions. + +===== Granting Administrative Roles to a Realm Administrator + +A realm administrator’s access must be configured by someone with permission to assign administrative roles. At a minimum, the administrator +must have: + +- The appropriate "query-*" roles, depending on the resource types they need to administer. + +Beyond these foundational roles, *fine-grained admin permissions* can be used to define specific administrative capabilities. While fine-grained +permissions allow for more granular control over access, they cannot override the default behavior of built-in admin roles. +This means that if an respective admin role is assigned to a realm administrator, permission evaluation will be bypassed, and access will be +granted. + +====== Roles and Permission relationship + +Fine grained permissions are used to grant additional permissions. You cannot override the default behavior of the built-in admin roles. +If a realm admin is assigned one or more admin roles, it prevents the permissions from being evaluated. + +[cols="30%,70%"] +|=== +| *Admin Role* | *Description* + +| *query-users* | A realm administrator can see the *Users* section in Admin Console and can search for users in the realm. + It does not grant the ability to *view* users. +| *query-groups* | A realm administrator can see the *Groups* section in Admin Console and can search for groups in the realm. + It does not grant the ability to *view* groups. +| *query-clients* | A realm administrator can see the *Clients* section in Admin Console and can search for clients in the realm. + It does not grant the ability to *view* clients. +| *view-users* | A realm administrator can *view* all users and groups in the realm. +| *manage-users* | A realm administrator can *view*, *map-roles*, *manage-group-membership* and *manage* all users in the realm, + as well as *view*, *manage-membership* and *manage* groups in the realm. +| *impersonation* | A realm administrator can *impersonate* all users in the realm. +| *view-clients* | A realm administrator can *view* all clients in the realm. +| *manage-clients* | A realm administrator can *view* and *manage* all clients and client scopes in the realm. +|=== + +==== Understanding some common use cases + +Consider a situation where an administrator wants to allow a group of administrators to manage all users in the realm except those that +belong to the administrators group. This example includes a `test` realm and a `test-admins` group. + +===== Allow manage users by group of administrators + +Create user permission permission, allowing to view and manage all users in the realm for members of the `test-admins` group: + +* Navigate to the *Permissions* tab in the Admin Console. +* Click *Create permission* and choose *Users* resource type. +* Fill in the name, such as `Disallow managing test-admins`. +* Choose *view* and *manage* authorization scopes, keep checked *All Users*. +* Create a condition, which needs to be met to get an access by clicking *Create new policy*. +* Fill in the name `Allow test-admins`, select *Group* as *Policy type*. +* Click *Add groups* button and select `test-admins` group, click *Save*. +* Click *Save* on *Create permission* page. + +===== Allow manage users by group of admins but not group members + +Let's exlude the members of the group itself, so that `test-admins` cannot manage other admins. + +* Create new permission by clicking *Create permission*. +* This time choose *Groups* resource type. +* Fill in the name, such as `Disallow managing test-admins`. +* Choose *manage-members* authorization scope. +* Select *Specific Groups* and choose `test-admins` group. +* *Create new policy* of type *Group*. +* Fill the name `Disallow test-admins` and select `test-admins` group. +* Switch to *Negative Logic* for the policy, *Save* the policy +* *Save* the permission + +===== Allow impersonation of users for members of admin group with specific role assigned + +- Create a "User Permission" for specific users (or all users) you want to allow impersonation. +- Create a "Group Policy" allowing access to members of `test-admins`. +- Create a "Role Policy" allowing access to users assigned the `impersonation-admin` role. +- Assign both policies to the permission. + +===== Blacklist specific users from being impersonated + +- Create a *User Permission* for the specific users you want to prevent from being impersonated. +- Create any policy that evaluates to deny (such as a user policy with no users selected). +- Assign the policy to the permission to effectively block impersonation for the selected users. + +===== Allow viewing users but not managing them for admins with defined role assigned + +- Create a "User Permission" with the *view* scope for all users. +- Create a "Role Policy" allowing access to users with specific role assigned. +- Do _not_ assign the `manage` scope to prevent modification of user details. + +===== Allow managing users and role assignment for members of a group + +- Create a "User Permission" with the *manage*, *map-roles* scopes for all users. +- Create a "Group Policy" allowing access to members of `test-admins`. + +===== Allow viewing and managing members of a group but not members of its subgroups + +- Create a "Group Permission" with the *view-members* and *manage-members* scopes for specific group `mygroup`. +- Assign a "Group Policy" targeting `test-admins` to it. +- Create another "Group Permission" with the *view-members* and *manage-members* scopes for specific group, select all subgroups of the `mygroup`. +- Create negative "Group Policy" for `test-admins` and assign it to the "subgroups" permission. diff --git a/docs/documentation/server_admin/topics/admin-console-permissions/fine-grain.adoc b/docs/documentation/server_admin/topics/admin-console-permissions/fine-grain.adoc index d7910c36227..0d79a1e2cb9 100644 --- a/docs/documentation/server_admin/topics/admin-console-permissions/fine-grain.adoc +++ b/docs/documentation/server_admin/topics/admin-console-permissions/fine-grain.adoc @@ -1,10 +1,9 @@ -[[_fine_grain_permissions]] -=== Fine grain admin permissions +=== Fine grained admin permissions V1 -:tech_feature_name: Fine Grain Admin Permissions -:tech_feature_id: admin-fine-grained-authz -include::../templates/techpreview.adoc[] +IMPORTANT: fine-grained admin permissions V1 have been replaced by a <<_fine_grained_permissions, new version>>. +Version 1 of the feature is still marked as preview and is available, but it may be deprecated and removed +in future. To enable it, start the server with `--features=admin-fine-grained-authz:v1`. Sometimes roles like `manage-realm` or `manage-users` are too coarse grain and you want to create restricted admin accounts that have more fine grain permissions. {project_name} allows you to define @@ -298,4 +297,3 @@ manage-membership:: Policies that decide if an admin can change the membership of the group. Add or remove members from the group. - diff --git a/docs/documentation/server_admin/topics/admin-console-permissions/master-realm.adoc b/docs/documentation/server_admin/topics/admin-console-permissions/master-realm.adoc index 3c0b626a885..4f2374df4f7 100644 --- a/docs/documentation/server_admin/topics/admin-console-permissions/master-realm.adoc +++ b/docs/documentation/server_admin/topics/admin-console-permissions/master-realm.adoc @@ -1,9 +1,10 @@ +[[_master_realm_access_control]] === Master realm access control The `master` realm in {project_name} is a special realm and treated differently than other realms. Users in the {project_name} `master` realm can be granted permission to manage zero or more realms that are deployed on the {project_name} server. -When a realm is created, {project_name} automatically creates various roles that grant fine-grain permissions to access that new realm. +When a realm is created, {project_name} automatically creates various roles that grant permissions to access that new realm. Access to The Admin Console and Admin REST endpoints can be controlled by mapping these roles to users in the `master` realm. It's possible to create multiple superusers, as well as users that can only manage specific realms. @@ -27,18 +28,24 @@ level of access to manage an individual realm. The roles available are: -* view-realm -* view-users -* view-clients -* view-events +* create-client +* impersonation +* manage-authorization +* manage-clients +* manage-events +* manage-identity-providers * manage-realm * manage-users -* create-client -* manage-clients -* manage-events +* query-clients +* query-groups +* query-realms +* query-users +* view-authorization +* view-clients +* view-events * view-identity-providers -* manage-identity-providers -* impersonation +* view-realm +* view-users Assign the roles you want to your users and they will only be able to use that specific part of the administration console. diff --git a/docs/documentation/server_admin/topics/admin-console-permissions/per-realm.adoc b/docs/documentation/server_admin/topics/admin-console-permissions/per-realm.adoc index 80a4f5d3999..78131ff5510 100644 --- a/docs/documentation/server_admin/topics/admin-console-permissions/per-realm.adoc +++ b/docs/documentation/server_admin/topics/admin-console-permissions/per-realm.adoc @@ -8,18 +8,25 @@ Users within that realm can be granted realm management permissions by assigning Each realm has a built-in client called `realm-management`. You can view this client by going to the `Clients` left menu item of your realm. This client defines client-level roles that specify permissions that can be granted to manage the realm. -* view-realm -* view-users -* view-clients -* view-events -* manage-realm -* manage-users * create-client +* impersonation +* manage-authorization * manage-clients * manage-events -* view-identity-providers * manage-identity-providers -* impersonation +* manage-realm +* manage-users +* query-clients +* query-groups +* query-realms +* query-users +* realm-admin +* view-authorization +* view-clients +* view-events +* view-identity-providers +* view-realm +* view-users Assign the roles you want to your users and they will only be able to use that specific part of the administration console. diff --git a/docs/documentation/server_admin/topics/clients/oidc/con-advanced-settings.adoc b/docs/documentation/server_admin/topics/clients/oidc/con-advanced-settings.adoc index 6f16d5258d8..fd3892c9511 100644 --- a/docs/documentation/server_admin/topics/clients/oidc/con-advanced-settings.adoc +++ b/docs/documentation/server_admin/topics/clients/oidc/con-advanced-settings.adoc @@ -4,7 +4,7 @@ After completing the fields on the *Settings* tab, you can use the other tabs to perform advanced configuration. ifeval::[{project_community}==true] -For example, you can use the *Permissions* and *Roles* tabs to configure fine-grained authentication for administrators. See <<_fine_grain_permissions, Fine grain admin permissions>>. Also, see the remaining sections in this chapter for other capabilities. +For example, you can use the *Roles* or *Client scopes* tabs to configure client roles defined for the client or manage client scopes for the client. Also, see the remaining sections in this chapter for other capabilities. endif::[] == Advanced tab diff --git a/docs/documentation/topics/templates/document-attributes.adoc b/docs/documentation/topics/templates/document-attributes.adoc index d029c7a336d..f9717753e7e 100644 --- a/docs/documentation/topics/templates/document-attributes.adoc +++ b/docs/documentation/topics/templates/document-attributes.adoc @@ -48,6 +48,8 @@ :adminguide_bruteforce_link: {adminguide_link}#password-guess-brute-force-attacks :adminguide_eventlistener_name: Event listener :adminguide_eventlistener_link: {adminguide_link}#event-listener +:adminguide_finegrained_name: fine-grained admin permissions +:adminguide_finegrained_link: {adminguide_link}#_fine_grained_permissions :adminguide_timeouts_name: Timeouts :adminguide_timeouts_link: {adminguide_link}#_timeouts :adminguide_clearcache_name: Clearing Server Caches diff --git a/docs/documentation/upgrading/topics/changes/changes-26_2_0.adoc b/docs/documentation/upgrading/topics/changes/changes-26_2_0.adoc index ac1041e9c0f..87d07e98fc8 100644 --- a/docs/documentation/upgrading/topics/changes/changes-26_2_0.adoc +++ b/docs/documentation/upgrading/topics/changes/changes-26_2_0.adoc @@ -89,6 +89,42 @@ the https://datatracker.ietf.org/doc/html/rfc6749#section-6[OAuth2 specification Currently, it is not supported to request offline tokens or exchange a refresh token when the subject token was issued from an offline session. The recommended approach is to exchange for access tokens instead of refresh token when possible. +=== Fine-grained admin permissions supported + +Starting with this release, {project_name} introduces *fine-grained admin permissions V2*, offering an improved and more flexible authorization model for administrative permissions. + +* FGAP:V2 feature is enabled by default. +* FGAP:V1 feature remains in preview and can be enabled using `--features=admin-fine-grained-authz:v1`. However, V1 may be deprecated and removed in a future releases. + +==== Migration from V1 to V2 + +Due to fundamental changes in the permission model, **automatic migration from V1 to V2 is not available**. To simplify the transition: + +* A new `admin-permissions` client is introduced. This client is created when you enable the capability for the realm. The client holds the authorization model for FGAP:V2. +* The existing FGAP:V1 authorization model remains unchanged within the `realm-management` client. +* Administrators must _recreate permissions and policies_ using the new model, which can be configured in the updated *Permissions* section of the Admin Console. + +==== Key Differences Between FGAP:V1 and FGAP:V2 + +* Realm-level enablement: + ** FGAP:V2 can be enabled for a realm using the new *Admin Permissions* switch in *Realm Settings*. +* Centralized management: + ** The resource-specific *Permissions* tabs (for users, groups, clients, and roles) have been removed. + ** A new *Permissions* section provides centralized management for all administrative permissions from a single place in the Admin Console. +* Explicit operation scoping: + ** Transitive dependencies between permissions have been removed. + ** Administrators must now explicitly assign each required permission. + ** Example: To both view and manage a resource, both *view* and *manage* scopes for a permissions must be assigned separately. +* Permission model changes: + ** The *user-impersonated* user permission has been _removed_. +* Flexible resource scoping: + ** Unlike V1, where permissions were granted either to *a single resource* (for clients, groups, and roles) or *all resources* (for users), V2 introduces greater flexibility. + ** Administrators can now define permissions for: + *** A *specific resource* + *** A *set of selected resources* + *** *All resources* of a given type + *** This applies to *all resource types*: clients, users,groups, and roles. + === LDAP provider now can store new users, groups, and roles in a sub-DN of the base DN When adding new users, groups, or roles, the LDAP provider would always store them in the same base DN configured for the searches. However, in some deployments admins may want to configure a broader DN with `subtree` scope to fetch users (or groups/roles) from multiple sub-DNs, but they don't want new users (or groups/roles) to be stored in this base DN in LDAP. Instead, they would like to chose one of the sub-DNs for that.

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 PXD=_SER%=$>+k;ri63;A literal 0 HcmV?d00001 diff --git a/docs/documentation/server_admin/images/fine-grain-permissions-tab.png b/docs/documentation/server_admin/images/fine-grain-permissions-tab.png new file mode 100644 index 0000000000000000000000000000000000000000..1cce9b58ddfddfc80335c4aa292a11c274ffbca4 GIT binary patch literal 41022 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 T>aYBhm5_Wc_bfy7)rbEENEKY^ literal 0 HcmV?d00001 diff --git a/docs/documentation/server_admin/images/fine-grain-search.png b/docs/documentation/server_admin/images/fine-grain-search.png new file mode 100644 index 0000000000000000000000000000000000000000..807365c36e88ad836daf04ad76642543f4b98561 GIT binary patch literal 28112 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