"Sorry, you don't have access" — Yaygın Senaryolar

SharePoint Online'da bir kullanıcı bir site / library / dosyaya erişemiyor. Mesaj çeşitleri:

  • "Sorry, you don't have access to this page"
  • "Access denied"
  • "You need permission to view this folder"
  • "This page isn't available"
  • "403 Forbidden"

Adım 1 — Erişim Düzeyini Belirle

Sorun nerede? Site mı, library mi, folder mi, dosya mı?

DüzeyURL FormatıPermission Yönetimi
Site collection/sites/MarketingTeam/Site Settings → Site Permissions
Library/sites/MarketingTeam/Documents/Library Settings → Permissions
Folder/sites/MarketingTeam/Documents/2026/Sağ tık → Manage Access
File/sites/MarketingTeam/Documents/2026/budget.xlsxSağ tık → Manage Access

Adım 2 — Default Permission Hierarchy

SharePoint default 3 grubu vardır:

  • Owners — Full control
  • Members — Edit (yaz, sil, düzenle)
  • Visitors — Read-only

Yeni site'ta tüm library'ler "parent'tan miras alır". Ama bir folder/file için "Stop inheriting" yapılmışsa o özel izin listesi geçerli olur.

Adım 3 — Permission Tanı (Site Owner için)

Site owner ise (siz veya başka bir admin):

  1. Site → Settings (dişli) → Site permissions
  2. "Advanced permissions settings" (eski UI)
  3. Üst menü → "Check Permissions"
  4. Kullanıcı UPN'i gir → "Check Now"
  5. Sonuç: hangi grup üzerinden hangi permission seviyesi olduğunu gösterir

Adım 4 — En Yaygın 8 Sebep

Sebep 1: Kullanıcı Hiçbir Group'a Atanmamış

"Check Permissions" hiçbir sonuç vermiyor.

Çözüm: Site permissions → "Grant permissions" → kullanıcı + permission level seç.

Sebep 2: External User Sharing Kapalı

Misafir/dış kullanıcı için. Tenant düzeyinde sharing politikası external user'a izin vermiyor.

Connect-SPOService -Url https://firmaniz-admin.sharepoint.com
Get-SPOTenant | Select SharingCapability

# ExternalUserAndGuestSharing → ideal
# Disabled → external user erişemez

Çözüm: SharePoint Admin Center → Sharing → External sharing seviyesini ayarla.

Sebep 3: Sharing Link Süresi Dolmuş

"Anyone with the link" ile gönderilmiş link, süre limiti dolmuş.

Çözüm: Dosyaya sağ tık → "Manage Access" → eski link'leri sil → yeni link oluştur.

Sebep 4: Inheritance Kırılmış

Folder/file özel permission listesi var, kullanıcı orada yok.

# PowerShell ile inherit kontrolü (PnP)
Connect-PnPOnline -Url https://firmaniz.sharepoint.com/sites/Marketing -Interactive
$folder = Get-PnPFolder -Url "Documents/2026" -Includes ListItemAllFields
$folder.ListItemAllFields.HasUniqueRoleAssignments

Çözüm: Folder → "Manage Access" → "Advanced" → "Restore inheritance" (eğer üst seviyeden yetki yeterliyse).

Sebep 5: Microsoft 365 Group Üyeliği Kaybolmuş

Site bir M365 Group'a bağlı (Teams site'lar tipik). Kullanıcı gruptan çıkartılmış.

Get-MgGroupMember -GroupId <group-id> | Where AdditionalProperties.userPrincipalName -eq "ahmet@firmaniz.com"

Çözüm: Group'a yeniden ekle (Teams uygulaması üzerinden veya Entra Admin).

Sebep 6: Conditional Access Engelliyor

"Compliant device required" politikası, kullanıcının cihazı Intune'a kayıtlı değil.

Çözüm: Sign-in logs → Conditional Access kolonu "Failure" olan tetikleyici politika gör → cihazı uyumlu hâle getir veya politika exception.

Sebep 7: SharePoint App-Only Permission Eksik

Custom uygulama erişiyorsa app permission yetersiz.

Çözüm: Site'ın /_layouts/15/AppInv.aspx sayfasından app permission ekle.

Sebep 8: Site "Read Only" Mode

Admin site'ı geçici olarak read-only/no-access locked yapmış.

Get-SPOSite -Identity https://firmaniz.sharepoint.com/sites/Marketing |
  Select Url, LockState
# LockState değerleri: NoAccess, ReadOnly, Unlock

Çözüm:

Set-SPOSite -Identity https://firmaniz.sharepoint.com/sites/Marketing -LockState Unlock

Adım 5 — PowerShell ile Detaylı Tanı

Install-Module PnP.PowerShell -Scope CurrentUser
Connect-PnPOnline -Url https://firmaniz.sharepoint.com/sites/Marketing -Interactive

# Site permission listesi
Get-PnPSiteUserInvitations  # external user davetleri
Get-PnPGroup                  # default groups
Get-PnPGroupMember -Identity "Marketing Members"

# Belirli kullanıcı için tüm site'lardaki erişim
Get-PnPUser -Identity ahmet@firmaniz.com

Adım 6 — Site Collection Admin Ata (Acil Erişim)

Site'a kimse erişemiyorsa veya site'ın gerçek owner'ı ayrılmışsa:

Set-SPOUser -Site https://firmaniz.sharepoint.com/sites/Marketing `
  -LoginName admin@firmaniz.com -IsSiteCollectionAdmin $true

Bu admin artık tüm permission'ları görüp düzenleyebilir.

Adım 7 — Audit Log ile "Access Denied" Olayını İncele

Connect-ExchangeOnline
Connect-IPPSSession

Search-UnifiedAuditLog `
  -StartDate (Get-Date).AddHours(-2) `
  -EndDate (Get-Date) `
  -UserIds ahmet@firmaniz.com `
  -Operations FileAccessed, FileAccessedExtended, AccessDenied `
  -ResultSize 100 |
  Select CreationDate, UserIds, Operations,
    @{n="File";e={($_.AuditData|ConvertFrom-Json).ObjectId}}

Sharing Link Türleri ve Sorunları

TürDavranış"Access denied" sebebi
Anyone with the linkAuthentication'sızSüre dolmuş, sharing politikası kapalı
People in your organizationTenant kullanıcılarıMisafir hesabı engelleniyor
Specific peopleSadece davet edilenKullanıcı listede değil
People with existing accessMevcut izinler kullanılırHiç izin yok

Yaygın Senaryolar — Hızlı Çözüm

"Yeni çalışana site'a izin verdim ama hâlâ erişemiyor"

Cache. Kullanıcı tarayıcıyı kapat-aç, InPrivate window dene. 15-30 dk yayılım.

"Eski owner ayrıldı, kimse owner değil"

Tenant admin → SharePoint Admin Center → site → "Membership" → kendisini owner ekle.

"Document open while saving — access denied"

Co-authoring lock. Excel/Word'de açık olan diğer kullanıcılar kapatsın.

"OneDrive'da yeni klasör eklediğimde permission kaybolur"

OneDrive default sadece sahibi görür. Yeni klasörü paylaşmak istiyorsan sağ tık → "Share".

"External link açılmıyor — login istiyor"

Tenant external sharing politikası "Authentication required" — anonymous çalışmıyor. Konuk hesabı oluştur.

Site Erişim Audit Raporu (Aylık)

$site = "https://firmaniz.sharepoint.com/sites/Marketing"
Connect-PnPOnline -Url $site -Interactive

$report = @()
foreach ($g in Get-PnPGroup) {
  foreach ($u in Get-PnPGroupMember -Identity $g.Title) {
    $report += [PSCustomObject]@{
      Group = $g.Title
      User = $u.LoginName
      DisplayName = $u.Title
    }
  }
}
$report | Export-Csv .\sp_access_audit.csv -NoTypeInformation -Encoding UTF8

SSS

Site collection admin ekledim ama hâlâ erişemiyorum

Browser cache. InPrivate window'da dene. 15 dk yayılım.

"Manage Access" butonu görünmüyor

Sahibi/Editor değilsin. Site owner'a "request access" gönder veya tenant admin'e ulaş.

Permission level'leri özelleştirebilir miyim?

Evet — Site Settings → Permission Levels → custom level (örn. "Read + Comment but no download"). Modern SharePoint'te sınırlı.

Kullanıcı bazlı veya group bazlı — hangisi daha iyi?

Group bazlı — kullanıcılar gelip gider, group permission'ı stabil kalır. Tek tek kullanıcı eklemekten kaçın.

"Limited access" ne demek?

Kullanıcının üst seviyede izni yok ama bir alt klasör/file için var. Sistem otomatik "limited access" tahsis eder ki kullanıcı navigation yapabilsin.

SharePoint permission yönetimi için bize ulaşın → Permission audit + cleanup paketi.