1. A computer implemented method for modifying permission sets and validating permission set assignments to users, the method comprising: receiving, at a server, a request to create a permission set containing one or more permissions; creating the permission set; receiving, at the server, a request to assign the permission set to a first user, the first user associated with a first user constraint, the first user constraint defining a first group of permissions available to the first user; determining that the permission set to be assigned to the first user does not violate the first user constraint associated with the first user; and assigning the permission set to the first user.