İzinler (Permissions)

gityar, depo, takım ve organizasyon olmak üzere birden fazla seviyede granüler erişim kontrolü sağlar. İzinleri anlamak, işbirliğini mümkün kılarken güvenliği korumak için çok önemlidir.

İzin Seviyeleri

Depo Seviyesi

Okuma Erişimi

  • Depo içeriğini görüntüle
  • Depoyu klonla
  • Sorunları ve çekme isteklerini görüntüle
  • Sorunlar ve PR'lar üzerinde yorum yap
  • Wiki'yi görüntüle
  • Sürümleri indir

Yazma Erişimi

  • Tüm Okuma izinleri
  • Depoya push yap
  • Branch'ler oluştur ve yönet
  • Sorunlar oluştur ve yönet
  • Çekme istekleri oluştur ve yönet
  • Etiketler ve kilometre taşları ekle
  • Wiki sayfalarını düzenle
  • Sürümleri yönet

Yönetici Erişimi

  • Tüm Yazma izinleri
  • Depo ayarlarını değiştir
  • İşbirlikçileri yönet
  • Depoyu sil
  • Sahipliği transfer et
  • Web kancalarını yönet
  • Git hook'larını yönet
  • Özellikleri etkinleştir/devre dışı bırak (Wiki, Sorunlar vb.)
  • Dağıtım anahtarlarını yönet

Organizasyon Seviyesi

Sahip

  • Organizasyon üzerinde tam kontrol
  • Organizasyon ayarlarını yönet
  • Depolar oluştur ve sil
  • Tüm takımları yönet
  • Üye ekle ve kaldır
  • Organizasyon faturalandırmasını yönet (varsa)

Üye

  • Atanan takım depolarına erişim
  • Depolar oluştur (izin verilirse)
  • Takımlara katıl
  • Organizasyon sayfasını görüntüle

İzin Ayarlama

Bireysel Depo

  1. Depo Ayarları gidin
  2. "İşbirliği" tıklayın
  3. Kullanıcıyı arayın
  4. İzin seviyesini seçin:
    • Okuma
    • Yazma
    • Yönetici
  5. "Ekle" tıklayın

Takımlar Üzerinden

  1. Organizasyon Takımlar gidin
  2. Takım seçin veya oluşturun
  3. Takım izin seviyesini ayarlayın
  4. Üyeleri takıma ekleyin
  5. Takıma depo erişimi izni verin

Organizasyon Ayarları

Depo Oluşturma:

  • Tüm üyelerin depo oluşturmasına izin ver
  • Sadece sahiplerle kısıtla

Takım Oluşturma:

  • Tüm üyelerin takım oluşturmasına izin ver
  • Sadece sahiplerle kısıtla

Özel İzinler

Branch Koruması

Önemli branch'leri koruyun (main gibi):

  1. AyarlarBranch'ler gidin
  2. Branch koruma kuralı ekleyin
  3. Yapılandırın:
    • Çekme isteği incelemeleri gerektir
    • Durum kontrolleri gerektir
    • İmzalı commit'ler gerektir
    • Push yapabilecekleri kısıtla

Dağıtım Anahtarları

Dağıtım için okuma veya okuma-yazma erişimi izni verin:

  1. AyarlarDağıtım Anahtarları gidin
  2. "Dağıtım Anahtarı Ekle" tıklayın
  3. SSH genel anahtarını ekleyin
  4. Seçin:
    • Salt Okunur: Sadece pull yapabilir
    • Okuma-Yazma: Push ve pull yapabilir

Kişisel Erişim Belirteçleri

API erişimi için granüler izinler:

  • read:user - Kullanıcı profilini oku
  • write:user - Kullanıcı profilini değiştir
  • read:repo - Depoyu oku
  • write:repo - Depoyu değiştir
  • delete:repo - Depoyu sil
  • read:org - Organizasyonu oku
  • write:org - Organizasyonu değiştir

İzin Devralma

Hiyerarşi

Organizasyon
  └─ Takım
      └─ Depo
          └─ Bireysel

Kurallar

  • Bireysel izinler takım izinlerini geçersiz kılar
  • Takım izinleri tüm takım üyelerine uygulanır
  • Organizasyon sahipleri tüm depolara yönetici erişimine sahiptir
  • Birden fazla kaynak olduğunda en kısıtlayıcı izin uygulanır

En İyi Uygulamalar

Güvenlik

  • ✅ En ayrıcalık ilkesi
  • ✅ İzinleri düzenli olarak denetleyin
  • ✅ Artık gerektiğinde erişimi kaldırın
  • ✅ Bireysel izinler yerine takımlar kullanın
  • ✅ Ana branch'ler için branch koruması etkinleştirin
  • ✅ Önemli değişiklikler için PR incelemeleri gerektirin

İşbirliği

  • ✅ İzin yapısını belgeleyin
  • ✅ Takımları işleve veya projeye göre oluşturun
  • ✅ Harici katkıda bulunanlar için Okuma erişimi kullanın
  • ✅ Güvenilir geliştiriciler için Yazma erişimi kullanın
  • ✅ Yöneticiyi depo bakımcıları için saklayın

Organizasyon Yönetimi

  • ✅ Organizasyon sahibi sayısını sınırlayın
  • ✅ Takım üyeliklerini üç ayda bir gözden geçirin
  • ✅ Etkin olmayan depoları arşivleyin
  • ✅ Erişim politikalarını belgeleyin
  • ✅ Takım üyelerini izinler konusunda eğitin

Sorun Giderme

Yaygın Sorunlar

Push yaparken "Permission Denied":

  • Yazma veya Yönetici erişiminiz olduğunu kontrol edin
  • Doğru kimlik bilgilerini kullandığınızı doğrulayın
  • Branch'in korunup korunmadığını kontrol edin

Depoyu göremiyorum:

  • İşbirlikçi olarak eklendiğinizi doğrulayın
  • Takım üyeliğini kontrol edin
  • Organizasyon sahibinden erişim isteyin

Depoyu silemiyorum:

  • Sadece Yönetici veya Sahip silebilir
  • Deponun organizasyona ait olup olmadığını kontrol edin

İşbirlikçi ekleyemiyorum:

  • Depoya Yönetici erişimi gerekli
  • Organizasyon sahipleri herhangi bir depoya ekleyebilir

Sonraki Adımlar