多租户与租户令牌
本文将介绍多租户的概念以及租户令牌如何帮助管理复杂应用和敏感数据。
在本文中,您将了解什么是多租户架构,以及租户令牌如何帮助管理复杂应用程序和敏感数据。
什么是多租户架构?
在软件开发中,多租户架构意味着多个用户或租户共享相同的计算资源,但对系统全局数据拥有不同级别的访问权限。正确的多租户实现对于云计算服务(如DigitalOcean的Droplets和亚马逊的AWS)至关重要。
如果您的Meilisearch应用在同一个索引中存储了属于多个用户的敏感数据,那么您正在管理一个多租户索引。在这种情况下,确保用户只能搜索自己的文档非常重要。这可以通过租户令牌来实现。
什么是租户令牌?
租户令牌是包含加密数据的小型数据包,用于证明用户可以访问特定索引。它们不仅包含安全凭证,还包含用户在该索引中允许查看哪些文档的指令。租户令牌仅提供对搜索端点的访问权限。 它们设计为短期有效,因此Meilisearch不会存储或跟踪已生成的令牌。
租户令牌与API密钥有何区别?
API密钥提供对索引中特定操作的通用访问权限。具有某个索引搜索权限的API密钥可以访问该索引中的所有信息。
租户令牌在API密钥之上增加了另一层控制。它们可以限制特定用户在索引中可以访问哪些信息。如果您在单个索引中存储了多个客户的私有数据,租户令牌可以防止一个用户访问另一个用户的数据。
如何将租户令牌集成到应用中?
租户令牌(Tenant tokens)不需要任何特殊的Meilisearch配置。您可以像使用任何具有搜索权限的API密钥一样使用它们。
您必须在应用程序中生成这些令牌。生成租户令牌最快的方法是使用官方SDK。也可以使用第三方库生成令牌。
示例应用
Meilisearch开发了一个在SaaS CRM中使用多租户功能的内部搜索演示。该演示仅允许经过身份验证的用户搜索属于他们组织的联系人、公司和交易。
您也可以在基于角色的访问控制(RBAC)系统中使用租户令牌。更多信息请参阅Meilisearch官方博客上的如何使用Meilisearch实现RBAC。