Role Based Controls In the Application #395
ryonsteele
started this conversation in
General
Replies: 2 comments
-
You can also use security filters to work with Azure Entra roles to limit data retrieval in Azure AI Search. https://learn.microsoft.com/en-us/azure/search/search-security-trimming-for-azure-search |
Beta Was this translation helpful? Give feedback.
0 replies
-
Has anyone attempted to apply RBAC to specific "Folders"? You can think of each folder representing content specific to a set group of users only. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Alternative Approach for Role-Based Access Control
Some individuals have raised inquiries about implementing role-based mechanisms within the application to restrict access to the 'Upload' or 'Manage Content' functionality and pages based on user authorization.
The chosen approach may vary based on your preferences, expertise, or existing infrastructure, such as third-party OAuth providers. Apart from integrating external authentication providers, two alternative methods include leveraging Azure Role-Based Access Control (RBAC) or creating a custom user and role management system.
Azure RBAC Approach:
Define Roles:
Determine the roles needed for your application, such as 'Admin,' 'Editor,' and 'Viewer.'
Assign Roles:
Use Azure Active Directory (Azure AD) to assign these roles to users or groups, either through the Azure portal or programmatically.
Enforce Roles in Your App:
In both the React app and Python backend, validate the roles of authenticated users and enforce access control based on these roles. For instance, only users with the 'Admin' role may access specific admin pages.
Use Claims:
Include role information in the user's token as claims during sign-in. The app can then utilize these claims to make authorization decisions.
For more information, refer to Microsoft's documentation on Custom Role-Based Access Control for Application Developers and Authorizing Access to Azure App Configuration using Microsoft Entra ID.
Alternative Productization Strategy:
However, if you were to transform this into a product, an alternative strategy could be considered:
Network Restriction:
Restrict access to the application only for internal users on the network or via Private Endpoint.
Enhanced Database Structure:
Introduce additional data sources or tables in the database dedicated to handling user roles and creation.
Role Implementation:
Establish roles such as 'Admin' and 'User' within the new user management system.
Admin-Level User Management:
Implement user management and roles at the admin level, providing greater control over user access.
Frontend and Backend Updates:
Modify frontend and backend routes to evaluate user roles, enabling more flexibility for expansion and control.
While this alternative approach may demand more effort, it offers greater flexibility for future expansion and control in my opinion..
Beta Was this translation helpful? Give feedback.
All reactions