1. A computer implemented method for providing permissions to users of a database system, the method comprising: receiving, at a server associated with the database system, criteria; selecting, using the server, a first permission set and a second permission set, each of the first and second permission sets being defined by a respective grouping of permissions indicating accessibility of a component of a system, the first and second permission sets associated with at least one of the criteria, the permissions and the permission sets stored as data objects in the database system; identifying, using the server, one or more of the users as being associated with the at least one criteria; determining, using the server, that a first count of permissions in the first permission set is lower than a second count of permissions in the second permission set; assigning the first permission set to the one or more users responsive to the determination that the first count of permissions in the first permission set is lower than the second count of permissions in the second permission set; and storing or updating a data object indicating the assignment of the first permission set in the database system.