tencent cloud

边缘安全加速平台 EO

推送至 AWS S3

下载
聚焦模式
字号
最后更新时间: 2026-11-03 14:41:28
EdgeOne 实时日志推送支持将日志推送至您 AWS 账号中的 S3 存储桶,通过 IAM 角色临时凭证(AWS STS)进行鉴权,无需配置长期静态访问密钥,临时凭证自动过期,降低密钥泄露与轮换带来的安全风险。您可通过控制台或 API 进行配置。
说明:
AWS S3 为 AWS 专属目的地,采用 IAM 角色(Role Assumption + STS 临时凭证)鉴权,推荐使用 AWS S3 作为日志存储的客户使用。
如需推送至其他 S3 兼容对象存储(如腾讯云 COS、Google Cloud Storage 等),请使用兼容 AWS S3 的对象存储目的地,详情请参见 推送至兼容 S3 的对象存储。

前提条件

1. 已拥有 AWS 账号,并已在目标区域创建用于存放实时日志的 S3 存储桶。
2. 已在 AWS IAM 中创建用于 EdgeOne 日志投递的 IAM 角色,并完成信任策略(Trust policy)与权限策略(Permission policy)配置,请参见下文 IAM 角色配置。

IAM 角色配置

1. 登录 AWS 管理控制台,进入 IAM > Roles,单击 Create role。
2. 在 Step 1 Select trusted entity 中,选择 Trusted entity type 为 AWS account,选择 Another AWS account,并在 Account ID 中填入 EdgeOne 服务账号 ID。EdgeOne 服务账号 ID 按您的目标投递存储桶所在分区区分,请根据您的 S3 存储桶所在分区填写对应值:
存储桶位于 AWS 全球区(端点域名后缀为 amazonaws.com):361796580773;
存储桶位于 AWS 中国区(端点域名后缀为 amazonaws.com.cn):382884104370。
注意:
AWS 全球区与中国区是相互隔离的独立分区,请务必按存储桶所在分区选择对应的 EdgeOne 服务账号 ID。若分区与账号 ID 不匹配,将导致 AssumeRole 被拒绝,从而导致控制台创建实时日志任务验证失败。
3. 勾选 Require external ID,在 External ID 中填入您的腾讯云主账号 UIN,单击 Next。
说明:
<External ID> 为防混淆代理人(Confused Deputy)攻击的安全标识,取值为您的腾讯云主账号 UIN,可在 EdgeOne 控制台 > 站点详情 > 实时日志 > 新建实时日志任务 > 目的地信息页面的 External ID 中查看并复制。
4. 在 Step 2 Add permissions 中,选择 Create inline policy(创建将直接附加到该角色的新策略),在 Policy 编辑器粘贴以下内容,并将 <存储桶名称> 替换为您的实际值:
{
"Version": "2012-10-17",
"Statement": {
"Sid": "EdgeOneRealtimeLogDelivery",
"Effect": "Allow",
"Action": ["s3:PutObject", "s3:AbortMultipartUpload"],
"Resource": "arn:aws:s3:::<存储桶名称>/*"
}
}
注意:
若存储桶位于 AWS 中国区,Resource 的 ARN 需改为 arn:aws-cn:s3:::<存储桶名称>/*。
说明:
若您已在 IAM > Policies 中创建过可复用的权限策略,也可在 Add permissions 步骤选择 Use existing policy 并勾选已有策略,无需新建策略。
5. 确认编辑器底部无 Error 提示后,单击 Next。
6. 在 Step 3 Name, review, and create 中,为角色命名,确认 Trust policy 与 Permission policy 无误,并完成标签配置后点击 Create Role 完成创建。
AWS 全球区 Trust policy 示例:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Principal": {
"AWS": "361796580773"
},
"Condition": {
"StringEquals": {
"sts:ExternalId": "<您的腾讯云主账号 UIN>"
}
}
}
]
}
AWS 中国区 Trust policy 示例:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Principal": {
"AWS": "382884104370"
},
"Condition": {
"StringEquals": {
"sts:ExternalId": "<您的腾讯云主账号 UIN>"
}
}
}
]
}
7. 完成上述配置后,进入 IAM > Roles,选择刚创建的角色,记录以下信息,用于在 EdgeOne 控制台填写目的地参数:
IAM 角色 ARN:形如 arn:aws:iam::<您的 AWS 账号 ID>:role/<角色名>(中国区 AWS 账号格式为 arn:aws-cn:iam::<您的 AWS 账号 ID>:role/<角色名>)。

操作步骤

1. 登录 边缘安全加速平台 EO 控制台,在左侧菜单栏中,进入服务总览,单击网站安全加速内需配置的站点。
2. 在站点详情页面,单击日志服务 > 实时日志。
3. 在实时日志页面,单击新建推送任务。
4. 在选择日志源页面,填写任务名称、选择日志类型、服务区域,单击下一步。
5. 在选择目的地页面,选择 AWS S3,单击下一步。
6. 在定义推送内容页面:
(必选)选择需推送日志的域名/四层代理实例/边缘函数实例;
(必选)在预设字段列表中勾选需要推送的日志字段;
(可选)添加自定义日志字段,支持自定义日志字段名称,以及使用表达式自定义日志字段值;
(可选)配置推送日志筛选条件,默认推送全量日志;
(可选)在高级配置中,配置采样比例,默认不开启采样,推送 100% 日志至目的地;
(可选)在高级配置中,配置日志输出格式,默认格式为 JSON Lines;
单击下一步。
7. 在目的地信息页面,填写以下参数:
参数名称
说明
存储桶名称(必填)
AWS S3 中用于存放 EdgeOne 实时日志的桶名,例如 my-logpush-s3-bucket。长度须为 3-63 个字符,只能包含小写字母、数字、句点(.)和连字符(-),且必须以字母或数字开头和结尾。
端点域名(必填)
S3 桶所在区域的服务端点域名,格式为 s3.<region>.<域名后缀>。
AWS 全球区后缀为 amazonaws.com,例如 s3.us-west-2.amazonaws.com,完整可选列表请参考 AWS 官方文档。
AWS 中国区后缀为 amazonaws.com.cn,例如 s3.cn-north-1.amazonaws.com.cn,完整可选列表请参考 AWS 官方文档。
IAM 角色 ARN(必填)
您在 AWS 账号中为 EdgeOne 日志投递创建的 IAM 角色 ARN,EdgeOne 将使用此角色向 AWS STS 申请临时凭证写入您的 S3 桶。
AWS 全球区格式为 arn:aws:iam::<您的 AWS 账号 ID>:role/<角色名>
AWS 中国区格式为 arn:aws-cn:iam::<您的 AWS 账号 ID>:role/<角色名>
文件压缩(可选)
选择是否对日志文件进行 Gzip 压缩,默认不压缩。
日志目录(必填)
日志对象在 S3 桶中的存储目录路径,以 / 分隔创建多级子目录。仅允许安全字符(字母、数字、! - _ . * ' ( )),总长度不超过 1024 字节。
8. 单击推送。EdgeOne 将立即发起连通性预检,向 AWS STS 申请临时凭证并向目标存储桶写入测试文件:
预检通过:任务创建成功,并开始投递实时日志。
预检失败:请根据错误提示检查 IAM 角色的信任策略、权限策略及目的地参数配置。

文件名称说明

日志将以 {{UploadTime}}_{{Random}}.log 格式写入指定目录,并以日期(UTC+0)为文件夹归档,例如 20261028/20261028T185917Z_2aadf5ce.log。开启 Gzip 压缩时,文件名增加 .gz 后缀,例如 20261028/20261028T185917Z_2aadf5ce.log.gz。
UploadTime:日志文件上传时间,采用 UTC+0 时区,格式形如 YYYYMMDDTHHmmssZ。
Random:随机字符串,当日志量较大时,同一上传时间可能产生多个日志文件,通过该随机字符串区分不同文件。

鉴权流程说明

EdgeOne 后端在日志投递周期内的鉴权与写入流程如下:
1. 临时凭证获取:EdgeOne 使用其服务账号(按存储桶所在分区为全球区 361796580773 或中国区 382884104370)身份,携带您配置的 IAM 角色 ARN 与 External ID 调用 sts:AssumeRole。AWS 校验信任策略中的 Principal 与 sts:ExternalId 条件后,返回有效期约 1 小时的临时凭证(临时 Access Key、Secret Key 与 Session Token)。EdgeOne 会缓存临时凭证,并在到期前自动刷新。
2. 日志写入:EdgeOne 使用临时凭证对 S3 请求进行 Signature Version 4 签名,将日志写入您指定的存储桶与目录。


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈