I started using Keycloak and stumbled upon User-Managed Access (UMA) when trying to implement fine-grained access control. As far as I understand, UMA is an extension of OAuth2 that provides an authorization layer. However, I'm struggling to grasp its exact use case and when to use it.
Is UMA suitable for enterprise applications where roles and permissions for resources are predefined by a Keycloak admin, who also grants privileges to users to achieve fine-grained access control? Or is it more intended for scenarios where end-users grant access to third parties for their own resources? Or can it be used for both?
Can anyone provide clarity on the appropriate use case for UMA in Keycloak?