Kimlik Bilgisi Senkronizasyonu
Kimlik Bilgisi Senkronizasyonu, Database Provider, LDAP Active Directory, API Kimlik Sağlayıcı ve OIDC Kimlik Sağlayıcı kaynaklarındaki kullanıcıların, zamanlanmış veya elle tetiklenen bir işle otomatik olarak Kimlik Bilgisi kayıtlarına dönüştürülmesini sağlar. Böylece kimlik bilgileri her sağlayıcı için ayrı ayrı elle oluşturulmak yerine dış kaynaktan merkezi olarak güncel tutulur.
Senkronizasyon Profili
Her kimlik sağlayıcının (Database Provider, LDAP Active Directory, API Kimlik Sağlayıcı, OIDC Kimlik Sağlayıcı — yalnızca Keycloak sağlayıcı türünde) düzenleme ekranında ayrı bir Senkronizasyon Profili sekmesi bulunur. Bu sekmedeki ortak alanlar aşağıdaki gibidir:

| Alan | Açıklama |
|---|---|
| Senkronizasyonu Etkinleştir | Etkinleştirildiğinde kimlik bilgileri, tanımlanan zamanlamaya göre bu kaynaktan senkronize edilir. Kapalıyken ne zamanlanmış ne de elle senkronizasyon çalışır. |
| Cron İfadesi | Senkronizasyonun ne sıklıkla çalışacağını belirten Quartz cron ifadesidir (örn. 0 0 2 * * ?). Boş bırakılırsa yalnızca Senkronizasyon ekranından elle tetikleme yapılabilir. |
| Deaktivasyon Modu | Son senkronizasyon koşusunda kaynakta artık hiç bulunmayan kullanıcılara — LDAP kaynağında her zaman, OIDC kaynağında Grupları Senkronize Et açıkken ise ayrıca artık bulunmayan gruplara/kurumlara — karşılık gelen kayıtlara uygulanacak işlemdir: • Devre Dışı Bırak (geri alınabilir) — kimlik bilgisi pasif hale getirilir, kaydı korunur. Varsayılan değerdir. • Sil — kimlik bilgisi ya da kurum silinmez; erişimi kesecek şekilde pasifleştirilir ve mezar taşı (tombstone) olarak işaretlenir, kayıt ve ona bağlı ilişkiler korunur. Bkz. aşağıdaki not. • Hiçbiri (olduğu gibi koru) — herhangi bir işlem yapılmaz, sapma kabul edilir. |
Sil modu, kaynakta artık hiç bulunmayan bir kimlik bilgisini ya da kurumu fiziksel olarak kaldırmaz. Kimlik bilgilerinde erişim, Devre Dışı Bırak ile aynı şekilde kesilir; farkı, kaydın ayrıca kalıcı olarak "artık geçerli değil" (mezar taşı) damgası taşımasıdır. Kurumlarda kayıt korunduğu için ona bağlı kimlik bilgilerinin kurum bağlantısı kopmaz — kurum silme işleminden farklı olarak bağlı kayıtlar başka bir kuruma taşınmaz. Kalıcı temizleme (kaydın veritabanından tamamen kaldırılması) bu sürümde yapılmaz; ayrı bir bakım özelliği olarak planlanmıştır.
Bu sürümden önce Sil modu kaydı kalıcı ve geri dönüşsüz olarak kaldırıyordu. Aynı ayar artık geri alınabilir bir sonuç üretir: erişim yine kesilir, yalnızca kayıt kaybolmaz.
Açılır listedeki seçenek şu an hâlâ Sil (geri dönüşsüz) olarak etiketlidir — etiket yukarıdaki değişikliğe henüz uydurulmamıştır. Etiketten bağımsız olarak geçerli davranış yukarıda anlatılandır.
Bu, Kapsamdan Çıkan Kayda Ne Olur bölümündeki Mezar taşı bırak seçeneğinden farklı bir tetikleyicidir: burası kaynakta hiç görülmeyen kayıtları, oradaki ayar ise kaynakta görülüp yalnızca kapsam filtresinin dışına düşen kayıtları kapsar. İkisi de aynı sonucu (mezar taşı) üretebilir.
Sağlayıcıya özgü ek alanlar aşağıda anlatılmıştır.
LDAP Active Directory
| Alan | Açıklama |
|---|---|
| Kök OU DN | Senkronize edilecek OU (Organizational Unit) ağacının kök DN değeridir. Örnek: OU=Users,DC=acme,DC=corp |
LDAP senkronizasyonu yalnızca kullanıcıları değil, kullanıcıların bağlı olduğu kurum/organizasyon ağacını da senkronize eder. OIDC (Keycloak) kaynağı, Grupları Senkronize Et açıldığında kullanıcılara ek olarak grup ağacını da senkronize edebilir — aşağıya bakınız. Veri Tabanı ve API kaynakları da bir kurum ağacı kurar — kullanıcı satırındaki kurum yolundan türetilir, isteğe bağlı bir kurum listesi sorgusu/ucu ile tamamlanır — ama dördü içinde yalnız OIDC rol senkronize eder; Veri Tabanı ve API, LDAP/OIDC'nin aksine grupları ayrı nesneler olarak senkronize etmez.
Database Provider
| Alan | Açıklama |
|---|---|
| Kullanıcı Listeleme Sorgusu | Senkronize edilecek kullanıcıları döndüren, parametre almayan bir SELECT sorgusudur. Dönen kolonlar için şu takma adlar kullanılmalıdır: username (zorunlu), email, full_name. Örnek: select login as username, mail as email, display_name as full_name from users |
API Kimlik Sağlayıcı
| Alan | Açıklama |
|---|---|
| Kullanıcı Listeleme URL'si | Senkronize edilecek kullanıcı listesini döndüren uç noktadır. |
| HTTP Metodu | Kullanıcı listesi uç noktası çağrılırken kullanılan HTTP metodudur. |
| Zaman Aşımı | İsteğin bu süre (saniye) sonunda sonlandırılacağını belirtir. |
| İstek Gövdesi | Kullanıcı listesi uç noktasına gönderilen isteğe bağlı istek gövdesidir (POST/PUT için). |
| İstek Başlıkları | Kullanıcı listesi isteğiyle birlikte gönderilecek isteğe bağlı HTTP başlıklarıdır (örn. Authorization). |
| Kullanıcı Dizisi JSON Path | Yanıt içindeki kullanıcı dizisine giden JSON Path ifadesidir. Varsayılan değer: $ |
| Kullanıcı Adı JSON Path | Bir kullanıcı öğesinden kullanıcı adına giden JSON Path ifadesidir. Zorunlu alandır. |
| E-posta JSON Path | Bir kullanıcı öğesinden e-postaya giden JSON Path ifadesidir. |
| Ad Soyad JSON Path | Bir kullanıcı öğesinden ad soyada giden JSON Path ifadesidir. |
OIDC Kimlik Sağlayıcı (Keycloak)
Yalnızca Sağlayıcı Türü Keycloak olan OIDC Kimlik Sağlayıcı kayıtlarında kullanılabilir; Generic sağlayıcı türünde senkronizasyon alanları anlamlı değildir (bkz. OIDC Kimlik Sağlayıcı).
| Alan | Açıklama |
|---|---|
| Realm | Keycloak realm adıdır. |
| Admin API Taban URL | Keycloak sunucusunun taban adresidir. |
| Senkron İstemci ID | Keycloak Admin API'sini çağırmak için kullanılan, service-account yetkilerine sahip istemcidir. |
| Senkron Sayfa Boyutu | Kullanıcılar Keycloak Admin API'sinden sayfalanarak (paged) çekilirken kullanılan sayfa boyutudur. |
| Grupları Senkronize Et | Açıkken Keycloak grup ağacı, kullanıcıların bağlı olduğu Kurumlar yapısına da yansıtılır. |
| Rol Senkron Kaynağı | Kullanıcıların rol/grup üyeliğinin hangi kaynaktan çekileceğini belirler: Realm Rolleri, İstemci Rolleri veya Gruplar. |
Kullanıcı adı kontratı: senkronizasyon, Keycloak'taki kullanıcı adını (username) doğrudan Kimlik Bilgisi kaydının kullanıcı adına yazar. OIDC politikalarındaki token doğrulaması ise varsayılan olarak preferred_username claim'ini okur — bu iki değer aynı kullanıcı için eşleşmelidir, aksi halde doğrulanan token hiçbir Kimlik Bilgisi kaydıyla eşleşmez.