IAMinerva
HomeBlogAbout
m3M365 NewscoMicrosoft CopilotteMicrosoft TeamsshSharePoint & OneDriveinIntune & SecurityexExchange & OutlookpoPower PlatformazAzure & Entra IDtuTutorials & GuidesevEvents & ConferencesseSecuritywiWindows
IAMinerva

Professional blog dedicated to the Microsoft 365 ecosystem.

Quick links

HomeBlogAboutNewsletter

Stay informed

Get the latest Microsoft 365 news delivered straight to your inbox.

© 2026 IAMinerva. All rights reserved.

Built withNext.js&Tailwind
SharePoint Custom Permission : Bloquer les téléchargements de fichiers
BlogSharePoint & OneDriveSharePoint Custom Permission: Block File Downloads
SharePoint & OneDrive#SharePoint#Permissions#Security

SharePoint Custom Permission: Block File Downloads

Create custom SharePoint permission levels to block downloads while allowing file viewing and editing.

Houssem MAKHLOUF
March 10, 2026
8 min read

TL;DR par Minerva

généré par IA

Create custom SharePoint permission levels to block downloads while allowing file viewing and editing.

Introduction

Managing SharePoint permissions becomes critical when allowing document access while preventing downloads. Organizations often need to authorize external partners or consultants to view sensitive documents without the ability to download them.

The default Read permission level automatically includes the ability to download files, creating a security challenge. SharePoint Online offers multiple methods to block downloads, but custom permission levels provide the most granular and cost-effective approach.

i

Cost Benefit

Custom permission levels work with standard SharePoint Online capabilities, without requiring premium licenses like Microsoft Entra ID Premium or SharePoint Advanced Management.

Available Methods to Block SharePoint Downloads

Before exploring custom permission levels, let's examine the different approaches available:

1. Sharing Link Restrictions

  • Principle: Selecting the "Cannot download" option when sharing
  • Limitation: Applies only to the specific link, not global access
  • Use: Ideal for one-time document sharing

2. Entra ID Conditional Access Policies

  • Principle: Restriction based on user risk, device, or network
  • Prerequisite: Microsoft Entra ID Premium (P1 or P2)
  • Limitation: No site-level control

3. Site-Level PowerShell Policy

  • Principle: Blocking downloads, printing, and synchronization
  • Prerequisite: Microsoft Syntex SharePoint Advanced Management license
  • Scope: Entire SharePoint site

4. Information Rights Management (IRM)

  • Principle: Restrictions via Purview Information Protection
  • Drawbacks: Disables co-editing and Office Online
  • Complexity: Advanced configuration required

5. Custom Permission Levels (Recommended)

  • Advantage: Granular control without additional cost
  • Flexibility: Management based on members and groups
  • Compatibility: Works with standard SharePoint capabilities

Block File Downloads in SharePoint Using Custom Permission Levels

Prerequisites and Required Permissions

!

Required Permissions

Only users with the following roles can create custom permission levels:

  • Site Collection Administrators: Full authority over the collection
  • Site Owners: Members of the default Owners group
  • SharePoint/Global Administrators: Must add themselves to the site with full control

Creating a "Read Without Download" Level

Creating a custom permission level based on Read allows users to view documents without downloading them.

1

Access Site Settings

Navigate to the target SharePoint site, then click the Settings icon (⚙️) and select Site Permissions.

2

Classic Permissions Mode

Select Advanced Permission Settings to access the classic SharePoint permission management page.

3

Access Permission Levels

In the command bar, click Permission Levels to display existing levels.

4

Copy Read Level

Scroll down and click Copy Permission Level by selecting the Read level as the base.

5

Configure New Level

Assign an appropriate name (e.g., "Read - No Download") and explicit description to the permission level.

6

Disable Critical Permissions

Uncheck the following permissions:

  • "Open Items" under List Permissions
  • "Use Client Integration Features" under Site Permissions
✦

Automatic Effect

Disabling "Open Items" automatically removes the "View Versions" permission.

7

Finalization

Click Create to save the new custom permission level.

"Edit Without Download" Level

For users who need to edit documents without being able to download them, a level based on Edit can be created following the same process.

FeatureStandard EditEdit - No Download
Browser Editingâś… Availableâś… Available
File Download✅ Allowed❌ Blocked
Desktop Applications✅ Accessible❌ Restricted
Synchronization✅ Possible❌ Blocked
Version History✅ Viewable❌ Inaccessible

Assigning Custom Permission Levels

Direct Assignment to Users and Groups

Direct assignment allows precise control over individual permissions.

1

Navigate to Permissions

Access Settings (⚙️) → Site Permissions → Advanced Permission Settings.

2

Assign Permissions

Click Grant Permissions and enter the security group name or users.

3

Select Custom Level

In the Select a Permission Level dropdown, choose the custom level you created.

4

Validation

Click Share to apply the new permissions.

Assignment to Default SharePoint Groups

Managing permissions via default groups (Owners, Members, Visitors) simplifies administration and maintains consistency.

Sites Not Connected to a Microsoft 365 Group

For traditional SharePoint sites, modifying group permission levels is straightforward:

1

Select Group

In advanced permission settings, select the Site Visitors group (or target group).

2

Modify Permissions

Click Edit User Permissions in the command bar.

3

Replace Level

Uncheck the existing level (Read) and select the custom level (Read - No Download).

4

Apply

Click OK to validate the changes.

Sites Connected to a Microsoft 365 Group

Sites connected to a Microsoft 365 group have interface restrictions to preserve multi-service integrity. PowerShell becomes necessary:

⚡PowerShell
1# Assign "Read - No Download" level to visitors
2Set-SPOSiteGroup -Site "<Site URL>" -Identity "<Group Name>" -PermissionLevelsToAdd "Read - No Download" -PermissionLevelsToRemove "Read"
3
4# Assign "Edit - No Download" level to members
5Set-SPOSiteGroup -Site "<Site URL>" -Identity "<Group Name>" -Identity "<Group Name>" -PermissionLevelsToAdd "Edit - No Download" -PermissionLevelsToRemove "Edit"
!

Verify Existing Permissions

Before assigning a custom level, verify that the user doesn't have a higher level that would override the restrictions.

Edit - No Download

Enhanced Protection with Information Rights Management (IRM)

For enhanced protection of sensitive documents, Information Rights Management effectively complements custom permission levels.

Configuring IRM at Tenant Level

1

Access Admin Center

Navigate to the SharePoint Admin Center and access Settings.

2

Classic Settings Page

Select Classic Settings Page to access IRM options.

3

Activate IRM

Enable Use the IRM service specified in your configuration and click Refresh IRM Settings.

4

Save

Select OK to save the tenant configuration.

i

Activation Delay

IRM settings can take up to one hour to become available in SharePoint libraries.

Apply IRM Policies to Restrict SharePoint File Downloads

Configuring IRM on a Document Library

Once IRM is enabled at the tenant level, configuration can be applied to individual libraries:

1

Library Settings

Access Settings → Library Settings → More Library Settings.

2

IRM Section

Under Permissions and Management, select Information Rights Management (IRM).

3

Activate Restrictions

Enable Restrict permissions on this library when downloading.

4

Configure Policy

Enter an explicit Permission Policy Title and Description.

5

Advanced Options

Select Display Options to configure expiration, printing, copying, etc.

6

Finalization

Click OK to apply the IRM policy to the library.

Information RIghts Management

Testing and Validation of Configurations

Validating custom permission levels requires thorough testing with different user profiles.

Test Scenario: Edit Without Download

A user "Alex" member of the Finance Members group with the Edit (No Download) level can:

  • âś… Open documents in the browser
  • âś… Edit and save files
  • âś… Collaborate in the library
  • ❌ Access the download option

Test Scenario: Read Without Download

A user "Freddy" member of the Finance Visitors group with the Read (No Download) level can:

  • âś… View documents in the browser
  • ❌ Edit files
  • ❌ Download documents
  • ❌ Synchronize the library

Real Time testing custom permission

✦

Testing Best Practices

Always test systematically with real user accounts to validate expected behavior before production deployment.

IRM Testing

Advanced Security Considerations

While custom permission levels effectively prevent downloading, some limitations remain:

  • Text Copy: Content can be copied from the browser
  • Screenshots: Users can visually capture content
  • Manual Recreation: Possibility to manually recreate information

For maximum protection of sensitive data, combine custom permission levels with:

  • Comprehensive IRM policies
  • User activity monitoring
  • Security awareness training
  • Document classification and labeling

Practical PowerShell Scripts

Script for Creating Custom Permission Level

⚡PowerShell
1# Connect to SharePoint Online
2Connect-SPOService -Url "https://contoso-admin.sharepoint.com"
3
4# Configuration variables
5$SiteURL = "https://contoso.sharepoint.com/sites/finance"
6$CustomPermissionName = "Read - No Download"
7$GroupName = "Finance Visitors"
8
9# Assign custom level
10Set-SPOSiteGroup -Site $SiteURL -Identity $GroupName -PermissionLevelsToAdd $CustomPermissionName -PermissionLevelsToRemove "Read"
11
12Write-Host "Custom permission level applied successfully" -ForegroundColor Green

Script for Checking Permissions

⚡PowerShell
1# Check user permission levels
2$SiteURL = "https://contoso.sharepoint.com/sites/finance"
3$UserEmail = "alex@contoso.com"
4
5# Get user permissions
6$UserPermissions = Get-SPOUser -Site $SiteURL | Where-Object {$_.LoginName -like "*$UserEmail*"}
7$UserPermissions | Select-Object LoginName, Groups

Technical Terms Glossary

Permission Level: Set of permissions defining authorized actions in SharePoint.

IRM (Information Rights Management): Document protection technology that controls usage after download.

Site Collection: Hierarchical set of SharePoint sites sharing common settings.

Security Group: Collection of users facilitating permission management.

Conditional Access: Context-based policies to control resource access.

SharePoint PowerShell: Command-line interface for SharePoint administration.

Useful Links and Documentation

  • Official SharePoint Permissions Documentation
  • SharePoint Online IRM Guide
  • SharePoint Online PowerShell
  • SharePoint Security Best Practices
  • Microsoft Purview Compliance Center
Share:
HM

Houssem MAKHLOUF

Microsoft 365 enthusiast & IT professional.

Previous article

Teams Security Baseline 2026: 8 Essential Controls Against Modern Attack Vectors

Mar 10, 2026
Next article

Security Dashboard AI: New Dashboard to Secure Microsoft 365

Mar 10, 2026

Related articles

Exécution de scripts PowerShell pour auditer des applications AI et gérer leurs enregistrements.copilot

Audit and Manage AI Applications with PowerShell

Audit unauthorized AI applications in Entra ID with PowerShell and Microsoft Graph to strengthen control and security.

Jun 28, 20264 min
Graphiques abstraits et géométriques avec des couches de couleurs translucides.exchange

Converting Exchange IDs for Microsoft 365 Graph API

Convert Exchange identifiers (storeId, entryId, RestId) for Graph API and targeted eDiscovery. Technical guide with complete PowerShell scripts.

Jun 28, 20267 min
Pyramide réfléchissante au centre de réseaux de fils dorés et cercles.azure

Graph Delta Queries for Entra ID Groups

Learn how to use Graph Delta Queries for Entra ID groups to track changes in real-time. Tutorials and scripts included.

Jun 27, 20264 min