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

浏览器中使用TranscribeStreamingClient的认证与用量管控咨询

AWS Transcribe 浏览器实时转录:认证与用量管控方案

首先明确:TranscribeStreamingClient 配置的AWS凭证,核心作用是鉴权调用Transcribe流式转录API,和访问S3存储桶没有直接关联——只有当你需要把转录结果自动存储到S3时,才需要额外给凭证添加S3相关权限。

关于你提到的用量管控(限制转录时长)和浏览器集成的问题,你遗漏的是短期临时凭证的正确使用方式,而非依赖预签名URL(Transcribe流式API不支持预签名机制)。以下是可行的方案:

1. 用AWS Cognito身份池生成浏览器端临时凭证

  • 配置Cognito身份池,为认证/未认证用户绑定IAM角色,角色的策略仅允许调用Transcribe的StartStreamTranscription操作,同时可以通过策略条件进一步限制(比如限制特定区域、特定转录参数)。
  • 前端通过Cognito SDK获取临时凭证(默认有效期1小时,可调整),用这个凭证初始化TranscribeStreamingClient,直接和Transcribe服务建立流式连接。
  • 用量管控:后端可以结合用户的账号配额,在用户发起转录请求时,先校验剩余可用时长,再决定是否允许Cognito发放凭证;或者将凭证有效期设置为用户剩余时长的最大值(比如用户只剩5分钟配额,就生成5分钟有效期的凭证)。

2. 后端通过STS生成短期临时凭证

  • 前端先向你的后端发起身份验证(比如JWT校验),后端验证通过后,调用AWS STS的AssumeRole接口,生成带有指定有效期(最短15分钟,最长12小时)的临时凭证。
  • 后端可以在生成凭证前,查询该用户的已用转录时长,若未超过配额则返回凭证,否则拒绝请求。
  • 前端拿到临时凭证后,直接初始化TranscribeStreamingClient发起流式转录,无需通过后端转发音频数据包。

为什么不推荐后端转发音频?

这种方式会增加后端的带宽压力和转录延迟,完全浪费了Transcribe支持浏览器直接集成的优势,而且临时凭证方案已经能满足安全和用量管控的需求。

总结:Transcribe流式API不支持S3式的预签名URL,正确的浏览器集成姿势是用短期临时凭证(Cognito或STS生成),结合后端的配额校验来管控用户的转录时长,既安全又高效。

内容的提问来源于stack exchange,提问作者Matt Gallik

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 05:15:23