Security roles in Dataverse tables are important for access control to custom tables on Power Platform, especially after the move to solutions.
A custom security role is required for access to tables, and System Administrators are the only ones with permission to create/edit them.
Roles can be created using the Power Platform Admin Centre or in a solution, and can be assigned to team members with privileges according to their roles or a combination of their roles and teams.
Permissions include creating, reading, writing, deleting, and sharing access to custom tables, along with miscellaneous and privacy-related permissions.
Tables are grouped into various sections, and the custom tables section has over 350 tables. Permission levels are granted for user, business unit, parent/child business unit, and organization levels.
Security roles are stored in the Dataverse table called roles, but they are meta data that do not have the actual permissions.
Security roles can be moved using solutions, but environment makers cannot create roles, so a custom role created by a System Administrator can be split out from the component owned by the environment makers.
Business units are not solution aware and cannot be deployed across environments, so if a security role is set to a business unit, it cannot be migrated.
Roles can be set to teams and automatically switch to that business unit, making teams a better option for permission control.
Security roles can be inherited by teams, user, or team and user.