Denetim dışa aktarımını indirme

GET /v1/audit-exports/{export_id}/download · izin audit-exports:read

Tamamlanmış bir dışa aktarma işinin paketine götüren tek kullanımlık bir bağlantı verir. API anahtarları (gizli veya kısıtlı) ve kontrol paneli kullanıcıları indirebilir; kontrol panelinden indirme için yakın zamanda yapılmış bir oturum açma gerekir (adım yükseltme, en fazla 5 dakika önce). Her çağrı, bağlantı verilmeden önce admin akışına bir audit_export.downloaded kaydı yazar.

İstek

Parametre Konum Zorunlu Açıklama
export_id yol evet Dışa aktarma işinin kimliği; aex_ öneki ile birlikte.

include_ip: true ile oluşturulan bir iş, indirme anahtarında ayrıca audit-events:read_ip gerektirir.

Yanıt

Yanıt, Accept üst bilgisine bağlıdır. Her iki biçim de Cache-Control: no-store, Referrer-Policy: no-referrer ve Vary: Accept taşır ve ikisi de aynı audit_export.downloaded kaydını yazar.

Bağlantıyı izlemek, Content-Type: application/x-tar, Content-Length ve Content-Disposition: attachment; filename="audit-export-aex_….tar" ile 200 OK döndürür. Tar paketi şunları içerir:

Dosya İçerik
records.ndjson.gz Her kapsanan saatin her zincir kaydı, sıra numarasına göre, satır başına bir JSON nesnesi: eşleşen kayıtlar tamamen, diğerleri içeriksiz yer tutucular olarak ("omitted": true), böylece onları açığa çıkarmadan karma zinciri yeniden oluşturulabilir.
manifest.json Filtre, sayılar, dosya karması ve kapsanan saat başına imzalı denetim noktası ile içerme kanıtı; kanonik JSON (RFC 8785).
manifest.jws manifest.json üzerinde ES256 imzası; audit-jwks.json içindeki ortak anahtarlarla doğrulayın.

Content-Length bayt gelmeden bağlantı sona ererse paket eksiktir; onu silin ve yeni bir bağlantı isteyin. Geçersiz, kullanılmış veya süresi dolmuş bir bağlantı 404 not_found döndürür.

Hatalar

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

HTTP code Ne zaman
401 unauthenticated API anahtarı eksik, geçersiz veya iptal edilmiş.
403 insufficient_permissions Anahtarda audit-exports:read yok; iş include_ip ile oluşturulmuş ve anahtarda audit-events:read_ip yok (required_permissions ikisini de listeler); ya da çağıran ne bir API anahtarı ne de bir kontrol paneli kullanıcısı.
404 not_found İş yok, başka bir ortama ait veya kimlik biçimi hatalı. Bağlantıda: belirteç geçersiz, kullanılmış veya süresi dolmuş.
409 conflict İş henüz tamamlanmadı veya dosyasının süresi doldu.
429 rate_limited Hız sınırı aşıldı; Retry-After üst bilgisine uyun.
503 service_unavailable Bir bağımlılık geçici olarak kullanılamıyor; daha sonra yeniden deneyin.

Örnek

curl -L -o audit-export.tar \
  https://api.eu.keenauth.com/v1/audit-exports/aex_01j9xk3m7q8r2s4t6v8w0y2z4e/download \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"

Accept: application/json ile bağlantı, yönlendirme yerine JSON olarak döner:

curl https://api.eu.keenauth.com/v1/audit-exports/aex_01j9xk3m7q8r2s4t6v8w0y2z4e/download \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Accept: application/json"

SDK'lar JSON biçimini kullanır ve url ile expires_at döndürür. CLI bağlantıyı kendisi okur, paketi bir dosyaya yazar (asla standart çıktıya değil), mevcut bir dosyanın üzerine yazmayı reddeder ve yazdığının boyutunu ve SHA-256 değerini yazdırır:

keenauth audit-exports download aex_01j9xk3m7q8r2s4t6v8w0y2z4e --file audit-export.tar

Kişisel veriler

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