function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
yaramareddy radhikayaramareddy radhika 

Tell me the differences between Role and Profile?

Arvind KumarArvind Kumar

Hi Radhika,

Roles are one of the ways you can control access to records. They also impact reports (e.g. "My Teams" filter). Roles come into play if your security model (OWDs) are set to private. A little more on Roles and how they impact security:
https://www.shellblack.com/administration/owds/

Profiles help determine record privileges. Assuming the User can see the record, Profiles determine what the User can do, view or edit on that record. Profiles control other system privileges as well (mass email, export data, etc)

Read the below article, it will give you more information.
http://sfdcsrini.blogspot.com/2014/07/what-is-difference-between-roles-and.html


Mark as a solution if it is heplful for you.

Thanks,
Arvind Kumar

v varaprasadv varaprasad
Hi Radika,

Roles
In salesforce, roles are defined so as to increase the data visibility a particular user has. The data visibility can be increased using sharing rules or by building role hierarchy. Role hierarchy allows the user sitting in higher level have access of records owned by users having role lower in hierarchy. It is not mandatory that a user should have a role.
Organisation wide default sets the default access for objects, for example OWD set as private would mean that only the owner of the record can access the record. One way to grant additional access of these records to other users is through roles i.e users higher in role hierarchy would get the access of records owned by users lower in hierarchy. Other way is by writing sharing rules, wherein we can specify the logic to decide which record should be shared and with what role user. We can specify against custom objects whether the records should be shared using role hierarchy or not but this is default set for standard objects and cannot be changed. That is, standard object records will always be shared according to role hierarchy. Defining role for users is not a mandatory thing, however not defining role for a user could affect the data shown on opportunity and other reports for that user.
Summarizing the points for role,

1. Role controls the level of record access user has
2. Helps extend the OWD settings for different objects
3. Sharing rules can be written to share records with particular role and subordinates
4. Defining role for user is not mandatory. 


Profiles
Unlike role,  profile is mandatory for every user in salesforce. You cannot have a user without a profile. It is the building pillar of the entire org. Profile states the objects/field permissions and also other permissions with in the org. It defines what a user can do within the org, it states the access settings and user permissions. Profile controls following -
Object permissions [create, delete,read, edit permissions] 
field permissions [view, edit]
Record type permission 
Which Apps can be viewed 
Login hours can be defined 
IP address permissions 
Which tabs are visible 
Which page layouts can be viewed  
Classes, vf pages permissions
Salesforce provides some standard profiles with different set of permissions for each, we can create our own profiles to have permissions as per our requirement. New profile should be cloned from existing profile.

Difference between the two can be summarized as below

1. Role defines what user can see depending on the hierarchy(Helps in defining data visibility)
2. Profile defines what a user can do within the org(Defines various permissions)
3. Defining profile for a user is mandatory, role is not.


Thanks
Varaprasad
ranbir das 1ranbir das 1
Profiles help to control object privileges such as CRED (Create, Read, Edit, Delete). They also contain system permissions that a user can carry out such as exporting data.
Roles on the other hand help with sharing records across an organization. They work in a hierarchical fashion, giving users access to records that are owned by people lower down in the hierarchy.
ManishKlkrnManishKlkrn
Profile:
- Controls the Object level access.
Eg: If you want a set of users to get access to say "Account" object in salesforce, you will enable the type of access you want to provide on the Profile->Account Object. You can give Read Only, Read & Write, Create and Delete privilege as well.
- You can control which field a user can see by enabling the Field Level Security (FLS) in Profile settings.
- You Can assign different Record types and Page Layouts to a Profile to decide which fields the user with the particular profile can access.

Roles:
-Controls the data level access.
- Roles decide which type of data can be viewed by which user.
Eg: Manager can see all the data related to the Associates working under him.
- It maintains the record level access in the org.

Please give a thumbs up if you like the content.

Cheers,
Manish
sarita ad 4sarita ad 4
Wants to add few more points to the above Info. on Profiles and Roles.
Profile - Object level and Field level access. It is mandatory for all Users.
Role - Record level access. It is not mandatory for all Users.
raj_sfdccraj_sfdcc
Hi ,
Extending to the above answers
Find the below link to understand complete Step by Step Object Level Access Vs Record Level Access in Salesforce.
Click Here (https://salessforcehacks.blogspot.com/2020/01/object-level-access-vs-record-level.html)
Arun Kumar 1141Arun Kumar 1141
Hi Radhika,

The basic difference between Role and Profile is that:

ROLE: What you can see in salesforce org.
Example: Record visibility, control access to records & folders, etc

PROFILE: What you can do salesforce org. 
Example: Object permissions, field security, tabs etc

If you find this answer helpful, mark this as best answer.
Thank you