# General Translation Platform: 审计日志
URL: https://generaltranslation.com/zh/docs/platform/dashboard/reference/audit-logs.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 浏览安全敏感活动，并将事件记录投递至 Amazon S3。提供仪表板审计日志和导出设置的参考信息。

审计日志是一项 Enterprise 功能，可在 组织 和 Enterprise 层级使用。它需要该实体的管理权限，默认 **Admin** 角色拥有此权限。

## 概览 [#overview]

| 区域                         | 说明                     |
| -------------------------- | ---------------------- |
| [访问](#access)              | 方案、权限和事件层级相关行为。        |
| [事件](#events)              | 默认表格和事件详情。             |
| [下载](#downloads)           | 日期范围限制和 JSON Lines 输出。 |
| [S3 目标](#destination)      | 持续投递的设置和验证。            |
| [目标状态](#statuses)          | 目标是否已配置、已启用、已暂停或出现错误。  |
| [投递行为](#delivery-behavior) | 对象键、回填、重试和投递历史。        |
| [事件记录](#event-records)     | 写入每条 JSON Lines 记录的字段。 |

## 访问和下载 [#access-downloads]

### 访问

审计日志 需要 Enterprise 方案以及以下任一权限：

* **组织 层级：**`org:manage`。
* **Enterprise 层级：**`enterprise:manage`。

默认的 **Admin** 角色拥有此管理权限。没有该权限的用户会看到访问被拒绝页面。

组织 导出包含该 组织 范围内的事件。Enterprise 导出包含该 Enterprise 范围内的事件，其中包括其管理的 组织 中的事件。

**组织 路径** **组织 &gt; Settings &gt; 审计日志**
**Enterprise 路径** **Enterprise &gt; Settings &gt; 审计日志**

### 事件

默认选中 **Events** 标签页。点击 **Export** 可打开 S3 投递设置。

表格按时间倒序列出事件：

| 列            | 描述                                 |
| ------------ | ---------------------------------- |
| **When**     | 事件发生时间。                            |
| **操作主体**    | 人员、API 密钥、Locadex、系统或其他操作主体。        |
| **Event**    | `event_type`。失败的事件会标记为 **Failed**。 |
| **Resource** | 记录的名称；若未存储名称，则显示资源 id。             |
| **项目**  | 项目名称。此列仅在组织日志中显示。                  |

选择某个事件即可查看其详情：操作主体、操作主体 id、资源、项目 (若该事件关联了项目) 、IP 地址、用户代理、请求 ID、事件 ID、变更内容和元数据。

每页默认显示 25 个事件，也可改为每页显示 50 或 100 个。

### 下载

在 **Events** 标签页中选择 **Download**。下载的文件与表格中显示的事件一致。

仪表板会下载一个未压缩的 JSON Lines (`.jsonl`) 文件：

* 所选日期按 UTC 计算且包含首尾两天，范围最长可达 366 天。
* 每次下载最多包含最早的 10,000 条匹配事件。
* 如果匹配的事件超出此数量，仪表板会将结果标记为已截断。请缩小事件范围，或使用 S3 投递获取完整的可用历史记录。
* 如果没有匹配的事件，仪表板会提示结果为空，不会下载文件。

每条记录均采用[事件记录](#event-records)中的 S3 字段列表，包括资源类型和 id。在组织日志中，Events 表格还会显示所属项目；若记录了资源名称，也会一并显示。

下载日志时，系统会在确定文件内容后创建一条审计事件。该事件会出现在后续的下载和 S3 投递中，但不会出现在本次下载的文件里。

## S3 传送 [#s3-delivery]

### 目标

每个 Organization 或 Enterprise 都可以配置一个 S3 目标。General Translation 会使用提供的 IAM 角色及其 External ID；该 ID 在目标的整个生命周期内保持不变。系统会将对象直接写入配置的存储桶，不会存储 AWS 访问密钥。

| 字段                    | 说明                                                             | 类型       | 可选 | 默认值     |
| --------------------- | -------------------------------------------------------------- | -------- | -- | ------- |
| **存储桶**               | 使用小写字母、数字、点和连字符的 S3 存储桶名称。必须包含 3–63 个字符，以字母或数字开头和结尾，且不得包含连续的点。 | `string` | 否  | —       |
| **存储桶区域**             | 包含该存储桶的 AWS 区域，例如 `us-east-1`。                                 | `string` | 否  | —       |
| **前缀**                | 对象键前缀。会移除空路径段及首尾斜杠；最大长度为 512 个字符。                              | `string` | 是  | 空       |
| **IAM 角色 ARN**        | 允许对该存储桶和前缀执行 `s3:PutObject` 的 AWS IAM 角色。                      | `string` | 否  | —       |
| **KMS 密钥 ARN**        | 用于 S3 服务器端加密的客户托管 KMS 密钥或别名。必须位于存储桶所在的区域。                      | `string` | 是  | 存储桶默认加密 |
| **External ID**       | 角色信任策略必须要求的只读值。在目标的整个生命周期内保持不变。                                | `string` | 否  | 自动生成    |
| **Trusted principal** | 信任策略允许调用 `sts:AssumeRole` 的只读角色 ARN。                           | `string` | 否  | 因环境而异   |

保存目标会持久保存这些字段，并立即测试投递。测试会承担该角色，并通过配置的存储桶、前缀和 KMS 路径写入一个 JSON 验证对象。测试失败时，已保存的配置仍可供修正。

验证对象使用以下键格式：

```text
<prefix>/<owner-partition>/verification/gt_audit_export_verification_<timestamp>_<id>.json
```

所有者分区为 `org_id=<id>` 或 `enterprise_id=<id>`。

 (有关信任策略工作流，请参阅[管理审计日志](/docs/platform/dashboard/guides/managing-audit-logs)) 。

### 状态

| 状态         | 含义                                                         |
| ---------- | ---------------------------------------------------------- |
| `PENDING`  | 预先配置的目标，仅包含 External ID，以便您在首次保存前完成 IAM 信任策略。此状态下不会传送任何内容。 |
| `ACTIVE`   | 目标已启用。除非手动禁用了传送，否则成功保存或连接测试会将状态设为此值。                       |
| `DISABLED` | 传送已暂停。连接测试会保留此状态。                                          |
| `ERROR`    | 最近一次保存或连接测试未能写入验证对象。只要保持此状态，就不会传送任何事件。                     |

**启用**会将 `DISABLED` 或 `ERROR` 更改为 `ACTIVE`，但不会测试连接。**删除**会停止后续传送，从仪表板中移除该目标及其**最近传送记录**历史；如果配置了其他目标，还会生成新的 External ID。现有 S3 对象不受影响。

### 传送行为

已启用的目标会接收具有以下键结构的 gzip 压缩 JSON Lines 对象：

```text
<prefix>/<owner-partition>/year=YYYY/month=MM/day=DD/hour=HH/audit_<timestamp>_<id>.jsonl.gz
```

活跃目标每三分钟检查一次。每次扫描都会排除最近 60 秒内的事件，并且每个对象最多写入 1,000 个事件。UTC 日期分区和文件名时间戳反映的是交付时间，而非事件的 `occurred_at` 值。每个对象的内容类型为 `application/jsonl`，内容编码为 `gzip`。

交付采用至少一次语义。每次尝试都会使用新的对象键。如果上传成功但无法确认检查点已更新，后续重试可能会生成另一个包含重叠事件的对象。消费者应按事件 `id` 去重。

首次启用时，会从当前层级中最早可用的事件开始。编辑目标字段会保留导出检查点，因此先前已交付的事件不会复制到新的存储桶或前缀。删除并重新创建目标会重置检查点，并可能再次交付全部可用历史记录。

**最近传送记录**显示最新的十次尝试：

| 字段       | 描述                      |
| -------- | ----------------------- |
| **状态**   | `DELIVERED` 或 `FAILED`。 |
| **事件**   | 尝试写入对象的事件数量。            |
| **对象**   | S3 对象键。失败的尝试还会显示交付错误。   |
| **创建时间** | 记录该次尝试的时间。              |

## 事件记录 [#event-records]

每行包含一个 JSON 对象。未记录值时，将省略可选对象和字段。

| 字段            | 描述                                                   | 类型       |
| ------------- | ---------------------------------------------------- | -------- |
| `id`          | 稳定的事件标识符。用于对 S3 投递进行去重。                              | `string` |
| `occurred_at` | 采用 ISO 8601 时间戳格式的事件发生时间。                            | `string` |
| `event_type`  | 以点分隔的活动标识符，例如 `project.created` 或 `api_key.deleted`。 | `string` |
| `result`      | 事件结果：`SUCCESS`、`FAILURE` 或 `DENIED`。                 | `string` |
| `actor`       | 操作主体的 `type`，以及可用时的 `id`、`email` 和 `display`。        | `object` |
| `source`      | 可用时的请求 `ip`、`user_agent` 和 `request_id`。             | `object` |
| `resource`    | 可用时受影响资源的 `type` 和 `id`。                             | `object` |
| `scope`       | 可用时关联的 `org_id` 和 `enterprise_id`。                   | `object` |
| `metadata`    | 事件特定的上下文。                                            | JSON     |
| `changes`     | 事件特定的变更值。                                            | JSON     |

操作主体类型包括 `USER`、`API_KEY`、`SYSTEM`、`GT_ADMIN` 和 `LOCADEX`。

### 事件类型

| 类别         | `event_type` 值                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 身份验证       | `auth.login.success`, `auth.oauth_consent.approved`, `auth.oauth_consent.denied`, `auth.access.denied`, `auth.access.bypass`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| 管理员访问      | `admin.super_user.started`, `admin.super_user.stopped`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| 用户         | `user.created`, `user.updated`, `user.deleted`, `user.joined`, `user.left`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| 项目         | `project.created`, `project.updated`, `project.deleted`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| 译文         | `translation.edited`, `translation.approved`, `translation.approval_revoked`, `translation.review_assigned`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| 组织         | `organization.created`, `organization.updated`, `organization.deleted`, `organization.converted_to_managed`, `organization.managed_conversion_completed`, `organization.member.invited`, `organization.member.invite_removed`, `organization.member.removed`, `organization.member.role_updated`, `organization.billing.details_updated`, `organization.billing.subscription_updated`, `organization.billing.subscription_deleted`, `organization.billing.auto_reload_updated`, `organization.billing.credits_purchased`, `organization.billing.credits_granted`, `organization.billing.recovery_payment_retried` |
| Enterprise | `enterprise.created`, `enterprise.updated`, `enterprise.deleted`, `enterprise.member.invited`, `enterprise.member.invite_removed`, `enterprise.member.removed`, `enterprise.member.role_updated`, `enterprise.billing.details_updated`, `enterprise.billing.auto_reload_updated`, `enterprise.billing.credits_purchased`, `enterprise.billing.recovery_payment_retried`                                                                                                                                                                                                                                           |
| API 密钥     | `api_key.created`, `api_key.updated`, `api_key.deleted`, `org_api_key.created`, `org_api_key.updated`, `org_api_key.deleted`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| 访问策略       | `access_policy.updated`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Webhook    | `dashboard.webhook.signing_secret.revealed`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| 审计日志       | `audit_log.destination.created`, `audit_log.destination.updated`, `audit_log.destination.deleted`, `audit_log.destination.tested`, `audit_log.downloaded`                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| SSO 和 SCIM | `sso.provider.created`, `sso.provider.updated`, `sso.provider.deleted`, `sso.enforcement.updated`, `sso.sp_signing_key.rotated`, `scim.token.created`, `scim.connection.deleted`                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 集成         | `integration.created`, `integration.deleted`, `integration.translation.enqueued`, `account.integration.authorized`, `account.integration.revoked`                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Locadex    | `locadex.settings.updated`, `locadex.workflow_settings.updated`, `locadex.secrets.updated`, `locadex.secrets.revealed`, `locadex.repository.disconnected`                                                                                                                                                                                                                                                                                                                                                                                                                                                         |

译文事件会记录相关文件；若已存储文件名，Events 表中会显示该文件名。为进行中的审校指定或清除负责人时，会记录 `translation.review_assigned` 事件。`changes.assigned_user_id` 为审校人的用户 ID；若该审校未指定负责人，则为 null。

译文编辑和审批事件的 `metadata` 中包含 `branch_id`、`file_id`、`version_id` 和 `locale`。批准单个组件或撤销其批准时，还会在 `changes` 中记录 `component_keys`。开启或关闭 **Auto approve translations** 时，会记录 `project.updated` 事件，其 `changes` 中包含 `auto_approve`。

OAuth 授权同意事件的 `metadata` 中包含 `surface`、`authorization_type`、`decision` 和 `client_id`，用于记录用户对 OAuth 应用所请求权限范围是批准还是拒绝。

```json title="Audit event"
{
  "id": "event_id",
  "occurred_at": "2026-08-13T15:19:02.000Z",
  "event_type": "project.created",
  "result": "SUCCESS",
  "actor": {
    "type": "USER",
    "id": "user_id",
    "email": "admin@example.com",
    "display": "admin@example.com"
  },
  "source": {
    "ip": "203.0.113.10",
    "user_agent": "Mozilla/5.0",
    "request_id": "request_id"
  },
  "resource": {
    "type": "PROJECT",
    "id": "project_id"
  },
  "scope": {
    "org_id": "org_id",
    "enterprise_id": "enterprise_id"
  }
}
```

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
