In Oracle APEX, Access Control Roles are part of the built-in role-based security system used to manage user permissions within an application. Over time, you may need to remove obsolete or unused roles from your application—for example, after restructuring role logic or simplifying the security model. Deleting Access Control Roles is a straightforward process, but it should be done carefully to avoid breaking page-level authorizations or logic that relies on those roles.
What Are Access Control Roles?
Access Control Roles in Oracle APEX represent named permissions (such as ADMIN
, MANAGER
, or READER
) that can be assigned to users. These roles control access to components such as:
-
Pages and regions
-
Buttons and items
-
PL/SQL processes and conditions
-
Dynamic actions and validations
Deleting a role will remove it from the Access Control configuration, and any references to it elsewhere in the app will no longer evaluate as true, which may result in restricted access or logic failures.
Steps to Delete Access Control Roles
1. Open Shared Components
From the APEX App Builder, click your application, then navigate to:
Shared Components > Security > Access Control
2. Open Access Control Roles
Click Access Control Roles to view the list of currently defined roles.
3. Locate the Role to Delete
You’ll see a table with all defined roles including Name, Display Name, and Role Code. Find the role you want to delete. Confirm that this role is not currently assigned to any users or referenced in conditional logic.
4. Click the Delete Icon
To the right of the role, click the Delete (trash bin) icon. A confirmation dialog will appear.
5. Confirm the Deletion
Click Yes to confirm the role deletion. This will permanently remove the role from the Access Control system for this application.
Important Considerations Before Deletion
-
Check Usage References: Use Find or Page Search from the APEX Builder toolbar to search for where the role is used in conditions or authorizations.
-
Review Page Authorizations: Pages, regions, or buttons that rely on a deleted role will no longer be accessible unless their condition is updated.
-
Test the Application: After deletion, run the application and verify that all access control-related features behave as expected.
What Happens After Deletion?
-
The role is removed from the Access Control table.
-
Any APEX logic using that role will fail its authorization check.
-
If the role was assigned to users, those entries in the APEX workspace's user-role mapping will become invalid or ignored.
-
You can always re-create the same role later if needed, but you will have to manually reassign it and reconfigure its usage.
Best Practices
-
Always backup your application before deleting roles—use the "Export" feature from the App Builder.
-
Keep a documentation of which roles are active and where they are used.
-
If unsure, consider disabling or removing role conditions temporarily rather than fully deleting the role until verified.
You can remove an access control role from your application by following these steps.
Steps to Delete a Role
Navigate to the Shared Components page:
Go to the Workspace home page.
Click the App Builder icon.
Select the application where the role is defined.
On the Application home page, click Shared Components.
Access the Application Access Control page:
Under Security, select Application Access Control.
Select the role to delete:
Locate the role you want to remove.
Click on the role name to open the Role dialog.
Delete the role:
Click Delete to remove the role permanently.
Once deleted, the role will no longer be available for authorization checks or assignments within the application.
Deleting Access Control Roles in Oracle APEX helps maintain a clean and secure security model, but it requires careful validation. Before deleting, always confirm that the role is no longer used in your app’s logic or interface. With proper review and testing, role deletion can streamline your application’s authorization structure without unintended side effects.
No comments:
Post a Comment