AWS Bedrock 安全最佳实践:构建安全的生成式 AI 应用
Source: Dev.to
介绍
安全是将生成式 AI 投入生产时最大的关注点之一。Amazon Bedrock 通过提供高度安全的托管服务来应对这一挑战,但与所有 AWS 服务一样,安全是共同责任。AWS 负责底层基础设施的安全,而客户则负责在其应用中如何使用 Bedrock。
共享责任模型
AWS 责任(云端)
- 物理数据中心和全球基础设施
- 网络架构和可用性
- Amazon Bedrock 的托管服务安全
- 合规计划和第三方审计
AWS 定期通过业界认可的合规框架验证其控制措施,为客户提供安全的基础。
客户责任(云中)
- IAM 角色和权限
- 网络访问配置
- 数据敏感性和监管合规
- 应用层安全(包括提示注入防护)
理解此区分对于在 Bedrock 上部署 AI 工作负载至关重要。
数据处理保证
- 提示和完成内容 未被存储。
- 客户数据 未用于训练 AWS 模型。
- 数据 未与模型提供商或第三方共享。
Bedrock 使用 模型部署账户,这些是由 Bedrock 服务团队管理的隔离 AWS 账户。模型提供商无法访问这些账户、日志或客户交互,从而在设计上确保了强大的数据机密性。
加密
所有与 Amazon Bedrock 的通信均使用以下方式加密:
- TLS 1.2(最低),推荐使用 TLS 1.3
- 用于 API 和控制台访问的安全 SSL 连接
所有 API 请求必须使用 IAM 凭证或来自 AWS STS 的临时凭证进行签名。
Amazon Bedrock 对以下内容进行加密:
- 模型定制作业
- 训练工件
- 与定制相关的存储资源
即使在静止状态下,这也能保护敏感数据。
网络隔离
对于需要严格网络隔离的工作负载,Bedrock 可与 Amazon VPC 和 AWS PrivateLink 集成。
最佳实践:
- 在 VPC 内运行与 Bedrock 相关的作业。
- 使用 VPC Flow Logs 监控网络流量。
- 通过使用接口终端节点避免公开的互联网暴露。
支持的 VPC 集成方式:
- 模型定制作业
- 批量推理
- 访问 Amazon OpenSearch Serverless 的知识库
此方法对受监管行业和内部企业应用尤为有价值。
IAM 最佳实践
- 遵循最小权限原则。
- 为 Bedrock 访问使用专用 IAM 角色。
- 优先使用 AWS STS 临时凭证,而非长期凭证。
- 在服务层面和资源层面都要限制访问。
IAM 免费提供,并可无缝集成到 Bedrock。
跨账户模型导入(来自 Amazon S3)
- 存储桶所有者必须授予明确的权限。
- 访问策略应严格限定为仅所需的操作。
- 仔细审查跨账户访问,以避免意外暴露。
合规
Amazon Bedrock 参与多个 AWS 合规计划。要验证 Bedrock 是否满足您的合规要求:
- 查看 AWS Services in Scope by Compliance Program。
- 与您的监管义务(HIPAA、SOC、ISO 等)进行交叉核对。
合规是共享责任,因此在客户侧进行适当的配置至关重要。
事件响应
- AWS 负责 Bedrock 服务本身的事件响应。
- 客户 负责:
- 检测其应用程序中的事件。
- 对滥用或数据泄露做出响应。
- 监控日志和访问模式。
明确的事件响应计划应成为任何生产环境 AI 部署的一部分。
Prompt‑Injection 防御
提示注入是生成式 AI 系统中常见的风险。应用层面的防御是客户的责任。
缓解技术:
- 对所有用户输入进行清理和验证。
- 在可能的情况下强制使用严格的输入格式。
- 在发送到 Bedrock 之前拒绝或转义不安全的内容。
- 避免通过字符串拼接进行动态提示构建。
- 将系统提示与用户输入分离。
- 使用最小权限 IAM 角色限制权限。
- 对 AI 工作流进行渗透测试。
- 使用针对提示操纵场景的静态和动态应用安全测试(SAST/DAST)。
- 保持 SDK 和依赖项为最新版本。
- 关注 AWS 安全公告并遵循官方 Bedrock 文档。
Bedrock Guardrails
- 检测提示注入尝试。
- 强制内容边界。
- 在所有应用中应用一致的安全规则。
Guardrails 应被视为任何基于 Bedrock 的应用的基础安全控制。
对 Bedrock Agents 的额外保护
- 将 Guardrails 直接关联到 agents。
- 启用默认或自定义的预处理提示,以对用户输入进行分类。
- 明确定义系统提示,以限制 agent 行为。
- 使用基于 Lambda 的响应解析器实现自定义强制逻辑。
这些功能可显著降低恶意或非预期行为的风险。
结论
Amazon Bedrock 为生成式 AI 提供了坚实且安全的基础,但安全并不止于服务边界。AWS 负责保护基础设施,而客户必须通过精心的设计、护栏以及持续的监控来确保其应用的安全。通过结合 IAM 最佳实践、网络隔离、加密以及提示注入防御,组织可以自信地部署既强大又安全的 AI 解决方案。生成式 AI 的安全是一项持续的责任,而非一次性设置。