SharePoint Online Permissions: The Complete Security Guide for 2026
Master SharePoint Online permissions — from built-in permission levels and group-based access to Copilot-era governance, external sharing controls, and PnP PowerShell audit scripts. Includes a free Permission Matrix Generator tool.
Why SharePoint Permissions Matter More Than Ever
In the age of Microsoft 365 Copilot, your SharePoint permissions have never been more important. Copilot can surface any content a user has access to — which means overly permissive sharing configurations can expose sensitive data to the entire organization through AI-generated summaries and search results.
This guide covers everything you need to know about managing SharePoint Online permissions effectively: from understanding the built-in permission levels to building a permission matrix for your next security audit.
Understanding SharePoint Permission Levels
SharePoint Online comes with several built-in permission levels, each granting a specific set of capabilities:
| Permission Level | What It Allows | Common Use Case |
|---|---|---|
| Full Control | Everything — manage permissions, delete sites, change settings | Site collection administrators |
| Design | Create lists/libraries, edit pages, apply themes and borders | Intranet designers and site architects |
| Edit | Add, edit, and delete list items and documents | Team members who manage content |
| Contribute | Add, edit, and delete own items only | Users who create content but shouldn't modify others' |
| Read | View pages, list items, and download documents | Stakeholders who need visibility |
| View Only | View pages and items in the browser, but cannot download | External reviewers and auditors |
Pro Tip: Avoid creating custom permission levels unless absolutely necessary. They add management overhead and make auditing significantly harder. In most cases, the built-in levels cover every real-world scenario.
The Three Default SharePoint Groups
Every SharePoint site comes with three default groups. Understanding their intent is the foundation of good permission hygiene:
1. Site Owners (Full Control)
- Who belongs here: 1-2 trusted administrators per site
- What they can do: Everything — including managing permissions, deleting the site, and adding/removing other owners
- Best practice: Keep this group as small as possible. Every person with Full Control is a potential risk vector
2. Site Members (Edit)
- Who belongs here: Active contributors — the team that creates and manages content
- What they can do: Add, edit, and delete items in all lists and libraries
- Best practice: Use this for day-to-day content contributors. If someone only needs to add items but not delete others' work, consider Contribute instead
3. Site Visitors (Read)
- Who belongs here: Consumers of information — stakeholders, leadership, cross-team viewers
- What they can do: View content only, no editing
- Best practice: This is the right group for most users. When in doubt, start with Read access and escalate only when requested
Permission Inheritance: The Golden Rule
SharePoint permissions flow downward through inheritance:
Site Collection
└── Site (inherits from collection)
└── Library (inherits from site)
└── Folder (inherits from library)
└── Document (inherits from folder)The golden rule: Set permissions at the highest possible level and let inheritance do the work. This keeps your permission structure clean, auditable, and manageable.
When to Break Inheritance
Breaking inheritance creates a unique permission scope — the item no longer inherits from its parent. This is sometimes necessary, but should be done sparingly:
Legitimate reasons to break inheritance:
- A "Confidential" folder within a shared library that only managers should access
- An HR list containing sensitive employee data on a department site
- A project workspace folder that external partners need access to
When you should NOT break inheritance:
- Per-document permissions for individual files (use sensitivity labels instead)
- Giving one person "Full Control" on a single folder (add them to the right group instead)
- Creating complex permission trees more than 2 levels deep
The Hidden Cost of Broken Inheritance
Every broken inheritance point:
- Creates a management burden — someone has to remember it exists and maintain it
- Breaks the audit trail — you can't see the full picture from the site level
- Causes confusion — users get "Access Denied" on items they expect to see
- Slows SharePoint — the permission check engine has to evaluate unique permissions at each level
If you find yourself breaking inheritance frequently, it's a sign that your site architecture needs rethinking — not your permissions.
Copilot and AI-Era Permissions
With Microsoft 365 Copilot analyzing content across your tenant, permission hygiene has become a security-critical concern:
The Copilot Oversharing Problem
Copilot respects SharePoint permissions — it will never show a user content they don't have access to. But here's the catch: most organizations have accidentally over-shared content for years, and nobody noticed because users rarely searched for it.
Now Copilot actively surfaces this content in summaries, chat responses, and document suggestions. A financial report shared with "Everyone except external users" three years ago? Copilot will happily include those numbers in a summary.
The SharePoint Admin Agent
Microsoft's new SharePoint Admin Agent (available to Copilot licensees) helps identify and remediate oversharing:
- Scans your entire tenant for overshared sites and files
- Flags content with broad permissions ("Everyone" or "All authenticated users")
- Explains the root cause of each oversharing risk
- Suggests remediation steps
Preparing for Copilot: A Permission Cleanup Checklist
- Audit "Everyone" and "Everyone except external users" permissions — These are the highest-risk sharing configurations
- Review sites with external sharing enabled — Ensure guest access is still needed
- Apply sensitivity labels to confidential documents — Labels enforce encryption and DLP regardless of who has access
- Enable Conditional Access — Require MFA for all admin accounts and enforce device compliance
- Run the Permission Matrix Generator — Document your current permission structure using our free Permission Matrix tool to identify gaps
Group-Based Permissions: The Right Way
Never assign permissions to individual users. Always use groups. Here's why:
Individual Permissions (Bad)
Documents Library:
- john@company.com → Edit
- sarah@company.com → Edit
- mike@company.com → Read
- lisa@company.com → Contribute
- alex@company.com → EditThis becomes unmanageable at scale. When John leaves the company, you have to find and remove his access from every site, library, and folder individually.
Group-Based Permissions (Good)
Documents Library:
- Marketing Team (SP Group) → Edit
- Executive Stakeholders (AD Group) → Read
- Content Contributors (SP Group) → ContributeWhen John leaves, you remove him from the group once, and his access is revoked everywhere. When a new hire joins, you add them to the appropriate group.
SharePoint Groups vs. Entra ID (Azure AD) Groups
| Feature | SharePoint Groups | Entra ID (Azure AD) Groups |
|---|---|---|
| Scope | One site collection | Entire tenant |
| Management | Site owners | IT admins / Entra portal |
| Best for | Site-specific permissions | Cross-site, org-wide access |
| Dynamic membership | No | Yes (with Entra ID P1) |
| Nested groups | No | Yes |
Recommendation: Use Entra ID security groups for organization-wide access patterns (e.g., "All Marketing Staff"), and SharePoint groups for site-specific roles (e.g., "Project Alpha Owners").
External Sharing: Secure Collaboration
External sharing is essential for modern collaboration, but it needs guardrails:
Sharing Link Types
| Link Type | Risk Level | When to Use |
|---|---|---|
| Specific People | 🟢 Low | Always preferred — only named recipients can access |
| People in your organization | 🟡 Medium | Internal-only content that any employee should see |
| People with existing access | 🟢 Low | Just generates a link, doesn't grant new access |
| Anyone | 🔴 High | Avoid in most cases — creates an anonymous link |
Recommended Tenant-Level Settings
- Disable "Anyone" links at the tenant level (SharePoint Admin Center → Sharing)
- Set expiration on all guest links (30 days recommended)
- Require guests to authenticate — no anonymous access
- Restrict external sharing by domain — whitelist trusted partner domains
- Enable access requests — let users request access instead of sharing broadly
Building a Permission Audit Report
Regular permission audits are essential for compliance (ISO 27001, SOC 2, GDPR). Here's a practical approach:
Step 1: Document Your Permission Structure
Use our Permission Matrix Generator to create a visual map of your permission structure. Start with a preset template and customize it to match your environment.
Step 2: Check for Broken Inheritance
Using PnP PowerShell, identify all items with unique permissions:
Connect-PnPOnline -Url https://tenant.sharepoint.com/sites/YourSite -Interactive# Get all lists with broken inheritance
Get-PnPList | Where-Object { $_.HasUniqueRoleAssignments } |
Select-Object Title, HasUniqueRoleAssignments
# Get all folders with unique permissions in a library
Get-PnPFolderItem -FolderSiteRelativeUrl "Shared Documents" -ItemType Folder |
Where-Object { $_.ListItemAllFields.HasUniqueRoleAssignments } |
Select-Object Name
Step 3: Review High-Risk Permissions
Check for overly permissive access:
# Find items shared with "Everyone"
$web = Get-PnPWeb
$lists = Get-PnPListforeach ($list in $lists) {
$roleAssignments = Get-PnPProperty -ClientObject $list -Property RoleAssignments
foreach ($ra in $roleAssignments) {
$member = Get-PnPProperty -ClientObject $ra -Property Member
if ($member.LoginName -like "everyone") {
Write-Host "WARNING: $($list.Title) shared with $($member.Title)"
}
}
}
Step 4: Export and Review
Export the results to CSV, cross-reference with your permission matrix, and identify gaps between your intended permissions and the actual state.
7 Permission Anti-Patterns to Avoid
- "Just give everyone Edit access" — The fastest way to lose control of your content
- Breaking inheritance on every folder — Creates an unmanageable permission tree
- Using "Full Control" as the default — Violates least privilege and puts your site at risk
- Forgetting to remove ex-employees — Use automated lifecycle policies with Entra ID
- Sharing entire sites with external users — Share specific libraries or folders instead
- Not documenting permission decisions — You'll forget why you made them in 6 months
- Ignoring the "Access Requests" queue — Users will find workarounds (like sharing externally) if they can't get access through proper channels
Quick Reference: Permission Decision Tree
When deciding what permission level to assign, use this decision tree:
Does the user need to manage site settings or permissions?
→ Yes → Full Control (make them a Site Owner)
→ No ↓Does the user need to create lists, edit pages, or apply themes?
→ Yes → Design
→ No ↓
Does the user need to edit OTHER people's content?
→ Yes → Edit (make them a Site Member)
→ No ↓
Does the user need to add their OWN content?
→ Yes → Contribute
→ No ↓
Does the user need to download documents?
→ Yes → Read (make them a Site Visitor)
→ No → View Only
Tools for Permission Management
Here are tools I use regularly for SharePoint permission management:
- Permission Matrix Generator — Free tool I built for visualizing and exporting permission structures as CSV/Markdown
- PnP PowerShell — The gold standard for scripted permission audits and bulk changes
- SharePoint Admin Center — For tenant-level sharing policies and site-level access reviews
- Microsoft Purview — For sensitivity labels, DLP policies, and compliance reporting
- SharePoint Admin Agent — AI-powered proactive governance (requires Copilot license)
Next Steps
- Audit your current permissions — Use the Permission Matrix Generator to document your current state
- Identify broken inheritance — Run the PnP PowerShell scripts above to find unique permissions
- Remediate oversharing — Start with "Everyone" and "Everyone except external users" permissions
- Establish a review cadence — Quarterly permission reviews for production sites
- Train your team — Share this guide with site owners and content managers
Good permission hygiene isn't a one-time project — it's an ongoing practice. But with the right structure in place, it becomes routine rather than reactive.