---
type: explanation
title: 审计日志如何运作
summary: 那份 Apex 的可追溯记录，关于谁在何时改了什么，保留在三个独立的层级上，附条目如何读、如何筛选和导出、以及它们留存多久。
---

审计日志是一个 **Apex 套餐** 功能，给那些需要可追溯性的组织：一份持久、只读的记录，关于谁在何时改了什么，你能在事后很久还交代得清楚、并交给一名审计员。它们追踪配置和访问的变更，而非访客流量，后者是 [统计](/docs/site-keys/statistics) 的用处。

## 三个层级

Caputchin 把审计日志保留在三个独立的层级上，每个限定在它自己的租户上。你读和你正在追溯的那个变更相匹配的层级，而每个在仪表盘里都有它自己的页面、在这里也有它自己的参考。

```mermaid
graph TD
  A["账户日志<br/>登录、令牌、账单、套餐"]
  T["团队日志<br/>成员、团队设置、站点密钥删除"]
  S["站点密钥日志<br/>一个密钥的生命周期和配置"]
  A -->|包含| T
  T -->|包含| S
  S -.->|删除记录在| T
  T -.->|删除记录在| A
```

| 层级 | 它住在哪里 | 参考 |
|---|---|---|
| **账户** | 账户设置 | [账户日志](/docs/audit-logs/account-log) |
| **团队** | 一个团队自己的页面 | [团队日志](/docs/audit-logs/troop-log) |
| **站点密钥** | 一个站点密钥自己的页面 | [站点密钥日志](/docs/audit-logs/site-key-log) |

一次删除记录在被删之物的上一层：删除一个站点密钥落在 **团队** 日志上，而删除一个团队落在 **账户** 日志上。这是有意的，因为删除某物会把它自己的日志一并带走（没有软删除），所以那次删除的记录必须住在幸存的父级上。其他一切，包括每个东西的创建，都住在它自己的层级上。

## 每个条目显示什么

每个条目是单一一个动作，并捕获足够多以回答“谁在何时做了什么，以及它成了没有”：

- **谁**：动作背后的那个人或令牌，以及他们是通过一个仪表盘会话还是一个 [个人访问令牌](/docs/account-management/account-settings#account-access-token) 行动的。Caputchin 支持在 [支持访问](/docs/account-management/account-settings#support-access) 下采取的动作以他们自己的身份出现。
- **什么**：那个动作、它碰的那个东西，以及那次变更的一个摘要，对配置编辑包括一个改前改后。
- **结果**：它是 **成功了还是被拒绝**，被拒绝时带原因。一次被挡的尝试也在记录上，那往往是一次调查里更有意思的那一半。
- **何时**：一个时间戳，加一个你能引给支持、或和你自己日志对齐的请求 id。

## 找到你需要的

一份繁忙的日志会变长，所以这个面板在每个层级都以同样的方式筛选它：

- **按动作**，只看一种变更。
- **按谁**：按名字搜索一个人或令牌，或者收窄到仪表盘会话对个人访问令牌。
- **按目标**，跟踪对一个具体东西的变更。
- **按日期**，把一次调查界定到一个窗口。
- **被拒绝的尝试**：日志默认显示成功的动作；拨动那个开关以纳入那些被挡的。

## 导出

你可以把当前视图下载为 **CSV** 或 **JSON**。文件以那个范围和它被取的时间命名。CSV 直接在一个电子表格里打开，是把证据交给一名审计员的通常方式；JSON 更适合把这些记录喂进你自己的工具或 SIEM。

## 留存

条目保留 **两年**，然后自动移除。把你需要保留超过那个的任何东西导出。如果一个账户离开 Apex，它的日志随 Apex 功能的其余部分一起停止可用，所以如果你需要它们就先导出。

## 另见

- [账户日志](/docs/audit-logs/account-log)：全账户的登录、令牌、账单和套餐。
- [团队日志](/docs/audit-logs/troop-log)：成员、团队设置和站点密钥删除。
- [站点密钥日志](/docs/audit-logs/site-key-log)：一个密钥的生命周期和配置。
