Roles
Roles define groups of permissions which can be granted to a user. As with permissions, you have a lot of freedom in how you define your roles, and if you wish you do not need to use them at all. If a user has multiple roles with the same permission, the user will be granted the role, there is currently no mechanism to define which role the permissions were granted from however.