Kimlik Bilgisi Senkronizasyonu
Kimlik Bilgisi Senkronizasyonu, Database Provider, LDAP Active Directory ve API 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ı) 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 bulunmayan kullanıcılara karşılık gelen kimlik bilgilerine uygulanacak işlemdir: • Devre Dışı Bırak (geri alınabilir) — kimlik bilgisi pasif hale getirilir, kaydı korunur. Varsayılan değerdir. • Sil (geri dönüşsüz) — kimlik bilgisi tamamen silinir. • Hiçbiri (olduğu gibi koru) — herhangi bir işlem yapılmaz, sapma kabul edilir. |
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. Diğer kaynaklarda (Veritabanı, API) yalnızca kullanıcı senkronizasyonu yapılır.
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. |
Senkronizasyon Durumu ve Geçmişi
Kimlik > Sağlayıcılar > Senkronizasyon menüsünden açılan ekranda LDAP, Veritabanı ve API kaynakları ayrı sekmelerde listelenir. Her satırda aşağıdaki bilgiler görüntülenir:
| Alan | Açıklama |
|---|---|
| Ad | Kimlik sağlayıcının adıdır. |
| Tür | Kaynak tipidir (LDAP / Veritabanı / API). |
| Zamanlama | Tanımlı cron ifadesidir. |
| Durum | İşin durumudur: Zamanlanmış, Çalışıyor, Duraklatılmış, Beklemede, Tamamlandı, Hata veya Tanımsız (henüz koşmadı). |
| Son Senkronizasyon | Son koşunun tamamlanma zamanıdır. |
| Eklenen/Güncellenen, Deaktif Edilen, Atlanan, Hata | Son koşuda işlenen kayıt sayılarıdır. |
Bu ekrandaki Senkronize Et düğmesi ile ilgili kaynak için senkronizasyon zamanlaması beklenmeden anında tetiklenebilir.
Senkronizasyonu kapatılmış (Senkronizasyonu Etkinleştir alanı pasif) bir kaynak için Senkronize Et işlemi de çalıştırılamaz.
Davranış ve Güvenlik Notları
- Elle oluşturulmuş (senkronizasyon dışı) bir kimlik bilgisinin kullanıcı adı kaynakta da mevcutsa, bu kayıt senkronizasyon tarafından üzerine yazılmaz; çakışmanın giderilmesi için yönetici müdahalesi gerekir.
- Bir kimlik bilgisi zaten başka bir kaynak tarafından yönetiliyorsa (örneğin LDAP), farklı bir kaynak (örneğin Veritabanı) bu kaydı devralmaz.
- Aynı kullanıcı adı başka bir projede zaten kayıtlıysa, senkronizasyon bu kullanıcı adıyla başka bir projede yeni bir kimlik bilgisi oluşturmaz.
- Kaynaktan kullanıcı listesi alınamazsa (bağlantı hatası vb.) veya kaynak hiç kullanıcı döndürmezse, olası bir kaynak kesintisinin toplu deaktivasyona yol açmaması için o koşuda deaktivasyon adımı atlanır.
İlgili Sayfalar
Sağlayıcı bağlantı ayarları için Database Provider, LDAP Active Directory ve API Kimlik Sağlayıcı sayfalarını, senkronize edilen kayıtlar için Kimlik Bilgileri sayfasını inceleyebilirsiniz.