安全设计

了解如何安全集成 ElevenLabs API。

无论是在构建语音信箱应用、互动角色还是音频驱动的游戏,ElevenLabs API 都能让你直接使用强大的语音功能。 但在获得这些能力的同时,也有责任保护用户数据并谨慎管理语音资源。

本指南介绍开发者应遵循的 3 项关键安全实践:

  • 使用 服务账户 隔离环境
  • 限制 用户 API 密钥 的有效期
  • 实施 资源级权限

使用服务账户隔离环境

服务账户提供对 ElevenLabs 平台具有范围限制、仅限 API 的访问权限。不同于用户账户,它们不绑定个人,专为后端系统和自动化设计。

如果服务账户创建了资源,默认只有管理员可见,但可与其他用户共享。同样,也可以像与用户共享一样,将任意资源共享给服务账户。 每个服务账户都在工作区级别创建,并由工作区管理员管理。它们可通过 API 创建和访问资源。

建议为每个环境配置专用服务账户:

  • production-service-account
  • testing-service-account
  • uat-service-account(如适用)

这可确保环境之间清晰隔离,减少跨环境意外数据泄露,并简化监控。

为什么这很重要

职责分离
避免混用测试和生产数据。环境隔离有助于审计和合规。

最小权限原则
每个服务账户应仅访问必要的最少资源。创建 API 密钥时还可进一步限定其范围。

更好的可观测性
按环境跟踪 API 使用情况和性能。独立的服务账户可更轻松地调试问题和监控活动。

限制用户 API 密钥的有效期

用户 API 密钥 绑定个人,并继承该用户的部分访问权限。它们方便用于个人开发和脚本,但不适合作为长期有效的凭据,尤其是在被加入共享脚本、笔记本或 CI 流水线时。

用户 API 密钥可以设置过期时间。创建密钥时,可将有效期设置为 15 分钟至 30 天;到期后密钥将无法再进行身份验证。如有需要,创建后可编辑或延长有效期。

在后端应用资源级权限

如果应用允许用户使用克隆音色录制消息,务必确保用户只能访问自己拥有或获授权使用的音色。

虽然 ElevenLabs 平台支持应用内共享,但在使用 API 时,应在自己的系统中实施 资源级访问控制。

推荐模型:

user_id | voice_id | permission_level

可能的 permission_level 值:

  • viewer:可使用该音色生成语音
  • editor:可更新音色设置
  • admin:可管理共享和权限

这种结构可让你控制哪些人能够访问和修改音色,并防止未经授权使用敏感资源。 如果直接使用 ElevenLabs 平台,这些权限是基于平台原生提供的控制功能提出的建议。

安全构建,自信扩展。

安全应是基础,而不是事后考虑。 通过使用服务账户并实施权限控制,可以降低风险、建立信任,同时让用户充分发挥 AI 语音的潜力。