Managing Profiles and Permission Sets

April 10, 2025

Share:

 

Introduction

Profiles and Permission Sets are core components of Salesforce security and access management. They define what users can see and do within the Salesforce platform, controlling data security, object accessibility, and overall functionality. As Salesforce orgs grow in size and complexity, effectively managing Profiles and Permission Sets becomes paramount for maintaining consistent security policies and ensuring peak performance.

This white paper provides an in-depth look at Salesforce Profiles, Permission Sets, and Permission Set Groups and shows how our product, Metazoa Snapshot, empowers Salesforce administrators to capture, view, edit, compare, deploy, document, and optimize these mission-critical assets. This guide also documents best practices, challenges, and strategies for managing Profiles and Permission Sets at scale, while preserving data integrity and security.

Table of Contents

  1. Overview of Permission Management in Salesforce
  2. Capturing Profile and Permission Set Information
  3. Viewing Profiles and Permission Sets
  4. Deploying Profiles and Permission Sets
  5. Comparing Profiles and Permission Sets
  6. Profile and Permission Set Reports
  7. Managing Large Orgs and Bulk Editing User Assignments
  8. Merging Similar Profiles
  9. Deep Dive: Permission Sets in Salesforce
  10. Best Practices for Using Permission Sets
  11. How Metazoa Snapshot Helps Manage Permission Sets Better
  12. Frequently Asked Questions
  13. Conclusion

Overview of Permission Management in Salesforce

Effective permission management in Salesforce entails not only controlling data visibility (which objects users can see and fields they can access) but also ensuring that the right feature functionality is accessible to the right individuals. In many implementations, the default approach is to rely on Profiles to provide baseline permissions. However, as an organization grows and new users join, multiple teams often require different sets of privileges beyond what existing Profiles permit.

Profiles are the initial security mechanism that dictate object-level permissions, field-level security, app visibility, record type visibility, tab settings, and more. However, they typically cannot be fine-tuned at a granular level without creating extra Profiles. To overcome this, Salesforce offers Permission Sets and Permission Set Groups, which provide added flexibility without the need to proliferate large numbers of Profiles.

With Metazoa Snapshot, administrators can manage both Profiles and Permission Sets, visualizing permissions in a single pane of glass. This enables more sophisticated security controls, compliance reportage, reduced complexity, and long-term success when governing user access.


Capturing Profile and Permission Set Information

When taking a Snapshot of a Salesforce org, Metazoa can retrieve over 250 different Metadata Types, including Apex Classes, Custom Objects, Page Layouts, Reports, Dashboards, and more. However, Profiles are entangled with assets such as Apex Classes, Apex Pages, Custom Applications, Custom Permissions, Custom Objects, Custom Tabs, Page Layouts, and Flows.

This means that when you download Profiles, you must also retrieve all related (entangled) assets to ensure that the Profile XML includes all relevant permissions. In small orgs, this is straightforward. But in very large orgs, the amount of metadata can be substantial. For example, an org with 500 Profiles and 1,000 Custom Objects, each with an average of 500 fields, introduces hundreds of millions of Field Permission entries. The metadata download can grow to tens of gigabytes and exceed the Salesforce Metadata API limits of 10,000 assets and roughly 400 MB in decompressed data per retrieval call.

Metazoa Snapshot addresses this with a Full Snapshot dialog that automatically divides the metadata retrieval process into multiple transactions and reassembles the data for comprehensive downloads. For either speed or simplicity, administrators might prefer a Partial Snapshot that selects only specific Profiles and entangled assets. This can be done through grouping and selecting the relevant metadata types (e.g., 10,000 Apex Classes, 20,000 Page Layouts, etc.) for retrieval.

Key Tips for Large Orgs:

  • Use the Partial Snapshot dialog to define groups of assets if your org approaches or exceeds Metadata API limits.
  • Avoid creating multiple groups of Profiles; instead, group the entangled (related) assets.
  • Utilize the Asset Number Report to identify the total number of assets under each Metadata Type.
  • Use the Auto Calculate feature to suggest an optimal grouping strategy for large orgs.
  • Schedule snapshots to run overnight if the capture process is lengthy.

Viewing Profiles and Permission Sets

Metazoa Snapshot provides a rich interface to view and edit Profiles or Permission Sets. By right-clicking a Snapshot, you can choose View Profiles or View Permission Sets. A table will display the list of Profiles or Permission Sets on the left and child assets (e.g., Field Permissions, Object Permissions) across the top. Available views include:

  • Apex Class Accesses
  • Apex Page Accesses
  • Application Visibility
  • Custom Metadata
  • External Data Sources
  • Field Permissions
  • Flow Accesses
  • Layout Assignments
  • Object Permissions
  • Record Type Visibility
  • Tab Visibility
  • User Permissions
  • Custom Permissions

This tabular format enables quick identification of which Profiles or Permission Sets have which permissions. You can also Trim Table to focus on a subset of rows and columns for deeper analysis. Additionally, right-click to export the table as PDF, HTML, or CSV for documentation or stakeholder review.

Editing Permissions: When you click the Editing Palette button, you can modify cell values directly in the table. After making edits, the Deploy button will appear, bringing you to the Smart Deploy interface. These features let you modify permissions in bulk and easily deploy the changes to a destination org or incorporate them into a release management process.


Deploying Profiles and Permission Sets

Profiles and Permission Sets can be moved between orgs with the assistance of Metazoa Snapshot. First, ensure that your source and destination orgs are connected via a deployment arrow on the Snapshot desktop. Then, right-click the arrow and choose Deploy Metadata. You can deploy the entire Profile or cherry-pick exactly which permissions to move.

For instance, you might choose to deploy only an Object Permission or Tab Visibility from a Profile. This targeted deployment is particularly helpful if you want to grant or revoke specific functionality without altering the entire Profile or Permission Set content.

Avoid Common Deployment Pitfalls:

  • Missing Dependencies: Ensure that relevant Apex Classes and Custom Objects exist on the destination org, or include them in the deployment job. Otherwise, the deployment will fail.
  • Remove Bad References: Enabling Remove Bad References will automatically eliminate missing references from Profiles and Permission Sets. Uncheck this box if you prefer to see an error when references are missing.
  • Revoke Sparse Permissions: Some permission types only include positive information about what to grant. They lack the ‘negative’ instructions on what to revoke. Checking Revoke Sparse Permissions ensures you remove unattached or unmentioned permissions.

Comparing Profiles and Permission Sets

By right-clicking on the deployment arrow, you can choose Compare Profiles or Compare Permission Sets. These comparisons line up the source and destination permissions and highlight any differences, enabling you to identify inconsistencies or missing privileges. A Side by Side or Single Table view can be selected:

  • Side by Side: A straightforward parallel of source vs. destination settings.
  • Single Table: All relevant settings lined up in a single table, making it easier to export as HTML, PDF, or CSV.

You can also Trim Table to narrow down rows and columns, or hide identical rows and columns to show only the differences. These reports are immensely helpful for collaborative teams, compliance audits, and thorough documentation.


Profile and Permission Set Reports

Metazoa Snapshot offers a comprehensive suite of reporting options to document Profiles, Permission Sets, and Permission Set Groups. These reports help prove compliance, maintain security, and assist with org cleanups and audits. Report examples include:

  • Profiles: Apex Class Accesses, Apex Page Accesses, Application Visibility, Custom Metadata, External Data Sources, Field Permissions, Flow Accesses, Layout Assignments, Object Permissions, Record Type Visibility, Tab Visibility, User Permissions, Custom Permissions
  • Permission Sets: Apex Class Accesses, Apex Page Accesses, Application Visibility, Custom Metadata, External Data Sources, Field Permissions, Flow Accesses, Object Permissions, Record Type Visibility, Tab Visibility, User Permissions, Custom Permissions
  • Permission Set Groups: Shows a roll-up of all included Permission Sets along with muting permissions. This clarifies the net effect of combining multiple sets.
  • Combined Security: Analyzes the net security posture among selected users. It shows the base Profile for each user, overlaid with any Permission Set Groups, and then highlights changes granted or revoked.

The Combined Security report is particularly valuable in large orgs. You can select a group of users, see their base Profiles, plus any additional Permission Sets or Permission Set Groups. If a Permission Set changes a base permission, it is highlighted in green. If the base permission is unchanged after applying the sets, it is highlighted in red. These visual cues ensure clarity and traceability across the entire user population.


Managing Large Orgs and Bulk Editing User Assignments

One of the challenges in larger Salesforce environments is that user assignments can quickly mushroom, leading to confusion and potential security oversights. Metazoa Snapshot simplifies these tasks with a specialized interface called User Permission Assignments. This feature allows:

  • Rapid reassigning of user Profiles, Permission Sets, and Permission Set Groups
  • Exporting of these user-permission relationships for backup, security, or compliance reporting
  • Granular adjustments at scale, reducing the administrative burden on large organizations

Narrowly targeted adjustments in heavily populated environments can preserve security while maintaining necessary operational efficiency. Administrators can also lean on advanced scheduling options to perform these tasks overnight or in maintenance windows.


Merging Similar Profiles

Over time, many Salesforce instances accumulate a large number of similar or nearly identical Profiles. This can happen for historical reasons—perhaps multiple teams created new Profiles for small changes or short-term projects. Metazoa Snapshot provides a streamlined method to merge these Profiles and shift the differences to Permission Sets.

  1. Create a Permission Set Group (optional): Bundle relevant Permission Sets into a single group for simpler assignment.
  2. Merge Profiles: Identify a set of target Profiles and unify them into a new base Profile. Metazoa Snapshot automatically detects which permissions need to become separate Permission Sets.
  3. Reassign Users: Automatically reassign all users from the old Profiles to the new base Profile, adding the newly created Permission Sets or Permission Set Group to preserve their prior access.

Profile clutter and duplication are substantially reduced, while ensuring that each user’s effective access remains intact. This practice typically improves org manageability, compliance, and consistency.


Deep Dive: Permission Sets in Salesforce

A Permission Set in Salesforce is a collection of settings and permissions that grants users access to specific features or data. It augments Profile-based permissions and offers a more flexible way to manage user access without creating new Profiles every time a slight change is needed.

Why Are Permission Sets Important?

A robust system of Permission Sets can deliver key benefits:

  • Enhanced Security: Grant or restrict essential permissions at scale, minimizing the risk of unnecessary or dangerous access.
  • Scalability: As an organization grows, Permission Sets prevent the proliferation of numerous Profiles by allowing for incremental updates.
  • Ease of Maintenance: Quickly grant, revoke, or modify user rights without forcing every change into an existing Profile or creating a new one.
  • Targeted Access Control: Tailor permissions for specific roles, tasks, or projects without affecting the permissions of all users using the same Profile.

Challenges of Salesforce Permission Sets

While they are highly flexible, Permission Sets also pose certain challenges:

  • Excessive Volume: Many Permission Sets can become difficult to track and administer, especially in larger environments.
  • Over-permissive Assignments: Layering too many Permission Sets on individual users can introduce security holes.
  • Profile Dependencies: Poorly designed base Profiles amplify complexity, making Permission Set assignment less efficient.
  • Scaling Assignments: Assigning multiple Permission Sets to thousands of users can be laborious without a strong administrative tool.

Salesforce Permission Sets vs. Permission Set Groups

Permission Sets grant added privileges to a user’s Profile, while Permission Set Groups simplify this administrative load by combining multiple Permission Sets into a single assignment. Large organizations often benefit from grouping certain sets of permissions to ensure standardization and consistency. Muting permissions within a Permission Set Group also allow admins to remove unneeded permissions from certain sets.


Best Practices for Using Permission Sets

To maximize efficiency and security, consider these proven practices:

  1. Stay Current with Release Notes: Salesforce regularly publishes feature enhancements. By reviewing these updates, admins can discover new ways to fine-tune Permission Sets.
  2. Reuse Permission Sets Where Possible: Instead of creating numerous new sets, leverage established ones for similar roles or teams.
  3. Assign Permissions During User or Field Creation: Some editions of Salesforce allow automatically adding Permissions during user or field creation, saving repetitive configuration steps.
  4. Audit Trails: Tracking changes in Permission Sets via audit trails is crucial for compliance and troubleshooting, especially if multiple admins regularly adjust access.
  5. View Permission Summaries: The View Summary option in Salesforce can quickly display all permission details within a set, making it simpler to understand or troubleshoot user access at a glance.
  6. Consider Expiration Dates: While Salesforce doesn’t natively enforce expiry dates for Permission Sets, implementing your own recertification process helps remove unneeded access after a set period (e.g., for contract workers).

How Metazoa Snapshot Helps Manage Permission Sets Better

Metazoa Snapshot offers specialized capabilities that solve many of the challenges discussed:

  • Partial and Complete Deployments: Deploy or capture partial Profile and Permission Set data, speeding up the retrieval process and avoiding system limits.
  • Automatic Partial Migration: Metazoa automatically identifies and merges partial profiles with existing data, saving time and reducing errors.
  • Org-Level Permission Set Management: Metazoa helps define and maintain org-level Permission Sets, seamlessly controlling who can access or manage specific features.
  • Advanced Data Permissions: Enforce specialized security with user-level or group-level constraints, preventing unauthorized data or feature access.
  • Bulk Editing & Reporting: The User Permission Assignments interface allows administrators to rapidly reassign or revoke access in high-volume scenarios.

Frequently Asked Questions

  1. What is the difference between Permission Sets and Profiles in Salesforce?

    Profiles define a user’s baseline access, including Object Permissions, Field-Level Security, System Permissions, and more. Permission Sets grant additional or specialized privileges beyond what is assigned by the Profile, reducing the need to create multiple Profiles for granular access.

  2. What are the common types of Profile?

    Salesforce includes Standard Profiles (such as System Admin, Standard User, and Read Only) and Custom Profiles (specifically tailored for unique organizational roles or job functions). Custom Profiles allow further fine-tuning beyond standard permission bundles.

  3. What are Permission Sets in Salesforce?

    Permission Sets enable administrators to grant additional permissions to users, ensuring that certain individuals or teams have the precise access they need. This helps avoid over-proliferation of Profiles while allowing flexible, granular control of functionality.


Conclusion

Profiles, Permission Sets, and Permission Set Groups are essential building blocks for secure and effective Salesforce environments. Their correct usage helps align user roles with organizational needs, guarding data security and simplifying administrative tasks. However, managing these permissions is no small feat—especially for large Salesforce orgs where the volume of metadata can be immense.

Metazoa Snapshot addresses these challenges by providing robust tools to capture metadata in complex orgs, deliver partial or comprehensive metadata retrieval, compare and deploy changes between environments, and generate extensive documentation. Metazoa’s advanced features, such as user assignment editing, combined security analysis, and the ability to merge similar Profiles, reduce complexity and ensure strong governance over your Salesforce environment.

For a more detailed walkthrough of Metazoa Snapshot’s capabilities, please download the PDF version of this white paper or consult our related case study about permission set management. We are here to help you streamline Profile and Permission Set operations, ensuring that your organization’s security remains paramount and that administrators can focus on innovation instead of repetitive tasks.

🎉 Congratulations! 🎉

You’ve successfully completed the Metazoa Metadata Studio Certification Class. With the skills you’ve acquired, you’re now adept at harnessing the power of Metazoa’s Metadata Studio, seamlessly integrating artificial intelligence into Salesforce org management. You have earned you a certificate! Well done, and we wish you continued success in your future endeavors!