Permission Set-Driven Security Architecture

Overview

Permission set-driven security architecture transitions from profile-centric to permission set-based access control. This approach enables flexible, modular security management where profiles provide base permissions and permission sets grant additional capabilities.

Core Principle: Profiles provide base permissions for user roles. Permission sets grant additional capabilities for specific functions, features, or temporary access. This separation enables flexible, modular security management.

Prerequisites

Required Knowledge:

Recommended Reading:

When to Use Permission Set-Driven Architecture

Use Permission Set-Driven Architecture When

Avoid Permission Set-Driven Architecture When

Architecture Pattern

Profile Strategy

Minimal Profiles: Create minimal profiles that provide base permissions for user roles.

Profile Structure:

Profile Naming:

Permission Set Strategy

Feature-Based Permission Sets: Create permission sets for specific features or functions.

Permission Set Categories:

  1. Feature Permission Sets: Grant access to specific features
    • Case Management Access
    • Opportunity Management Access
    • Report Builder Access
    • Data Export Access
  2. Object Permission Sets: Grant access to specific objects
    • Custom Object A Access
    • Custom Object B Access
    • External Object Access
  3. Field Permission Sets: Grant access to specific fields
    • Sensitive Field Access
    • Financial Field Access
    • PII Field Access
  4. Function Permission Sets: Grant access for specific job functions
    • Sales Manager Access
    • Support Agent Access
    • Data Analyst Access
  5. Temporary Permission Sets: Grant temporary access
    • Project Alpha Access (with expiration)
    • Training Access (temporary)

Permission Set Naming Convention:

Implementation Pattern

Step 1: Audit Current Profiles

Actions:

  1. List all existing profiles
  2. Document permissions for each profile
  3. Identify permission combinations
  4. Identify redundant profiles
  5. Document user assignments

Output: Profile audit document with permission matrix

Step 2: Design Minimal Profiles

Actions:

  1. Identify base user roles (e.g., Standard User, Read Only User)
  2. Define base permissions for each role
  3. Create minimal profiles with base permissions only
  4. Remove feature-specific permissions from profiles

Output: Minimal profile structure

Step 3: Create Feature Permission Sets

Actions:

  1. Identify features and functions requiring permissions
  2. Create permission sets for each feature/function
  3. Grant appropriate object, field, and system permissions
  4. Document permission set purpose and usage

Output: Feature permission sets

Step 4: Migrate Users

Actions:

  1. Assign users to minimal profiles
  2. Assign feature permission sets to users
  3. Test user access
  4. Verify permissions work correctly
  5. Document user-to-permission-set assignments

Output: Migrated user assignments

Step 5: Maintain and Iterate

Actions:

  1. Create new permission sets for new features
  2. Update permission sets as features evolve
  3. Remove unused permission sets
  4. Document permission set changes
  5. Review and audit regularly

Output: Ongoing maintenance process

Best Practices

Permission Set Design

Assignment Strategy

Maintenance

Permission Set Groups

Purpose: Group related permission sets for easier assignment.

Use Cases:

Example:

Migration Considerations

From Profile-Centric to Permission Set-Driven

Migration Steps:

  1. Audit: Audit current profiles and permissions
  2. Design: Design minimal profiles and permission sets
  3. Create: Create new profiles and permission sets in sandbox
  4. Test: Test with sample users
  5. Migrate: Migrate users in phases
  6. Verify: Verify permissions work correctly
  7. Deprecate: Deprecate old profiles (after migration complete)

Challenges:

Benefits:

Edge Cases and Limitations

Limitations

Edge Cases

Q&A

Q: What is permission set-driven security architecture?

A: Permission set-driven security architecture is an approach where: (1) Profiles provide base permissions (minimal, role-based permissions), (2) Permission sets grant additional capabilities (feature-specific, function-specific permissions), (3) Modular security management (permissions managed in reusable components), (4) Flexible access control (combine permission sets for different access levels). This approach enables flexible, modular security management.

Q: Why use permission set-driven architecture instead of profiles?

A: Benefits include: (1) Flexibility (combine permission sets for different access levels), (2) Modularity (reusable permission components), (3) Reduced profiles (fewer profiles to manage), (4) Easier updates (update permissions without changing profiles), (5) Temporary access (grant temporary permissions via permission sets), (6) Feature-based access (grant access to specific features). Permission sets provide more granular, flexible access control.

Q: How do I design minimal profiles?

A: Design minimal profiles by: (1) Identify base roles (Standard User, Read Only User, etc.), (2) Define base permissions (object-level access, standard app access), (3) Remove feature-specific permissions (move to permission sets), (4) Keep profiles minimal (only base permissions needed for role), (5) Document profile purpose (clear documentation). Minimal profiles provide base permissions, permission sets provide additional capabilities.

Q: How do I create feature-based permission sets?

A: Create feature-based permission sets by: (1) Identify features (Case Management, Opportunity Management, etc.), (2) Define permissions (object, field, system permissions), (3) Create permission sets (one per feature), (4) Grant appropriate permissions (object access, field access, system permissions), (5) Document purpose (clear naming and documentation). Each permission set should have a single, clear purpose.

Q: How do I migrate from profile-centric to permission set-driven?

A: Migrate by: (1) Audit current profiles (document all permissions), (2) Design minimal profiles (base permissions only), (3) Create permission sets (feature-based permission sets), (4) Test in sandbox (test with sample users), (5) Migrate users in phases (assign new profiles and permission sets), (6) Verify permissions (test user access), (7) Deprecate old profiles (after migration complete). Migration should be done in phases with thorough testing.

Q: What are permission set groups?

A: Permission set groups group related permission sets for easier assignment. Use for: (1) Common combinations (frequently used permission set combinations), (2) Role-based access (e.g., “Sales Manager” group), (3) Feature bundles (e.g., “Case Management Suite”). Permission set groups simplify assignment of multiple related permission sets.

Q: What are the limitations of permission set-driven architecture?

A: Limitations include: (1) Profile limits (still need profiles, cannot eliminate), (2) Permission set limits (1000 permission sets per org), (3) Assignment limits (users can have up to 1000 permission set assignments), (4) Complexity (more complex than profile-centric), (5) Testing (more complex testing scenarios). Consider these limitations when designing permission set-driven architecture.

Q: How do I handle conflicting permissions between permission sets?

A: Handle conflicts by: (1) Last assigned wins (most recently assigned permission set takes precedence), (2) Design carefully (avoid conflicting permissions in permission sets), (3) Document conflicts (document known conflicts), (4) Test combinations (test permission set combinations), (5) Use permission set groups (group compatible permission sets). Avoid conflicting permissions through careful design and testing.