Modül 4 · Modül 4 — Domain 4: Access & Permissions · ⏱ 10-15 dakika

Teams ve Nested Teams

Teams & Nested Teams

Bu derste neler öğreneceksin

  • GitHub Teams yapısını ve hiyerarşik team kullanımını anlamak
  • Parent/child team ilişkisinin erişim izinlerini nasıl etkilediğini açıklamak
  • SCIM ile team senkronizasyonunu yapılandırmayı bilmek

GitHub Teams, organizasyon içinde kullanıcıları gruplamak ve bu gruplara toplu repo erişimi vermek için kullanılır. Nested (iç içe) teams, hiyerarşik organizasyonel yapıları modellemeye yarar.

Team Temel Özellikleri

  • Her team organization düzeyinde tanımlanır
  • Bir team’e hem kullanıcılar hem de alt teamler (child team) eklenebilir
  • Team’e verilen repo izni, tüm üyelerine uygulanır
  • Team’ler, @org/team-name sözdizimi ile mention edilebilir (kod review talepleri için kullanışlı)

Nested Teams

Parent-child team yapısında:

  • Parent team → daha geniş kapsamlı grup (örn. engineering)
  • Child team → alt uzmanlaşmış grup (örn. engineering/frontend)

Child team üyeleri, parent team’in varsayılan olarak notification’larını alır. Ancak repo erişimi miras alınmaz — her team için ayrıca repo erişimi tanımlanmalıdır.

Sınav tuzağı: “Parent team’e repo yazma izni verildi. Child team otomatik olarak bu izni alır mı?” — Yanıt: Hayır. Nested team yapısında izinler miras alınmaz, ayrı ayrı atanmalıdır.

Team ile Repo Erişimi

Organization → Teams → {Team} → Repositories
→ "Add repository" → Seçilen rol (Read / Triage / Write / Maintain / Admin)

Bir kullanıcı birden fazla team üyesiyse en yüksek izin geçerli olur (izin birleşimi).

SCIM ile Team Sync

IdP grup–GitHub team eşlemesi SCIM ile yapılır:

  1. IdP’de grup oluştur (örn. Okta’da “github-frontend” grubu)
  2. GitHub’da team oluştur ve SCIM group’unu bağla
  3. IdP’deki grup üyeliği değişikliklerinde GitHub team otomatik güncellenir

Bu özellik Team synchronization olarak adlandırılır ve GHEC + desteklenen IdP gerektirir.

Gizli vs Görünür Team

  • Visible (görünür): Org üyeleri tüm visible team’leri görebilir
  • Secret (gizli): Yalnızca team üyeleri ve org owner’lar görebilir

Secret team’ler, hassas projeler veya güvenlik ekipleri için kullanılır.