跳转到内容
搜索文档

启用 Amazon S3

最后更新 查看 MarkdownAgent 设置

Cloudflare Logpush 支持通过 Cloudflare 仪表板或 API 将日志直接推送到 Amazon S3。使用 AWS GovCloud 区域的客户应使用我们的 S3 兼容端点,而不是 Amazon S3 端点

通过 Cloudflare 仪表板管理

  1. 在 Cloudflare 仪表板中,前往账户或域名(也称为 zone)级别的 Logpush(日志推送) 页面。

    账户级别:Go to Logpush ↗

    域名(也称为 zone)级别:Go to Logpush ↗

  2. 根据你的选择,可分别访问账户范围数据集zone 范围数据集

  3. 选择 Create a Logpush job(创建 Logpush 作业)

  1. Select a destination(选择目标) 中,选择 Amazon S3

  2. 输入或选择以下目标信息:

    • Bucket(存储桶) - S3 存储桶名称
    • Path(路径) - 存储容器内的存储桶位置
    • Organize logs into daily subfolders(按日整理到子文件夹)(推荐)
    • Bucket region(存储桶区域)
    • 若你的策略要求 AWS SSE-S3 AES256 Server Side Encryption
    • 对于 Grant Cloudflare access to upload files to your bucket(授予 Cloudflare 将文件上传到存储桶的权限),请确保你的存储桶已配置 策略(若尚未添加):
      • 复制 JSON 策略,然后前往 Amazon S3 控制台中的存储桶,将策略粘贴到 Permissions(权限) > Bucket Policy(存储桶策略),并选择 Save(保存)

输入完目标详细信息后,选择 Continue(继续)

  1. 为证明所有权,Cloudflare 会向你指定的目标发送一个文件。要查找令牌,请在所有权验证文件的 Overview(概览) 选项卡中选择 Open(打开) 按钮,然后将其粘贴到 Cloudflare 仪表板以验证你对存储桶的访问权限。输入 Ownership Token(所有权令牌) 并选择 Continue(继续)

  2. 选择要推送到存储服务的数据集。

  3. 在下一步中,你需要配置 Logpush 作业:

    • 输入 Job name(作业名称)
    • If logs match(如果日志匹配) 下,可选择要包含和/或从日志中排除的事件。更多信息请参阅 Filters。并非所有数据集都提供此选项。
    • Send the following fields(发送以下字段) 中,你可以选择将所有日志推送到存储目标,或有选择地推送所需日志。
  4. Advanced Options(高级选项) 中,你可以:

    • 选择日志中时间戳字段的格式(RFC3339(默认)、UnixUnixNano)。
    • 为日志选择 采样率,或推送随机采样的日志百分比。
    • CVE-2021-44228 启用脱敏。此选项会将每次出现的 ${ 替换为 x{
  5. 配置完 Logpush 作业后,选择 Submit(提交)

创建并获取对 S3 存储桶的访问权限

Cloudflare 使用 Amazon Identity and Access Management (IAM) 获取对你的 S3 存储桶的访问权限。Cloudflare IAM 用户需要对存储桶具有 PutObject 权限。

日志以 gzip 压缩对象的形式写入该存储桶,并使用 S3 Access Control List (ACL) Bucket-owner-full-control 权限。

为便于说明,假设你要将日志存储在存储桶 burritobotlogs 目录中。则 S3 URL 为 s3://burritobot/logs

在尝试读取或配置 Logpush 任务之前,请确保已启用 Log Share 权限。更多信息请参阅角色部分


要启用 Logpush 到 Amazon S3:

  1. 创建 S3 存储桶。请参阅 Amazon 说明

  2. 编辑下方策略并粘贴到 S3 > Bucket(存储桶) > Permissions(权限) > Bucket Policy(存储桶策略),将 Resource 值替换为你自己的存储桶路径。AWS Principal 由 Cloudflare 拥有,请勿更改。

{
	"Id": "<POLICY_ID>",
	"Version": "2012-10-17",
	"Statement": [
		{
			"Sid": "Stmt1506627150918",
			"Action": ["s3:PutObject"],
			"Effect": "Allow",
			"Resource": "arn:aws:s3:::burritobot/logs/*",
			"Principal": {
				"AWS": ["arn:aws:iam::391854517948:user/cloudflare-logpush"]
			}
		}
	]
}

这篇文档对您有帮助吗?