From d12711e858ab502ea3428f9af0e59d1470832733 Mon Sep 17 00:00:00 2001 From: Pedro Igor Date: Fri, 1 Mar 2024 11:34:42 -0300 Subject: [PATCH] Allow fetching roles when evaluating role licies Closes #20736 Signed-off-by: Pedro Igor --- .../provider/role/RolePolicyProvider.java | 14 +- .../role/RolePolicyProviderFactory.java | 19 ++ .../RolePolicyRepresentation.java | 9 + .../images/policy/create-role.png | Bin 107490 -> 42582 bytes .../topics/policy-role-policy.adoc | 4 + .../admin/messages/messages_en.properties | 2 + .../src/clients/authorization/policy/Role.tsx | 213 +++++++++--------- .../testsuite/authz/RolePolicyTest.java | 28 +++ .../authz/admin/RolePolicyManagementTest.java | 16 ++ 9 files changed, 200 insertions(+), 105 deletions(-) diff --git a/authz/policy/common/src/main/java/org/keycloak/authorization/policy/provider/role/RolePolicyProvider.java b/authz/policy/common/src/main/java/org/keycloak/authorization/policy/provider/role/RolePolicyProvider.java index e8db89d651e..499acba9a83 100644 --- a/authz/policy/common/src/main/java/org/keycloak/authorization/policy/provider/role/RolePolicyProvider.java +++ b/authz/policy/common/src/main/java/org/keycloak/authorization/policy/provider/role/RolePolicyProvider.java @@ -27,8 +27,10 @@ import org.keycloak.authorization.model.Policy; import org.keycloak.authorization.policy.evaluation.Evaluation; import org.keycloak.authorization.policy.provider.PolicyProvider; import org.keycloak.models.ClientModel; +import org.keycloak.models.KeycloakSession; import org.keycloak.models.RealmModel; import org.keycloak.models.RoleModel; +import org.keycloak.models.UserModel; import org.keycloak.representations.idm.authorization.RolePolicyRepresentation; /** @@ -47,7 +49,8 @@ public class RolePolicyProvider implements PolicyProvider { @Override public void evaluate(Evaluation evaluation) { Policy policy = evaluation.getPolicy(); - Set roleIds = representationFunction.apply(policy, evaluation.getAuthorizationProvider()).getRoles(); + RolePolicyRepresentation policyRep = representationFunction.apply(policy, evaluation.getAuthorizationProvider()); + Set roleIds = policyRep.getRoles(); AuthorizationProvider authorizationProvider = evaluation.getAuthorizationProvider(); RealmModel realm = authorizationProvider.getKeycloakSession().getContext().getRealm(); Identity identity = evaluation.getContext().getIdentity(); @@ -56,7 +59,7 @@ public class RolePolicyProvider implements PolicyProvider { RoleModel role = realm.getRoleById(roleDefinition.getId()); if (role != null) { - boolean hasRole = hasRole(identity, role, realm); + boolean hasRole = hasRole(identity, role, realm, authorizationProvider, policyRep.isFetchRoles()); if (!hasRole && roleDefinition.isRequired()) { evaluation.deny(); @@ -69,7 +72,12 @@ public class RolePolicyProvider implements PolicyProvider { logger.debugv("policy {} evaluated with status {} on identity {}", policy.getName(), evaluation.getEffect(), identity.getId()); } - private boolean hasRole(Identity identity, RoleModel role, RealmModel realm) { + private boolean hasRole(Identity identity, RoleModel role, RealmModel realm, AuthorizationProvider authorizationProvider, boolean fetchRoles) { + if (fetchRoles) { + KeycloakSession session = authorizationProvider.getKeycloakSession(); + UserModel user = session.users().getUserById(realm, identity.getId()); + return user.hasRole(role); + } String roleName = role.getName(); if (role.isClientRole()) { ClientModel clientModel = realm.getClientById(role.getContainerId()); diff --git a/authz/policy/common/src/main/java/org/keycloak/authorization/policy/provider/role/RolePolicyProviderFactory.java b/authz/policy/common/src/main/java/org/keycloak/authorization/policy/provider/role/RolePolicyProviderFactory.java index f82e9db9c89..bd00d0b9fda 100644 --- a/authz/policy/common/src/main/java/org/keycloak/authorization/policy/provider/role/RolePolicyProviderFactory.java +++ b/authz/policy/common/src/main/java/org/keycloak/authorization/policy/provider/role/RolePolicyProviderFactory.java @@ -36,6 +36,7 @@ import org.keycloak.models.RoleModel; import org.keycloak.representations.idm.authorization.PolicyRepresentation; import org.keycloak.representations.idm.authorization.RolePolicyRepresentation; import org.keycloak.util.JsonSerialization; +import org.keycloak.utils.StringUtil; import java.io.IOException; import java.util.ArrayList; @@ -87,6 +88,12 @@ public class RolePolicyProviderFactory implements PolicyProviderFactory( Arrays.asList(JsonSerialization.readValue(roles, RolePolicyRepresentation.RoleDefinition[].class)))); } + + String fetchRoles = policy.getConfig().get("fetchRoles"); + + if (StringUtil.isNotBlank(fetchRoles)) { + representation.setFetchRoles(Boolean.parseBoolean(fetchRoles)); + } } catch (IOException cause) { throw new RuntimeException("Failed to deserialize roles", cause); } @@ -116,6 +123,11 @@ public class RolePolicyProviderFactory implements PolicyProviderFactory roles; + private boolean fetchRoles; @Override public String getType() { @@ -58,6 +59,14 @@ public class RolePolicyRepresentation extends AbstractPolicyRepresentation { addRole(clientId + "/" + name, required); } + public boolean isFetchRoles() { + return fetchRoles; + } + + public void setFetchRoles(boolean fetchRoles) { + this.fetchRoles = fetchRoles; + } + public static class RoleDefinition { private String id; diff --git a/docs/documentation/authorization_services/images/policy/create-role.png b/docs/documentation/authorization_services/images/policy/create-role.png index 0aece01caefc868ffac62645dec6f5776b74b53a..a0aa2ef1c6334a765b590049ffefb8d2f0856252 100644 GIT binary patch literal 42582 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 diff --git a/docs/documentation/authorization_services/topics/policy-role-policy.adoc b/docs/documentation/authorization_services/topics/policy-role-policy.adoc index 06510d3be6a..4c3729afa57 100644 --- a/docs/documentation/authorization_services/topics/policy-role-policy.adoc +++ b/docs/documentation/authorization_services/topics/policy-role-policy.adoc @@ -31,6 +31,10 @@ Specifies which *realm* roles are permitted by this policy. + Specifies which *client* roles are permitted by this policy. To enable this field must first select a `Client`. + +* *Fetch Roles* ++ +By default, only the roles available from the token sent with the authorization requests are used to check if the user is granted with a role. If this setting is enabled, the policy will ignore roles from the token and check any role associated with the user instead. ++ * *Logic* + The logic of this policy to apply after the other conditions have been evaluated. diff --git a/js/apps/admin-ui/maven-resources/theme/keycloak.v2/admin/messages/messages_en.properties b/js/apps/admin-ui/maven-resources/theme/keycloak.v2/admin/messages/messages_en.properties index 2f69e963083..f57add052da 100644 --- a/js/apps/admin-ui/maven-resources/theme/keycloak.v2/admin/messages/messages_en.properties +++ b/js/apps/admin-ui/maven-resources/theme/keycloak.v2/admin/messages/messages_en.properties @@ -3097,3 +3097,5 @@ addTranslationDialogHelperText=The translation based on the default language is noLanguagesSearchResultsInstructions=Click on the search bar above to search for languages addTranslationDialogOkBtn=Ok translationError=Please add translations before saving +fetchRoles=Fetch Roles +fetchRolesHelp=By default, only the roles available from the token sent with the authorization requests are used to check if the user is granted with a role. If this setting is enabled, the policy will ignore roles from the token and check any role associated with the user instead. \ No newline at end of file diff --git a/js/apps/admin-ui/src/clients/authorization/policy/Role.tsx b/js/apps/admin-ui/src/clients/authorization/policy/Role.tsx index 3ef9a640aa1..1374cc9b7a7 100644 --- a/js/apps/admin-ui/src/clients/authorization/policy/Role.tsx +++ b/js/apps/admin-ui/src/clients/authorization/policy/Role.tsx @@ -18,6 +18,7 @@ import { AddRoleMappingModal } from "../../../components/role-mapping/AddRoleMap import { Row, ServiceRole } from "../../../components/role-mapping/RoleMapping"; import { useFetch } from "../../../utils/useFetch"; import type { RequiredIdValue } from "./ClientScope"; +import { DefaultSwitchControl } from "../../../components/SwitchControl"; export const Role = () => { const { t } = useTranslation(); @@ -28,6 +29,7 @@ export const Role = () => { formState: { errors }, } = useFormContext<{ roles?: RequiredIdValue[]; + fetchRoles?: boolean; }>(); const values = getValues("roles"); @@ -58,109 +60,116 @@ export const Role = () => { ); return ( - - } - fieldId="roles" - helperTextInvalid={t("requiredRoles")} - validated={errors.roles ? "error" : "default"} - isRequired - > - - value && value.filter((c) => c.id).length > 0, - }} - render={({ field }) => ( - <> - {open && ( - { - field.onChange([ - ...(field.value || []), - ...rows.map((row) => ({ id: row.role.id })), - ]); - setSelectedRoles([...selectedRoles, ...rows]); - setOpen(false); + <> + + } + fieldId="roles" + helperTextInvalid={t("requiredRoles")} + validated={errors.roles ? "error" : "default"} + isRequired + > + + value && value.filter((c) => c.id).length > 0, + }} + render={({ field }) => ( + <> + {open && ( + { + field.onChange([ + ...(field.value || []), + ...rows.map((row) => ({ id: row.role.id })), + ]); + setSelectedRoles([...selectedRoles, ...rows]); + setOpen(false); + }} + onClose={() => { + setOpen(false); + }} + isLDAPmapper + /> + )} + - - )} - /> - {selectedRoles.length > 0 && ( - - - - {t("roles")} - {t("required")} - - - - - {selectedRoles.map((row, index) => ( - - - - - - ( - - )} - /> - - - + + )} + /> + {selectedRoles.length > 0 && ( + + + + {t("roles")} + {t("required")} + - ))} - - - )} - + + + {selectedRoles.map((row, index) => ( + + + + + + ( + + )} + /> + + +