Denetim dışa aktarımı oluşturma

POST /v1/audit-exports · izin audit-exports:write

Eşleşen denetim kayıtlarını, KeenAuth'a güvenmeden doğrulayabileceğiniz imzalı bir pakete yazan bir iş kuyruğa alır. İş, 202 Accepted yanıtıyla döner; ardından Denetim dışa aktarımını alma ile takip edin ve Denetim dışa aktarımını indirme ile dosyayı alın.

Dışa aktarım yalnızca API anahtarlarıyla (gizli veya kısıtlı) oluşturulabilir; iş, anahtarı requested_by olarak kaydeder. Ortam, anahtardan alınır.

İstek

Idempotency-Key zorunludur (16 ila 64 karakter, A-Z a-z 0-9 _ -). Aynı anahtar ve aynı gövde, ilk işi Idempotent-Replayed: true ile döndürür; aynı anahtar farklı bir gövdeyle gönderilirse 422 idempotency_key_reuse hatası döner. SDK'lar ve CLI bu üstbilgiyi sizin yerinize ayarlar.

Filtreler, Denetim olaylarını listeleme bölümündekiyle aynıdır; atlanan bir alan filtre uygulamaz. Farklılıklar:

Alan Tür Açıklama
stream string admin (varsayılan) veya application.
from RFC 3339 Dahil alt sınır. Varsayılan olarak saklama süresi penceresinin başlangıcıdır. 92 günlük bir sınır yoktur; bir paket en fazla 50 milyon satır içerebilir (yer tutucular dahil).
to RFC 3339 Hariç üst sınır. Varsayılan olarak şimdi'dir; gelecekte olamaz.
action, category, actor_type, actor_id, target_type, target_id, org_id, outcome, request_id, correlation_id, agent_only Listedeki filtrelerle aynıdır. Listedeki client filtresi burada kullanılamaz; client alanı 400 unknown_field hatası verir.
include_ip boolean 13 aydan yeni kayıtlara tam IP adresini ve kullanıcı aracısını ekler. Ayrıca audit-events:read_ip iznini gerektirir. Varsayılan false.
{
  "stream": "admin",
  "from": "2026-07-01T00:00:00Z",
  "to": "2026-10-01T00:00:00Z",
  "action": "user."
}

Ortam başına aynı anda en fazla 3 iş çalışır (geliştirme ve staging ortamlarında 1).

Yanıt

202 Accepted ve status değeri queued olan iş. filter, uygulanan filtreyi; from ve to varsayılanları doldurulmuş hâliyle gösterir. recorded_before, anlık görüntünün üst sınırıdır: yalnızca bundan önce saklanmış kayıtlar pakete girer.

{
  "id": "aex_01j9xk3m7q8r2s4t6v8w0y2z4e",
  "status": "queued",
  "filter": {
    "stream": "admin",
    "from": "2026-07-01T00:00:00Z",
    "to": "2026-10-01T00:00:00Z",
    "action": "user.",
    "category": null,
    "actor_type": null,
    "actor_id": null,
    "target_type": null,
    "target_id": null,
    "org_id": null,
    "outcome": null,
    "request_id": null,
    "correlation_id": null,
    "agent_only": false
  },
  "include_ip": false,
  "record_count": null,
  "file": null,
  "manifest_sha256": null,
  "failure_reason": null,
  "created_at": "2026-10-19T09:00:00Z",
  "started_at": null,
  "completed_at": null,
  "expires_at": null,
  "recorded_before": "2026-10-19T09:00:00Z",
  "requested_by": {"type": "api_key", "id": "key_01j9xk3m7q8r2s4t6v8w0y2z4d"}
}

Hatalar

Her hata, sabit bir code içeren bir application/problem+json gövdesidir.

HTTP code Ne zaman
400 malformed_request Idempotency-Key eksik veya hatalıysa ya da gövde geçerli JSON değilse.
400 unknown_field Gövdede yukarıda listelenmeyen bir alan varsa.
400 invalid_filter Denetim servisi filtreyi reddetmişse, örneğin to gelecekteyse.
400 range_outside_retention from veya to, planınızın denetim saklama penceresinin dışındaysa.
422 validation_failed Bir alan geçersizse (yanlış tür, hatalı zaman damgası, to değerinin from değerinden sonra olmaması, bilinmeyen enum değeri, hatalı kimlik, boş dize).
422 idempotency_key_reuse Idempotency-Key, farklı bir gövdeyle kullanılmışsa.
401 unauthenticated API anahtarı eksik, geçersiz veya iptal edilmişse.
403 insufficient_permissions Anahtarda audit-exports:write izni yoksa, include_ip kullanılmış ancak audit-events:read_ip izni yoksa (required_permissions ikisini de listeler) veya çağıran bir API anahtarı değilse.
429 rate_limited Bu ortamda çok fazla iş çalışıyorsa ya da hız sınırı aşılmışsa; Retry-After değerine uyun.
503 service_unavailable Bir bağımlılık geçici olarak kullanılamıyorsa; daha sonra yeniden deneyin.

Örnek

curl https://api.eu.keenauth.com/v1/audit-exports \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"from": "2026-07-01T00:00:00Z", "to": "2026-10-01T00:00:00Z", "action": "user."}'
keenauth audit-exports create --from 2026-07-01T00:00:00Z --to 2026-10-01T00:00:00Z --action user.

Kişisel veriler

Bu uç nokta kişisel veri içerir: denetim olayları. KeenAuth API'lerinde kişisel veriler bölümünde neyin saklandığı, ne kadar süreyle tutulduğu ve nasıl silindiği açıklanır. Hiçbir alanda özel nitelikli kişisel verileri (sağlık, biyometrik veriler, din, siyasi görüşler, cinsel yönelim) göndermeyin.