# 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 功能，可在 Organization 和 Enterprise 层级使用。它需要该实体的管理权限，默认 **Admin** 角色拥有此权限。

## 概览 [#overview]

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

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

### 访问

Audit Logs 需要 Enterprise 方案以及以下任一权限：

* **Organization 层级：**`org:manage`。
* **Enterprise 层级：**`enterprise:manage`。

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

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

### 下载

**组织路径** **Organization &gt; Settings &gt; Audit Logs**
**企业路径** **Enterprise &gt; Settings &gt; Audit Logs**

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

* 所选起止日期均包含在范围内，并按浏览器的本地时区计算。无法选择未来日期。
* 所选范围最长可达 366 天。
* 每次下载最多包含该范围内时间最早的 10,000 个事件。
* 如果匹配的事件更多，仪表板会将结果标记为已截断。请缩小范围，或使用 S3 传送获取完整的可用历史记录。
* 如果没有匹配的事件，仪表板会报告空结果，而不会下载文件。

下载日志时，会在选定文件内容后创建一条审计事件。该事件会出现在后续下载和 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`                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| Organization | `organization.created`, `organization.updated`, `organization.deleted`, `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`                                                                                                                                                                                                                                                                                                                                                                       |

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.
