You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Zencoder存储桶策略与域名级隐私存储桶策略不生效问题咨询

问题根因
  1. 目标桶权限配置不匹配:错误提示写入目标桶为zencoder123,但你当前提供的策略仅针对newuploads12桶配置了Zencoder权限,zencoder123桶未授予对应写入权限是触发报错的直接原因。
  2. 规则冲突导致访问拦截:域名级限制规则仅允许携带https://www.vlogmo.com/* Referer头的请求调用s3:GetObject接口,但Zencoder写入文件后发起的校验请求为服务端调用,不会携带对应Referer头,即使单独配置了Zencoder的读权限,未豁免Referer校验的情况下仍会触发隐式拒绝。
  3. 重复Statement ID导致解析异常:两条Zencoder相关权限使用了相同的SidStmt1295042087538,部分AWS区域的策略解析器会对重复Sid的规则进行合并或覆盖,导致权限丢失。
  4. 对象所有权配置冲突:若存储桶开启了「强制桶拥有者所有权」规则,Zencoder写入时未携带bucket-owner-full-control ACL的情况下,写入请求会被直接拦截。
解决方案
  • 修正Zencoder任务的输出桶配置,确保和配置策略的桶newuploads12一致;若确实需要写入到zencoder123桶,需给zencoder123桶也添加相同的Zencoder权限规则。
  • 使用修正后的存储桶策略,修改重复Sid的同时豁免Zencoder主体的Referer校验:
{
    "Version": "2012-10-17",
    "Id": "ZencoderBucketPolicy",
    "Statement": [
        {
            "Sid": "Stmt1295042087538-ObjectAccess",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::395540211253:root"
            },
            "Action": [
                "s3:GetObjectAcl",
                "s3:GetObject",
                "s3:PutObjectAcl",
                "s3:PutObject",
                "s3:ListMultipartUploadParts"
            ],
            "Resource": "arn:aws:s3:::newuploads12/*"
        },
        {
            "Sid": "Stmt1295042087538-BucketAccess",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::395540211253:root"
            },
            "Action": [
                "s3:ListBucketMultipartUploads",
                "s3:GetBucketLocation"
            ],
            "Resource": "arn:aws:s3:::newuploads12"
        },
        {
            "Sid": "AllowGetFromVlogmo",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::newuploads12/*",
            "Condition": {
                "StringLike": {
                    "aws:Referer": "https://www.vlogmo.com/*"
                },
                "StringNotEquals": {
                    "aws:PrincipalArn": "arn:aws:iam::395540211253:root"
                }
            }
        }
    ]
}
  • 在Zencoder任务的输出参数中添加"acl": "bucket-owner-full-control",确保写入对象的所有权归属存储桶所属账号,避免权限冲突。
  • 若存储桶开启了KMS默认加密,需在KMS密钥策略中同步授予Zencoder的ARN加密、解密权限。

内容的提问来源于stack exchange,提问作者tony Macias

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 09:45:07