【SaaS架构】SaaS架构基础知识-租户隔离

视频号

微信公众号

知识星球

Chinese, Simplified

您将客户转移到多租户模式中的次数越多,他们就越担心一个租户访问另一个租户的资源的可能性。SaaS系统包括明确的机制,确保每个租户的资源即使在共享基础设施上运行也是隔离的。

这就是我们所说的租户隔离。租户隔离背后的思想是,您的SaaS架构引入了严格控制资源访问的结构,并阻止任何访问另一个租户资源的尝试。

请注意,租户隔离与一般安全机制是分开的。您的系统将支持身份验证和授权;然而,租户用户经过身份验证并不意味着您的系统已实现隔离。隔离与应用程序中的基本身份验证和授权分开应用。

为了更好地理解这一点,假设您使用了身份提供者来验证对SaaS系统的访问。来自该认证体验的令牌还可以包括关于用户角色的信息,该信息可以用于控制该用户对特定应用功能的访问。这些构造提供安全性,但不提供隔离。事实上,用户可以经过身份验证和授权,并且仍然可以访问另一个租户的资源。关于身份验证和授权的任何内容都不一定会阻止此访问。

租户隔离只关注于使用租户上下文来限制对资源的访问。它评估当前租户的上下文,并使用该上下文来确定该租户可以访问哪些资源。它对该租户内的所有用户应用此隔离。

当我们研究如何在所有不同的SaaS架构模式中实现租户隔离时,这变得更具挑战性。在某些情况下,可以通过将整个资源堆栈专用于租户来实现隔离,其中网络(或更粗粒度的)策略阻止跨租户访问。在其他场景中,您可能拥有需要更细粒度策略来控制资源访问的池资源(AmazonDynamoDB表中的项)。

任何访问租户资源的尝试都应仅限于属于该租户的资源。SaaS开发人员和架构师的工作是确定哪些工具和技术组合将支持特定应用程序的隔离需求。

本文地址
https://architect.pub/saas-architecture-fundamentals-tenant-isolation
SEO Title
SaaS Architecture Fundamentals - Tenant isolation