← Back to Documentation

Security & Permissions

Understanding the permissions required for SP Toolkit and how your data is protected during migrations.

Your Data Never Leaves Your Tenant

SP Toolkit runs entirely within your SharePoint environment. Data flows directly between source and target—never through third-party servers.

Same-Tenant Permissions

Migrations within a single Microsoft 365 tenant

Same-tenant migrations use your existing SharePoint permissions. No additional app registration or API permissions required.

PermissionScopePurposeRequired
SharePoint AdministratorTenantDeploy to tenant-wide App CatalogRequired
Site Collection AdministratorSiteDeploy to site collection App CatalogRequired
Full Control / DesignListsCreate lists, modify schema, write itemsRequired

Cross-Tenant Permissions

Migrations between different Microsoft 365 tenants

Cross-tenant migrations require an Azure AD App Registration with Microsoft Graph API permissions. Admin consent is required for most permissions.

PermissionTypePurposeRequired
Sites.Read.AllApplicationRead sites and lists from source tenantRequired
Sites.ReadWrite.AllApplicationWrite to target tenant sites and listsRequired
User.Read.AllDelegatedResolve user fields across tenantsRequired
TermStore.ReadWrite.AllApplicationRead/write managed metadata termsRecommended
Directory.Read.AllDelegatedUser lookup fallbacksRecommended

Setting Up Azure AD App Registration

  1. 1.Go to Azure PortalAzure Active DirectoryApp registrations
  2. 2.Click New registration. Name it (e.g., "SharePoint Migration Tool")
  3. 3.Set redirect URI to https://login.microsoftonline.com/common/oauth2/nativeclient
  4. 4.Go to API permissionsAdd a permissionMicrosoft Graph
  5. 5.Add the permissions listed above (Sites.Read.All, Sites.ReadWrite.All, User.Read.All)
  6. 6.Click Grant admin consent (requires Global Administrator)
  7. 7.Copy the Application (client) ID and Directory (tenant) ID

Authentication Methods

SPFx Context

Same-tenant migrations use the current user's SharePoint context automatically.

Same-Tenant

MSAL Browser

Cross-tenant uses Microsoft Authentication Library with Azure AD App Registration.

Cross-Tenant

Graph API

Bearer token authentication for Microsoft Graph operations.

Cross-Tenant

Security Features

Token Caching

Secure in-memory token storage with automatic renewal

Scope Validation

Permission verification before migration starts

Tenant Isolation

Separate authentication contexts per tenant

Admin Consent URLs

UI helper for generating permission grant URLs

Security Best Practices

Use Least Privilege

Only grant the minimum permissions required. For read-only analysis, Sites.Read.All is sufficient.

Rotate Secrets Regularly

If using client secrets for app registration, rotate them according to your organization's security policies.

Audit Migration Activities

SP Toolkit generates detailed logs. Export and retain these for compliance and audit purposes.

Review Admin Consent Carefully

Admin consent grants permissions tenant-wide. Review the permissions carefully and revoke when migration is complete if appropriate.

Related Documentation

Getting Started

Installation and setup guide.

Read Guide →

Migration Guides

Same-tenant and cross-tenant tutorials.

Read Guides →

Configuration

All settings and options explained.

View Options →