Denetim günlüğünü okumak: kim neyi yaptı ve kimsenin değiştirmediğinden emin olmak
Yapay zekâ tarafından English dilinden çevrildi ·
Denetim günlüğü /admin/audit-logs adresinde bulunur ve Admin rolü veya üstü gerektirir. Burada, bir test kuruluşunda, oturum açtıktan bir dakika sonra, filtre uygulanmadan ve en yeniden eskiye sıralı olarak görünüyor.
Her satırda zaman, eylem, önem derecesi, aktör ve kaynak, ayrıca bir isteğin geldiği IP adresi yer alır. Benim oturum açmam, auth.login ve user_session.login olmak üzere iki satırdır; aktör USER. Geri kalanlar SYSTEM tarafından yazılmış, kaynağı bir PlanFeature olan feature.access.checked satırlarıdır. Denetim Günlüğü Ayrıntısı için herhangi bir satıra tıklayın: aktör türü ve kimliği, meta veriler ve hash zinciri alanları.Yoğun bir kuruluşta filtrelemek isteyeceksiniz. Arama kutusu bir eylem adının bir parçasını kabul eder: iot_device.credential tüm kimlik bilgisi değişikliklerini, auth.login ise oturum açmaları ve hatalı girişleri bulur. Filtreler; aktör (e-posta ile), önem derecesi ve tarih aralığı ekler. Günlük bakış için Yüksek ve Kritik olanlara filtre uygularım.Tek bir cihaz için API bir kaynak türü ve kimlik alır:
GET /tenant/{tenantId}/api/audit-logs?resourceType=iot_device&resourceId=<deviceId>&fromDate=2026-10-01&toDate=2026-10-20&page=1&pageSize=100
Sayfa kendisini kurcalamaya karşı korumalı olarak tanımlar. Her satırın hash’i kendi içeriğini ve önceki satırın hash’ini kapsar; bu yüzden tutulan bir satırı düzenlemek veya silmek zinciri bozar. İstediğiniz zaman kontrol edebilirsiniz:
GET /tenant/{tenantId}/api/audit-logs/verify
Yanıt { "ok": true, "checked": <rows> } şeklindedir veya "ok": false ve uymayan ilk satırı gösteren brokenAt ile döner.Saklama süresi dişli simgesinin arkasında (Denetim Günlüğü Ayarları) yer alır. Varsayılan 0’dır ve satırları süresiz tutar. CSV Dışa Aktar, filtrenizin tarih aralığını indirir. Parolalar, belirteçler, anahtarlar ve diğer gizli bilgiler hiçbir zaman bir satıra yazılmaz.Belgeler: Denetim günlüğü, Neler denetlenir.
The audit log lives at /admin/audit-logs and needs the Admin role or higher. Here it is unfiltered on a test organisation, a minute after I signed in, newest first.
Each row has the time, the action, its severity, the actor and the resource, and the IP where a request came in. My sign-in is the two rows auth.login and user_session.login, with USER as the actor. The rest are feature.access.checked rows, written by SYSTEM, with a PlanFeature as the resource. Select any row for Audit Log Detail: actor type and ID, metadata, and the hash chain fields.
On a busy organisation you’ll want to filter. The search box takes part of an action name: iot_device.credential finds every credential change, auth.login finds sign-ins and failures. Filters adds actor (by e-mail), severity and a date range. For a daily look I filter on High and Critical.
For one device, the API takes a resource type and id:
GET /tenant/{tenantId}/api/audit-logs?resourceType=iot_device&resourceId=<deviceId>&fromDate=2026-10-01&toDate=2026-10-20&page=1&pageSize=100
The page calls itself tamper-evident. Each row’s hash covers its content and the previous row’s hash, so editing or deleting a kept row breaks the chain. You can check it whenever you like:
GET /tenant/{tenantId}/api/audit-logs/verify
It answers { "ok": true, "checked": <rows> }, or "ok": false with brokenAt naming the first row that doesn’t fit.
Retention sits behind the gear icon (Audit Log Settings). The default is 0, which keeps rows forever. Export CSV downloads the date range of your filter. Passwords, tokens, keys and other secrets are never written to a row.
Docs: Audit log, What is audited.
Yapay zekâ tarafından English dilinden çevrildi ·
Bu feature.access.checked satırları organizasyonumuzdaki her şeyi gömer. Bunları listeden gizleyebilir miyim?
Those feature.access.checked rows would bury everything on our org. Can I hide them from the list?
Yapay zekâ tarafından English dilinden çevrildi ·
Aradığınız işlemi kaydırarak aramak yerine arayın ya da önem derecesine göre filtreleyin: ekran görüntüsündekilerin hepsi Low, dolayısıyla High veya Critical filtresi bunları dışarıda bırakır.
Search for the action you’re after instead of scrolling, or filter by severity: the ones in the shot are all Low, so a High or Critical filter leaves them out.
Yapay zekâ tarafından English dilinden çevrildi ·
Yüksek önem derecesindeki olayları API’yi sorgulamak yerine SIEM sistemimize itmeyi tercih ederiz. Bunun için bir hook var mı?
We’d rather push high severity events into our SIEM than poll the API. Any hook for that?
Yapay zekâ tarafından English dilinden çevrildi ·
Evet, yüksek ve kritik satırlar audit.high_risk webhook’unu tetikler, böylece bunları oluştukları anda iletebilirsiniz. Toplu çekimler için dışa aktarma uç noktası CSV veya NDJSON biçiminde çalışır ve tek bir aktörle sınırlandırılabilir:
GET /tenant/{tenantId}/api/audit-logs/export?format=ndjson&fromDate=2026-10-01&toDate=2026-10-21
Yes, high and critical rows fire the audit.high_risk webhook, so you can forward them as they happen. For bulk pulls the export endpoint does CSV or NDJSON and can be limited to one actor:
GET /tenant/{tenantId}/api/audit-logs/export?format=ndjson&fromDate=2026-10-01&toDate=2026-10-21
Yapay zekâ tarafından English dilinden çevrildi ·
2.2.0 sürümünden itibaren cihaz sayfasında bir Log sekmesi var. Yukarıdaki resourceType sorgusuyla aynı veriler mi?
Since 2.2.0 the device page has a Log tab. Same data as the resourceType query above?
Yapay zekâ tarafından English dilinden çevrildi ·
Sadece bu değil. Log sekmesi, cihazın denetlenen değişikliklerini, her birini bir kişi ya da sistem tarafından yapılmış olarak, bağlantı geçmişi (bağlantılar, bağlantı kesmeler, reddedilen girişler) ile birlikte tek bir zaman çizelgesinde gösterir; Show, All, Connections ve Changes arasında geçiş yapar. Tek bir cihaz için bu, API çağrısından daha hızlıdır. Yazıyı, yayınlanmadan iki gün önce yazdım.
Not only. The Log tab shows the device’s audited changes, each by a person or by the system, together with its connection history (connects, disconnects, refused logins) in one timeline; Show switches between All, Connections and Changes. For a single device it’s quicker than the API call. I wrote the post two days before it shipped.
- Bu konuyu yanıtlamak için giriş yapmış olmalısınız.
Sohbete katılın
Soru sormak ve yanıtlamak, yararlı gönderileri beğenmek ve sorununuzu çözen yanıtı işaretlemek için oturum açın. Her katkı puan ve seviye kazandırır.

