A profile is a group of permissions and settings that defines how a user access records in a salesforce.
Profiles control the user permission to perform different functions in salesforce such as which object or object field a user can view, edit, delete or which apps they can access. Using profile a user can also restrict it’s login hours and set it’s IP address so that no other user can access it without permission.
There are two major types of profiles- Standard Profiles and Custom Profiles
Standard Profiles: Every Salesforce org includes standard profiles that you can assign to users.
• Standard Platform User
• Standard User
• Customer Community User
• Salesforce Partner User
• Solution Manager
• System Administrator
• Marketing User
• Contract Manager
• Read Only
• Chatter Moderator User
Every standard profile has some standard permissions which are applied for all standard objects.
Custom Profiles: A custom profile can be created by the users based on their special requirements. Creating a custom profile in salesforce is simple and requires few steps to follow:
STEPS: Login to your salesforce account and go to ‘SETUP’>>Profiles>> Click New>> Select existing profile>> Enter Profile Name>>Save.
How to Assign a Profile to a User?
You can assign a profile to the user according to the user’s permissions, restrictions, and specific activities which they are allowed to perform on the platform.
Follow these steps to assign a profile to a user:
STEPS: Login to your salesforce account and go to ‘SETUP’>> Users>>New User>> From the dropdown list Profile, select the type of Profile>> Save.
Q. How many profiles can we assign to a user?
A. Just one. A single user will only have one profile but that one profile can be assigned to multiple users.
How to Edit a Profile?
You can perform the Edit operation to edit the permissions of the profile according to the requirements.
Here are simple and easy steps by which you can make changes to the profile which you created:-
STEPS: Login to your salesforce account and go to ‘SETUP’>> Profile>> Select edit in front of the profile you wish to edit>> Perform the actions which are required>>Save.
NOTE: For Standard Profile, you can only make changes for the tab setting.
Permission set is also a group of permissions and settings but the major difference is that it provides additional access to the user which they already have from their profile. It’s like a cherry on the cake.
Q. Why do we need a Permission Set if we can grant access permissions using Profile?
A. Let’s consider a scenario : A group of 10 users has been assigned a single profile which gives them access to view, create and edit records but you want that only 5 users from that group have access to delete records. So by creating and assigning a permission set of delete record permissions those 5 users will only have delete permission.
Q. Can users have multiple permission sets?
A. Yes.Users can have multiple permissions sets.
Permission sets are generally used for two purposes.
1. Grant access to custom objects or apps.
2. Grant permissions to specific fields.
Remember, if a user has permission in their base profile, you cannot remove that by assigning a permission set to that user. A permission set can only add permissions. If you wish to take away the permission you have to take away from the user’s base profile.
How to create a Permission set?
Let’s create a permission set to grant additional permissions on top of the profile permissions. Follow these steps to successfully create a permission set:-
STEPS: Login to your salesforce account and go to ‘SETUP’>> Permission set>>New>> Enter the label and other details>> Select the type of users who will use this permission set>>Save
How to manage permission sets?
Once the permission set is being created we can provide & edit permissions on objects, apps, apex class, visual force page, custom permissions and many more.
To do this follow these simple steps:
STEPS: Setup>> Permission sets>> Open the Permission set you want to view
From here you can either delete the permission set or even assign users using Manager Assignments.
For more details, you can refer: https://trailhead.salesforce.com/content/learn/modules/data_security/data_security_objects