使用Widevine与谷歌云视频转码器遇secretmanager.versions.access权限拒绝
关键排查方向
核对转码器实际使用的服务账号:
你在Cloud Run测试用的服务账号,和视频转码器Job实际调用的可能不是同一个。转码器默认使用项目默认服务账号(格式为[项目编号]-compute@developer.gserviceaccount.com),除非你在Job配置里显式指定了自定义服务账号。检查Job配置中是否存在serviceAccount字段,若没有则需给默认账号添加Secret Manager Secret Accessor权限。检查密钥资源的独立权限设置:
即便服务账号拥有项目级Owner角色,也可能密钥自身的权限列表未包含该账号。进入Secret Manager的TEST_ENCRYPTION_KEY详情页,查看权限标签,确认目标服务账号(自定义或默认)已被添加并授予Secret Manager Secret Accessor角色——资源级权限可能会覆盖或不继承项目级权限。验证密钥路径的准确性:
确认配置中secretVersion的项目编号12345与转码器Job所在项目一致,密钥确实存在于该项目内。跨项目引用密钥会直接触发权限校验失败。等待IAM权限生效延迟:
谷歌云IAM权限存在几分钟的生效延迟,若刚配置完权限,可等待5-10分钟后重新提交转码Job测试。
补充验证操作
用转码器实际使用的服务账号,通过gcloud命令行测试密钥访问:
gcloud auth activate-service-account --key-file=[服务账号密钥文件路径] gcloud secrets versions access 3 --secret=TEST_ENCRYPTION_KEY --project=12345若命令报错,说明服务账号权限确实未配置到位;若能成功访问,需排查转码Job配置的其他细节。
再次核对转码Job的
encryptions配置格式,确保无语法错误(你提供的配置格式暂无问题)。
内容的提问来源于stack exchange,提问作者HNG

