What is Permission set?
A permission set is a collection of settings and permission that give users access to various functions.The settings and permissions in permissions sets are also found in profiles, but permission sets extend user’s functional access without changing their profiles.
Purpose: The profile will have many users, if we give any permissions at the profile level then all the users assigned that profile will effect. If we want to give the permissions to only one user without changing the profile then we have to create permission sets and assign to the users. We don’t need to change profiles, or don’t need to create a profile for a single use case.
Example: A, B, C are three users in the org having same profile. A,B,C have Read, Edit on Object in profile level permissions. We need to give delete access to user B only. If we give Delete access at Profile level, then all three users will get delete access. So here we need to create permission set with Delete permission (instead of creating new profile) and assigned to User C. Then User c only has Delete permission.
Note: – 1. A profile can have many users. But a user must have assigned to the single profile.
2. Many permission sets we can assign it to single user.
– While users can have only one profile, they can have multiple permissions sets.
Permission sets include the following options:
1.Object and field permissions
2. App permissions
3. Apex class access
4. Visual force page access
5. System permissions