活動合約
查詢期望的欄位
| 欄位 | 型別 | 為什麼存在 |
|---|---|---|
| timestamp_utc | Timestamp | 生命週期事件時間。 |
| key_id | Utf8 | 非秘密金鑰記錄識別符號。 |
| owner_type | Utf8 | 服務、使用者或自動化所有者類。 |
| scope_class | Utf8 | 有界範圍類別。 |
| event_name | Utf8 | key_created、key_used、key_rotated 或 key_revoked。 |
| outcome | Utf8 | 成功、拒絕或失敗。 |
DataFusion SQL
複製查詢
sql
SELECT
key_id,
owner_type,
scope_class,
MIN(CASE WHEN event_name = 'key_created' THEN timestamp_utc END) AS created_at,
MAX(CASE WHEN event_name = 'key_used' THEN timestamp_utc END) AS last_used_at,
MAX(CASE WHEN event_name = 'key_rotated' THEN timestamp_utc END) AS rotated_at,
MAX(CASE WHEN event_name = 'key_revoked' THEN timestamp_utc END) AS revoked_at,
SUM(CASE WHEN outcome <> 'success' THEN 1 ELSE 0 END) AS failed_events
FROM api_key_audit_events
WHERE timestamp_utc >= now() - INTERVAL '90 days'
GROUP BY key_id, owner_type, scope_class
ORDER BY created_at;此只讀查詢是針對空型別資料表計劃和執行的 阿帕奇 DataFusion 45.2.0。確定性樣本輸出是綜合的並單獨審查;根據您自己的資料驗證欄位型別、閾值和業務定義。 閱讀測試方法。
查詢結果
API 金鑰生命週期審查
該資料表保留生命週期時間戳和非秘密識別符號以供審查。
| key_id | owner_type | scope_class | created_at | last_used_at | rotated_at | revoked_at | failed_events |
|---|---|---|---|---|---|---|---|
| key-record-17 | automation | read-write | 2026-05-02 | 2026-07-28 | — | — | 0 |
| key-record-42 | service | write | 2026-07-01 | 2026-07-26 | 2026-07-27 | 2026-07-27 | 1 |
綜合範例輸出。在將其用於操作決策之前,針對您自己的事件架構和閾值執行查詢。
SQL 是如何工作的
- 1條件時間戳將關鍵生命週期摺疊到一個審查行中。
- 2非秘密金鑰記錄 ID 支援關聯而不暴露金鑰材料。
- 3失敗的生命週期事件在最終狀態旁邊仍然可見。
需要決定的邊緣情況
- 切勿記錄金鑰、權杖字首、授權標頭或可逆雜湊。
- 輪換可能涉及新舊金鑰的重疊。
- 憑證後設資料的保留和存取需要安全批准。
推薦儀表板
- 資料表:按所有者類別劃分的金鑰生命週期
- 統計:最近沒有使用過的活動金鑰
- 趨勢:失敗的輪換和撤銷事件
讓查詢範例發揮作用
相關埋點和指南
繼續分析
在真實事件中執行它
建立資料表,調整欄位並儲存結果
免費開始,傳送結構化事件,並將查詢結果用作圖表、共享儀表板小工具或警示輸入。