Base Permission ve Repository Rolleri
Base Permission & Repository Roles
Bu derste neler öğreneceksin
- Organizasyon base permission'ını ve etkisini açıklamak
- Beş repository rolünü ve yetkilerini karşılaştırmak
- Custom repository role oluşturmayı ve kullanım senaryolarını anlamak
Repository rolleri, kullanıcıların bir repoda ne yapabileceğini belirler. GH-100, bu rolleri ve organizasyon düzeyindeki base permission politikasını Domain 4 kapsamında sınar.
Base Permission
Organizasyon base permission, tüm org üyelerinin private ve internal repositorylere varsayılan erişim seviyesidir:
| Base Permission | Açıklama |
|---|---|
| None | Üyeler, özellikle eklenmedikçe private/internal repo’ya erişemez |
| Read | Tüm üyeler varsayılan olarak okuma erişimine sahip |
| Write | Tüm üyeler varsayılan olarak okuma+yazma erişimine sahip |
| Admin | Tüm üyeler varsayılan olarak admin erişimine sahip |
En iyi pratik: Base permission’ı None veya Read olarak tut ve ekiplere/bireylere özellikle izin ver. “Write” veya “Admin” base permission büyük organizasyonlarda ciddi güvenlik riski oluşturur.
Beş Repository Rolü
| Rol | Okuma | Issue/PR | Push | Yönetim | Settings |
|---|---|---|---|---|---|
| Read | ✓ | ✓ (yorum) | ✗ | ✗ | ✗ |
| Triage | ✓ | ✓ (label, atama) | ✗ | ✗ | ✗ |
| Write | ✓ | ✓ | ✓ | ✗ | ✗ |
| Maintain | ✓ | ✓ | ✓ | Kısmi | ✗ |
| Admin | ✓ | ✓ | ✓ | ✓ | ✓ |
Triage rolü özellikle issue/PR yöneticileri (proje yöneticileri) için tasarlanmıştır. Maintain rolü; repo ayarlarını değiştiremez ama protected branch kurallarını yönetebilir.
Custom Repository Roles
Enterprise ve organization plan’larında özel roller oluşturulabilir:
Organization → Settings → Repository roles → Create a role
→ Base role seç → Ek izinler ekle
Örneğin, “Code Reviewer” adında bir rol: Read + PR review approve yetkisi — Write olmadan.
İzin Çakışması
Bir kullanıcı hem doğrudan hem de team aracılığıyla farklı izinler alıyorsa en yüksek izin geçerlidir. Bunun bir istisnası yoktur — izinler her zaman en kısıtlayıcı değil, en geniş kapsamlıyla birleşir.