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.
-
Accept,application/jsonlistesini içerir (açıkça, sıfır olmayanqile;*/*sayılmaz): JSON gövdesi ile200 OK. Bu biçimi bir tarayıcıdan veya kökenler arası yönlendirmeyi okuyamayan her istemciden kullanın:urldeğerini okuyun, ardından açın.Alan Tür Açıklama urlstring Aynı sunucudaki göreli bağlantı, /downloads/audit-exports/{environment_id}/{export_id}/{token}.expires_atstring (date-time) Bağlantının çalışmayı bıraktığı zaman (verildikten 15 dakika sonra). -
Diğer tüm
Acceptdeğerleri: boş gövdeyle302 Found.Locationaynı göreli bağlantıdır. -
Bağlantı 15 dakika geçerlidir ve yalnızca bir kez çalışır: belirteç, aktarım kesilse bile ilk istekte harcanır. Yeni bir bağlantı için bu işlemi yeniden çağırın.
-
Bağlantı için kimlik bilgisi gerekmez; belirteç tek kimlik bilgisidir.
Location(veyaurl) değerini gizli tutun ve günlüğe kaydetmeyin. -
Dosya, ortamın anahtarıyla depolanırken şifrelenir; bu nedenle depolama için önceden imzalanmış bir URL kullanılmaz; KeenAuth dosyayı çözer ve akıtır.
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.