Role-Based Access Control (RBAC) Schema
This schema defines the relationships and permissions for managing roles and access control within Magistrala. It describes how entities such as users, roles, clients, channels, groups, and domains interact through defined relations and permissions.
Entities and Relations
User
A user
is an entity that can be assigned roles within the system.
Role
A role
defines a set of permissions that can be assigned to users within domains, groups, channels, or clients.
Relations
entity
: Associates a role with a domain, group, channel, or client.member
: userbuilt_in_role
: Represents system-defined roles. Includes domain, group, channel and client.
Permissions
delete
: Allows removing a role unless restricted by a built-in role.update
: Allows modifying a role unless restricted by a built-in role.read
: Allows viewing a role unless restricted by a built-in role.add_user
: Grants permission to assign users to a role.remove_user
: Grants permission to remove users from a role.view_user
: Grants permission to view users assigned to a role.
Clients
A client
represents a device or application that interacts with Magistrala.