Modül 2 · Modül 2 — Domain 2: User Identity & Authentication · ⏱ 10-15 dakika

SCIM ve Kullanıcı Yaşam Döngüsü

SCIM & User Lifecycle

Bu derste neler öğreneceksin

  • SCIM'in ne olduğunu ve SAML SSO'dan farkını açıklamak
  • SCIM ile otomatik kullanıcı provision/deprovision sürecini anlamak
  • SCIM yapılandırmasında dikkat edilecek kritik noktaları bilmek

SCIM (System for Cross-domain Identity Management), kullanıcıların IdP’deki durumuna göre GitHub’da otomatik olarak oluşturulmasını (provisioning) ve kaldırılmasını (deprovisioning) sağlayan standarttır.

SAML vs SCIM Farkı

SAML SSOSCIM
AmaçKimlik doğrulamaKullanıcı yönetimi
Ne zaman çalışır?Her giriş denemesindeIdP’deki değişikliklerde
Kullanıcı oluşturmaHayır (JIT)Evet
Kullanıcı silmeHayırEvet (deprovision)
Grup syncHayırEvet

SAML SSO olmadan SCIM çalışmaz — ikisi birlikte yapılandırılmalıdır.

SCIM Provisioning Akışı

  1. IdP’de yeni çalışan oluşturulur veya GitHub App’e atanır
  2. IdP, GitHub SCIM endpoint’ine POST /scim/v2/Users gönderir
  3. GitHub kullanıcıyı oluşturur, org’a ekler
  4. Çalışan işten ayrıldığında: IdP PATCH ile active: false gönderir
  5. GitHub kullanıcıyı suspend eder (siler değil — suspend önemli!)

Kritik: SCIM ile deprovisioned kullanıcılar silinmez, suspend edilir. Bu ayrım sınav sorularında sıkça çıkar. Suspend edilen kullanıcının repositoryleri ve commit geçmişi korunur.

GitHub SCIM Endpoint

https://api.github.com/scim/v2/organizations/{org}/

Her SCIM isteği Authorization: Bearer <PAT> ile doğrulanır. Bu PAT admin:org scope’una sahip olmalıdır.

Grup Sync

SCIM ile IdP grupları, GitHub teams’e eşlenebilir:

  • IdP grubuna üye ekleme → GitHub team’e otomatik ekleme
  • IdP grubundan üye çıkarma → GitHub team’den otomatik çıkarma

Bu özellik özellikle büyük organizasyonlarda manuel kullanıcı yönetimini ortadan kaldırır.

Desteklenen IdP’ler

GitHub SCIM’i resmi olarak destekleyen IdP’ler:

  • Okta (en yaygın)
  • Azure Active Directory / Microsoft Entra ID
  • OneLogin
  • SCIM 2.0 uyumlu diğer IdP’ler (test gerektirir)