Ana içeriğe geç

Login Log Konnektör Yapılandırması

bilgi

Bu özellik, kullanıcı giriş/çıkış olaylarının harici sistemlere (Elasticsearch, Kafka, Webhook vb.) konnektörler aracılığıyla iletilmesini sağlar. Kapsam API Manager (sistem kullanıcıları) ve API Portal (portal kullanıcıları) içindir.

Genel Bakış

Apinizer, kullanıcı giriş/çıkış olaylarını iki farklı katmanda izler:

KaynakKimlerAyar Ekranı
API ManagerYönetici / sistem kullanıcılarıSIEM ve Log Yönlendirme sayfası — SESSION hattı
API PortalPortal son kullanıcıları (geliştiriciler)Portal Ayarları > Login Log sekmesi

Her iki katmanda da giriş kayıtları her zaman Apinizer veritabanına yazılır ve bu davranış kapatılamaz; buna ek olarak loglar harici bir sisteme (konnektör) de gönderilebilir — bunun için bir veya daha fazla bağlantı hedefi tanımlanır.

bilgi

API Manager giriş kayıtlarının konnektör yapılandırması SIEM ve Log Yönlendirme sayfasına taşındı. Hedefler, olay tipi ve kapsam filtreleri, gizlilik profili ile boyut politikası oradan SESSION hattı üzerinden yönetilir. Bu sayfadaki olay tipleri ve JSON biçimi geçerliliğini korur.


1. API Manager – Sistem Kullanıcısı Login Log

1.1 Nerede Yapılandırılır?

Yönetim → Sistem Ayarları → SIEM ve Log Yönlendirme → Hedefler sekmesinde bir hedef tanımlanır ve hedefin Hat Kuralları bölümünde SESSION hattı açılır. Hattın yerel saklaması ve yetkisi Hatlar sekmesindeki SESSION satırından görüntülenir.

1.2 Ayarlar

AyarAçıklama
Yerel saklamaGiriş kayıtları her zaman Apinizer veritabanına yazılır ve bu davranış kapatılamaz.
HedeflerGiriş kayıtlarının gönderileceği bağlantıların listesi. SESSION hattı için kural tanımlanan her hedef bu kayıtları alır.
KurallarOlay tipi, sonuç ve kapsam filtreleriyle hangi giriş olaylarının gönderileceği belirlenir. Kurallar yalnızca hattın yetkisi ACTIVE olduğunda uygulanır.

Yönetim Konsolu giriş kayıtlarının görüntülenmesi için bkz. Giriş Kayıtları.

1.3 Hedef Ekleme

  1. SIEM ve Log Yönlendirme sayfasının Hedefler sekmesinde Hedef Ekle butonuna tıklayın.
  2. Açılan pencerede ortam (environment) için daha önce tanımlanmış bir bağlantı yapılandırmasını konnektör olarak seçin.
  3. Hat Kuralları bölümünde SESSION için Bu hattı bu hedefe gönder anahtarını açın.
  4. Hedefi Etkin bırakın ve kaydedin.
bilgi

Konnektörler ortam (environment) bazlı tanımlanır. Bir bağlantı yapılandırması önce Bağlantı Yapılandırması ekranında oluşturulmuş ve ilgili ortama atanmış olmalıdır.

1.4 Tetiklenen Olaylar

OlayeventTypeAçıklama
Başarılı girişLOGIN_SUCCESSKullanıcı adı ve parola doğrulandı
Başarısız girişLOGIN_FAILUREHatalı kimlik bilgisi veya kilitli hesap
ÇıkışLOGOUTKullanıcı Yönetim Konsolu'ndan çıkış yaptı
Token yenileme (proje değişimi)TOKEN_REFRESH_SUCCESSOturum token'ı farklı bir proje için yenilendi
Token yenileme reddiTOKEN_REFRESH_FAILUREKullanıcının istenen projede yetkisi yok (reasonCode=NO_PROJECT_PERMISSION)
Hesap kilitlendiACCOUNT_LOCKEDÇok sayıda başarısız denemeden sonra hesap kilitlendi
Parola değiştiPASSWORD_CHANGEDKullanıcının parolası — kullanıcının kendisi ya da bir yönetici tarafından — değiştirildi
Parola değişikliği zorunluPASSWORD_CHANGE_REQUIREDKullanıcı, başka bir işlem yapmadan önce değiştirmesi gereken bir parolayla giriş yaptı
Parola politikası ihlaliPASSWORD_POLICY_VIOLATIONBir parola, yapılandırılmış parola politikasına uymadığı için reddedildi

Her olay ayrıca userAgent taşır; başarısız olaylarda makine tarafından okunabilir bir reasonCode bulunur. Alan ve neden kodu listesi için Giriş Kayıtları sayfasına bakın.

1.5 Konnektöre Gönderilen JSON Formatı

Aşağıdaki biçim LEGACY_RAW yük profilinin çıktısıdır; alan listesi dondurulmuştur ve değişmez. Kanonik zarf, ortak aktör/hedef blokları ve alan bazlı gizlilik uygulaması için hedefi APINIZER_JSON_V2 profiline geçirebilirsiniz; bkz. SIEM ve Log Yönlendirme.

{
"source": "API_MANAGER",
"principal": "kullanici.adi",
"email": null,
"displayName": null,
"eventDate": "2026-03-31T10:00:00Z",
"eventType": "LOGIN_SUCCESS",
"remoteAddress": "1.2.3.4",
"message": null,
"errorType": null,
"portalId": null,
"accountId": null
}

Graylog konnektörleri aynı olayı GELF mesajı olarak alır; kısa mesaj (short message) LogLogin değeridir. Mesaja Ekle (Append to Message) açıkken yukarıdaki JSON gövdesi GELF full_message alanına yazılır; Özniteliklere Ekle (Append to Attributes) açıkken dolu olan her alan (source, principal, email, displayName, eventDate, eventType, remoteAddress, message, errorType, portalId, accountId, userAgent, reasonCode, targetProjectId) ayrı bir GELF additional field olarak gönderilir. Değeri null olan alanlar additional field listesine eklenmez.

1.6 Örnek Başarısız Giriş

{
"source": "API_MANAGER",
"principal": "kullanici.adi",
"email": null,
"displayName": null,
"eventDate": "2026-03-31T10:01:00Z",
"eventType": "LOGIN_FAILURE",
"remoteAddress": "1.2.3.4",
"message": "Bad credentials",
"errorType": "org.springframework.security.authentication.BadCredentialsException",
"portalId": null,
"accountId": null
}

2. API Portal – Portal Kullanıcısı Login Log

2.1 Nerede Yapılandırılır?

Portal Yönetimi → [Portal Seçin] → Ayarlar → Login Log sekmesi

API Portal Login Log sekmesi: veritabanına her zaman kaydedilir uyarısı ve konnektör tablosu
API Portal Ayarları — Login Log sekmesi

2.2 Ekran Alanları

AlanAçıklama
Connector HedefleriLogin loglarının gönderileceği harici sistem bağlantılarının listesi.
bilgi

Portal login log kayıtları her zaman MongoDB portal_login_logs koleksiyonuna yazılır; bu davranış kapatılamaz. Portal login log ayarları portal başına bağımsızdır — her portala ayrı konnektör tanımlanabilir.

Bu konnektör listesi yalnızca SESSION hattının SIEM yetkisi LEGACY iken kullanılır. Bir yönetici SIEM ve Log Yönlendirme ekranından SESSION'ı ACTIVE'e çevirdiğinde, portal giriş/çıkış olayları — tüm portallar için birden — bunun yerine orada tanımlı kural ve hedeflerle iletilir ve bu liste artık kullanılmaz.

Portal giriş kayıtlarının görüntülenmesi ve filtreleme için bkz. API Portal Giriş Kayıtları.

2.3 Konnektör Ekleme

Adımlar API Manager ile aynıdır:

  1. Login Log sekmesindeki konnektör tablosunun + butonuna tıklayın.
  2. Uygun bağlantı yapılandırmasını seçin ve kaydedin.

2.4 Tetiklenen Olaylar

Portal on olay tipi üretir. İlk ikisi için konnektöre gönderilen eventType, mevcut konnektörlerin zaten beklediği değere çevrilir; diğer tüm tipler kendi adıyla, değiştirilmeden gönderilir:

OlayKonnektöre gönderilen eventTypeAçıklama
Başarılı girişLOGIN_SUCCESSPortal kullanıcısı giriş yaptı
Başarısız girişLOGIN_FAILUREHatalı kimlik bilgisi ya da girişin başka bir nedenle reddedilmesi (onay bekleyen, onaylanmamış, devre dışı, reddedilmiş ya da başka bir portala ait bir hesap)
ÇıkışPORTAL_LOGOUTPortal kullanıcısı çıkış yaptı
Hesap kilitlendiPORTAL_ACCOUNT_LOCKEDHesap, çok sayıda başarısız giriş denemesinden sonra kilitlendi
Parola değiştiPORTAL_PASSWORD_CHANGEDHesabın parolası değiştirildi — self-servis, yönetici tarafından, sıfırlama bağlantısıyla veya zorunlu/süresi dolmuş bir parolanın değiştirilmesi gerektiği için
Parola değişikliği zorunluPORTAL_PASSWORD_CHANGE_REQUIREDHesabın kullanılmadan önce parolasını değiştirmesi gerekiyor
Parola sıfırlama talep edildiPORTAL_PASSWORD_RESET_REQUESTEDHesap sahibi parola sıfırlama talep etti
Parola politikası ihlaliPORTAL_PASSWORD_POLICY_VIOLATIONBir parola, portalin yapılandırılmış parola politikasına uymadığı için reddedildi
Hesap devre dışı bırakıldıPORTAL_ACCOUNT_DISABLEDHesap devre dışı bırakıldı — bugün yalnız inaktif-hesap görevi tarafından
Hesap kilidi açıldıPORTAL_ACCOUNT_UNLOCKEDBir yönetici hesabın kilidini açtı

2.5 Konnektöre Gönderilen JSON Formatı

{
"source": "API_PORTAL",
"principal": null,
"email": "kullanici@example.com",
"displayName": "Ad Soyad",
"eventDate": "2026-03-31T10:05:00Z",
"eventType": "LOGIN_SUCCESS",
"remoteAddress": "5.6.7.8",
"message": null,
"errorType": null,
"portalId": "portal-abc123",
"accountId": "account-xyz789"
}

3. Desteklenen Konnektör Tipleri

Tüm Apinizer konnektör tipleri login log için kullanılabilir. Yaygın kullanım senaryoları:

Konnektör TipiKullanım Amacı
ElasticsearchMerkezi log arama ve dashboarding (Kibana vb.)
Kafka / RabbitMQ / ActiveMQGerçek zamanlı event streaming / SIEM entegrasyonu
WebhookHerhangi bir REST endpoint'e HTTP POST
DatabaseHarici ilişkisel veritabanı (JDBC), log_LoginLog tablosuna yazar
Syslog / GraylogGeleneksel syslog altyapısı
bilgi

Database konnektör tipi seçildiğinde login log kayıtları log_LoginLog tablosuna yazılır. Bu tablo otomatik oluşturulmaz — konnektörü etkinleştirmeden önce manuel olarak oluşturmanız gerekir. Desteklenen her veritabanı tipi (Oracle, MySQL/MariaDB, PostgreSQL, SQL Server) için CREATE TABLE komutları için bakınız: Apinizer Log Tabloları Oluşturma Komutları.


4. Birden Fazla Konnektör

Her iki kaynak (Manager ve Portal) için de birden fazla konnektör tanımlanabilir. Her konnektör bağımsız olarak Aktif/Pasif yapılabilir.

Bir konnektör pasif durumdayken log kaydı oluşsa dahi o konnektöre gönderim yapılmaz.


5. Veritabanı Kaydı

Login log kayıtları her iki katmanda da her zaman Apinizer veritabanına yazılır — Yönetim Konsolu kayıtları persistent_audit_event'e, portal kayıtları portal_login_logs'a. İkisi de kapatılamaz; yukarıda tanımlanan konnektör hedefleri, veritabanı yazımına ek olarak giden ikinci bir kopyadır, onun yerine geçmez.


6. Bilinen Kısıtlar / Roadmap

Şu anda bilinen bir kısıt yoktur.