# General Translation Platform: 管理审计日志
URL: https://generaltranslation.com/zh/docs/platform/dashboard/guides/managing-audit-logs.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 如何从仪表板下载审计事件，并持续将其传送至 Amazon S3。

审计日志记录组织或企业内与安全相关的敏感活动。每个事件均会标明操作人、来源、资源、层级以及所记录的变更。

## 开始之前 [#before-start]

* Audit Logs 需要 Enterprise 方案。
* 您需要拥有该实体的管理权限。默认的 **Admin** 角色具备此权限。
* 如需使用 S3 投递，您需要有权创建可向您的存储桶写入数据的 AWS Identity and Access Management (IAM) 角色。

对于单个 Organization，请使用 **Organization &gt; Settings &gt; Audit Logs**。对于 Enterprise 范围内的事件 (包括其 Organizations 中的事件) ，请使用 **Enterprise &gt; Settings &gt; Audit Logs**。

## 下载审计事件 [#download]

1. 在 Organization 或 enterprise 层级中打开 **Audit Logs**。
2. 选择日期范围。时间范围最长可达一年。
3. 选择 **下载**。

仪表板会下载一个未压缩的 JSON Lines (`.jsonl`) 文件，事件格式与 S3 导出相同。单次下载最多包含所选范围内最早的 10,000 个事件。如果内容被截断，请缩小时间范围，或使用 S3 投递获取完整的可用历史记录。

## 配置 S3 投递 [#configure-s3]

### 1. 复制信任信息

打开 **Audit Logs**，然后复制 **External ID** 和 **Trusted principal**。在保存目标之前，仪表板会为您的 Organization 或 enterprise 创建一个固定的 External ID。

### 2. 创建 IAM 角色

在您的 AWS 账户中创建 IAM 角色。其信任策略必须仅在所显示的 External ID 匹配时，允许所显示的 Trusted principal 调用 `sts:AssumeRole`：

```json title="Trust policy"
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "<trusted-principal-arn>"
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "sts:ExternalId": "<external-id>"
        }
      }
    }
  ]
}
```

为目标存储桶和前缀授予该角色 `s3:PutObject` 权限。如果您提供客户管理的 AWS Key Management Service (KMS) 密钥或别名，它必须位于与存储桶相同的区域。配置角色策略和密钥策略，以允许对该密钥执行 `kms:GenerateDataKey` 操作。

<Callout type="warn">
  请使用仪表板中显示的 Trusted principal 和 External ID。请勿复用
  其他 Organization、enterprise 或环境中的值。
</Callout>

### 3. 保存目标

填写：

* **存储桶** — S3 存储桶名称
* **存储桶区域** — 存储桶所在的 AWS 区域
* **前缀 (可选)&#x20;**&#x20;— 已交付文件的对象键前缀
* **IAM 角色 ARN** — General Translation 要承担的角色
* **KMS 键 ARN (可选)&#x20;**&#x20;— 用于服务器端加密的客户托管密钥

选择 **保存目标**。保存时还会使用与审计事件相同的角色、存储桶、前缀和 KMS 路径写入一个验证对象。除非目标已禁用，否则测试成功后会启用交付。除非交付已禁用，否则测试失败会将状态设为 **ERROR**；测试会保留 **DISABLED** 状态。

## 测试和管理投递 [#manage-delivery]

* **测试连接**会向存储桶写入新的验证对象，并更新目标的状态。
* **禁用**会暂停新的投递，但不会删除目标。**启用**会将其设为 **ACTIVE**，但不会测试连接，因此修正错误后请先测试连接。
* **删除**会停止后续投递，并从仪表板中移除该目标及其 **最近投递**历史记录。配置其他目标会生成新的 External ID，因此请在再次保存前更新 IAM 信任策略。现有 S3 对象不受影响。
* **最近投递**显示最近十次尝试，包括状态、事件数量、S3 对象键、创建时间，以及失败尝试的错误信息。

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

S3 投递采用至少一次语义。发生不确定的失败后重试可能会创建重叠的对象，因此请按其 `id` 对事件去重。 (有关状态、对象键和事件字段，请参阅 [Audit Logs 参考](/docs/platform/dashboard/reference/audit-logs)) 。

## Next steps

- /docs/platform/dashboard/guides/managing-billing
- /docs/platform/dashboard/guides/using-ask-ai
- /docs/platform/dashboard/guides/reviewing-translations
- /docs/platform/dashboard/guides/defining-context-for-translations

## Sitemap

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