

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

# 强制租户隔离
<a name="enforcing-tenant-isolation"></a>

租户隔离是一个适用于所有多租户设置的概念。这意味着您的策略和策略可确保一个租户无法访问其他租户资源。对于多租户代理，您可能需要引入有助于强制执行和代理的租户隔离要求的结构和机制。

应用租户隔离就像其他使用传统多租户系统的策略一样。通常，在构建 AaaS 架构时，请确定系统中请求或操作可以访问资源的任何区域，以确定请求是否跨越任何租户边界。例如，微服务可能依赖于每个租户的专用 Amazon DynamoDB 表。这要求你引入政策，确保一个租户的表格不能被另一个租户访问。

在这种情况下，可以考虑通过代理的视角进行租户隔离，以及代理与每个租户的任何资源的交互。下图显示了一个概念示例，说明代理如何应用租户隔离策略来控制对租户资源的访问。

![在代理中应用租户隔离。](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/agentic-ai-multitenant/images/applying-tenant-isolation-in-agents.png)


在此图的右侧，代理具有每个租户的知识，这些知识存储在单独的矢量数据库中。代理处理请求时，会检查提出请求的租户的上下文。基于此，代理会应用适当的隔离策略，以确保限制租户访问其指定边界之外的数据或资源。

如果您的代理使用模型上下文协议 (MCP)，它也可以实现您的租户隔离模型。下图显示了如何引入 MCP 和应用隔离策略的示例。

![使用 MCP 进行租户隔离。](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/agentic-ai-multitenant/images/tenant-isolation-with-mcp.png)


MCP 是一种标准化协议，代理使用它来与任何工具、数据和资源集成。在此示例中，MCP 客户端和 MCP 服务器与图右侧显示的租户专用知识和工具进行交互。租户上下文从一个客户端流向另一个服务器，服务器使用此上下文从 AWS Identity and Access Management (IAM) 服务获取租户范围的证书。凭证控制对每个租户资源的访问权限，确保一个租户可以访问另一个租户的资源。

由于代理采用了多租户，因此他们必须引入在处理请求时应用租户隔离策略的机制。在某些情况下，IAM 可以帮助限制对租户资源的访问。在其他情况下，您可能需要引入其他工具或框架来应用租户隔离策略。

## 吵闹的邻居和特工
<a name="noisy-neighbor-and-agents"></a>

在多租户 AaaS 环境中，多个租户共享一个代理，请考虑在哪里以及如何引入防止邻居环境嘈杂的政策。策略可以引入适用于所有消费的通用限制，也可以使用基于租户或层级的策略，根据给定角色应用限制。与对高级租户相比，您对基本级别租户的消费限制可能更大。

这种节流的概念可以应用于多个架构点。下图显示了引入噪音邻居策略的一些可能区域的示例。

![引入嘈杂的邻居政策。](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/agentic-ai-multitenant/images/introducing-noisy-neighbor-policies.png)


在我们之前对多代理实施的审查中，我们研究了您的代理可以使用的不同资源，重点介绍了代理中每租户资源的潜力。每个接触点都是引入限制政策的潜在领域，这有助于确保租户不会超过系统或租户分层策略的消耗限制。

引入噪音邻居保护的最佳位置是架构中租户共享资源的地方。如果单个租户消耗不成比例，则这些共享或池化组件（例如计算、内存和大型语言模型）最容易受到性能下降的影响。 APIs

应用节流的一个自然位置是代理的入口点，有时被称为 “外边缘”。在这里，您可以在代理开始处理请求之前引入全局限制或 tenant-tier-based速率限制。也可以在执行路径的更深层次应用限制，例如当代理调用 LLM、访问内存或调用共享工具时。

这些政策可帮助您强制执行合理使用，在负载下保持代理弹性，并在租户之间保持一致的体验。根据您的目标，您可以专注于一般系统保护（弹性）或精细管理租户体验（例如，使用基于等级的授权）。