生成式人工智能 AWS SRA - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

生成式人工智能 AWS SRA

本节提供了有关安全使用生成式 AI 来提高用户和组织的生产力和效率的最新建议。它侧重于根据在多账户环境中AWSSRA部署全套AWS安全服务的整套指导方针来使用 Amazon Bedrock。 本指南建立在SRA企业级安全框架内启用生成式 AI 功能的基础上。它涵盖了特定于 Amazon Bedrock 生成 AI 功能的关键安全控制措施,例如IAM权限、数据保护、输入/输出验证、网络隔离、日志记录和监控。

本指南的目标受众是安全专业人员、架构师和开发人员,他们负责将生成人工智能功能安全地集成到其组织和应用程序中。 

SRA探讨了这些 Amazon Bedrock 生成人工智能功能的安全注意事项和最佳实践: 

该指南还涵盖了如何根据您的用例将 Amazon Bedrock 生成式 AI 功能集成到传统AWS工作负载中。 

本指南的以下各节详细介绍了这四项功能,讨论了该功能的基本原理及其用法,涵盖了与该功能相关的安全注意事项,并解释了如何使用AWS服务和功能来解决安全注意事项(补救)。使用基础模型(能力 1)的基本原理、安全注意事项和补救措施适用于所有其他功能,因为它们都使用模型推理。例如,如果您的业务应用程序使用具有检索增强生成 (RAG) 功能的自定义 Amazon Bedrock 模型,则必须考虑能力 1、2 和 4 的基本原理、安全注意事项和补救措施。

下图所示的架构是本指南中前面描述AWSSRA的工作负载组织单元的扩展。

特定的 OU 专用于使用生成式 AI 的应用程序。OU 由一个应用程序帐户组成,您可以在其中托管提供特定业务功能的传统AWS应用程序。此AWS应用程序使用 Amazon Bedrock 提供的生成人工智能功能。这些功能由生成人工智能账户提供,该账户托管相关的 Amazon Bedrock 和相关AWS服务。根据应用程序类型对AWS服务进行分组有助于通过特定于 OU 和特定于AWS账户的服务控制策略来实施安全控制。这也使得实现强大的访问控制和最低权限变得更加容易。除了这些特定的OUs和帐户外,参考架构还描述了其他OUs和帐户,这些帐户提供了适用于所有应用程序类型的基础安全功能。本指南的前面部分讨论了组织管理安全工具日志存档网络共享服务账户。

设计注意事项

如果您的应用程序架构要求将 Amazon Bedrock 提供的生成式 AI AWS 服务和其他服务整合到托管业务应用程序的同一个账户中,则可以将应用程序和生成人工智能账户合并为一个账户。如果你的生成式人工智能使用分布在整个AWS组织中,情况也会如此。

AWSSRA支持生成式 AI 的架构
设计注意事项

您可以根据软件开发生命周期 (SDLC) 环境(例如开发、测试或生产),或者按模型或用户社区进一步划分生成式 AI 帐户。

  • 基于SDLC环境的帐户分离:最佳做法是将环境分成不同的SDLC环境OUs。这种分离可确保对每个环境和支持进行适当的隔离和控制。它提供了以下功能:

    • 受控访问。不同的团队或个人可以根据其角色和职责被授予访问特定环境的权限。 

    • 资源隔离。每个环境都可以拥有自己的专用资源(例如模型或知识库),而不会干扰其他环境。 

    • 成本跟踪。可以单独跟踪和监控与每个环境相关的成本。 

    • 风险缓解。一个环境(例如开发)中的问题或实验不会影响其他环境(例如生产)的稳定性。 

  • 基于模型或用户社区的账户分离:在当前的架构中,一个账户提供对多个账户的访问权限,以便通过 B AWS edrock FMs 进行推理。您可以使用IAM角色FMs根据用户角色和职责为预先训练的人员提供访问控制。(有关示例,请参阅 Amazon Bedrock 文档。) 相反,您可以选择根据风险等级、模型或用户社区将生成人工智能账户分开。在某些情况下,这可能是有益的: 

    • 用户社区风险等级:如果不同的用户群具有不同的风险级别或访问要求,则单独的账户可以帮助实施适当的访问控制和过滤器。 

    • 定制模型:对于使用客户数据定制的模型,如果有关于训练数据的全面信息,则单独的账户可以提供更好的隔离和控制。 

基于这些注意事项,您可以评估与您的用例相关的特定要求、安全需求和操作复杂性。如果主要关注Amazon Bedrock并经过预先培训FMs,那么具有IAM角色的单一账户可能是一种可行的方法。但是,如果您对模型或用户社区分离有特定要求,或者计划使用客户加载的模型,则可能需要单独的帐户。归根结底,决策应由特定于应用程序的需求和因素(例如安全性、操作复杂性和成本考虑因素)来决定。

注意:为了简化以下讨论和示例,本指南假设使用带有IAM角色的单一生成式 AI 账户策略。

Amazon Bedrock

Amazon Bedrock 是一种使用基础模型 (FMs) 构建和扩展生成式 AI 应用程序的简便方法。作为一项完全托管的服务,它提供了FMs从领先的人工智能公司中进行选择,包括AI21实验室、Anthropic、Cohere、Meta、Stability AI和Amazon。它还提供了构建生成式人工智能应用程序所需的广泛功能,并在维护隐私和安全的同时简化了开发。FMs作为开发生成式 AI 应用程序和解决方案的基石。通过提供对 Amazon Bedrock 的访问权限,用户可以通过用户友好的界面或FMs通过 A mazon Bedro API ck 直接与这些用户进行交互。Amazon Bedrock 的目标是通过单一模型提供模型选择,API以便快速实验、定制和部署到生产环境,同时支持快速转向不同的模型。一切都与型号选择有关。

您可以对预先训练的模型进行实验,针对您的特定用例自定义模型,然后将其集成到您的应用程序和工作流程中。与的这种直接互动FMs使组织能够快速对生成式人工智能解决方案进行原型设计和迭代,并利用机器学习的最新进展,而无需大量的资源或专业知识来从头开始训练复杂的模型。Amazon Bedrock 控制台简化了访问和使用这些强大的生成人工智能功能的过程。

Amazon Bedrock 提供了一系列安全功能,可帮助您保护数据的隐私和安全: 

  • Amazon Bedrock 处理的所有用户内容均由用户隔离,静态加密,并存储在您使用 Amazon Bedrock 的AWS区域。您的内容也会在传输过程中通过至少使用 TLS 1.2 进行加密。 要了解有关亚马逊 Bedrock 数据保护的更多信息,请参阅亚马逊 Bedrock 文档。 

  • Amazon Bedrock 不会存储或记录您的提示和完成情况。Amazon Bedrock 不会使用您的提示和完成来训练任何AWS模型,也不会将其分发给第三方。

  • 当您调谐调频时,您的更改将使用该模型的私有副本。这意味着您的数据不会与模型提供者共享,也不会用于改进基础模型。 

  • Amazon Bedrock 实施自动滥用检测机制,以识别可能违反AWS负责任的人工智能政策的行为。要详细了解亚马逊 Bedrock 中的滥用行为检测,请参阅亚马逊 Bedrock 文档。 

  • Amazon Bedrock 符合通用合规标准,包括国际标准化组织 (ISO)、系统和组织控制 (SOC)、联邦风险和授权管理计划 (美联储RAMP) 中级和云安全联盟 (CSA) 安全信任保障和风险 (STAR) 第 2 级。Amazon Bedrock 符合《健康保险流通与责任法案》(HIPAA) 的资格,您可以根据《通用数据保护条例》(GDPR) 使用此服务。 要了解某项AWS服务是否在特定合规计划的范围内,请参阅 “按合规计划划分的范围AWS服务”,然后选择您感兴趣的合规计划。 

要了解更多信息,请参阅生成式 AI AWS 的安全方法。 

Amazon Bedrock 的护栏

Amazon Bedrock 的 Guardrails 使您能够根据自己的用例和负责任的人工智能政策为生成人工智能应用程序实施保护措施。 Amazon Bedrock 中的防护栏由您可以配置的筛选条件、可以定义为屏蔽的主题以及内容被屏蔽或筛选时发送给用户的消息组成。

内容筛选取决于六个有害类别的用户输入(输入验证)和调频响应(输出验证)的置信度分类。对于每个有害类别,所有输入和输出语句都分为四个置信度之一(无、低、中、高)。 对于每个类别,您可以配置过滤器的强度。 下表显示了每个过滤器强度屏蔽和允许的内容程度。

过滤强度

屏蔽内容置信度

允许的内容置信度

没有过滤

无、低、中、高

无、低、中

高、中

无,低

高、中、低

当你准备好将护栏部署到生产环境时,你可以创建一个护栏版本,然后在应用程序中调用该版本的护栏。按照 Amazon Bedrock 文档的 “测试护栏” 部分的API选项卡中的步骤进行操作。 

安全性

默认情况下,护栏使用密钥管理服务()AWSKMS中的AWS托管密AWS钥进行加密。为防止未经授权的用户访问护栏,这可能会导致意想不到的更改;我们建议您使用客户管理的密钥来加密您的护栏,并使用最低权限来限制对护栏的访问。IAM

亚马逊 Bedrock 模型评估

Amazon Bedrock 支持模型评估任务。您可以使用模型评估作业的结果来比较模型输出,然后选择最适合您的下游生成式 AI 应用程序的模型。

您可以使用自动模型评估作业,通过使用自定义提示数据集或内置数据集来评估模型的性能。有关更多信息,请参阅 Amazon Bedrock 文档中的创建自动模型评估和在模型评估任务中使用提示数据集。

使用人工工作的模型评估工作将员工或主题专家的人工意见带入评估过程。 

安全性

模型评估应在开发环境中进行。有关组织非生产环境的建议,请参阅《使用多个账户组织您的AWS环境》白皮书。

所有模型评估任务都需要IAM权限和IAM服务角色。有关更多信息,请参阅 Amazon Bedrock 文档,了解使用 Amazon Bedrock 控制台创建模型评估任务所需的权限、服务角色要求和所需的跨域资源共享 () CORS 权限。 使用人工操作的自动评估作业和模型评估作业需要不同的服务角色。有关角色执行模型评估任务所需的策略的更多信息,请参阅 Amazon Bedrock 文档中的自动模型评估任务服务角色要求和使用人工评估员的模型评估任务的服务角色要求。

对于自定义提示数据集,您必须在 S3 存储桶上指定CORS配置。有关所需的最低配置,请参阅 Amazon Bedrock 文档。在使用人力的模型评估作业中,您需要有一个工作团队。您可以创建或管理、创建或管理工作团队,同时设置模型评估工作,也可以将员工添加到由 Amazon G SageMaker round Truth 管理的私人员工队伍中。要管理在任务设置之外在 Amazon Bedrock 中创建的工作团队,您必须使用 Amazon Cognito 或 Amazon G round Tr SageMaker uth 控制台。 Amazon Bedrock 为每个工作团队最多支持 50 名员工。

在模型评估任务期间,Amazon Bedrock 会临时复制您的数据,然后在任务完成后删除这些数据。它使用密AWSKMS钥对其进行加密。 默认情况下,数据使用AWS托管密钥加密,但我们建议您改用客户托管密钥。有关更多信息,请参阅 Amazon Bedrock 文档中的模型评估任务的数据加密