访问控制概览
Zilliz Cloud 采用基于角色的访问控制(RBAC)来实现精细化的资源访问控制。RBAC 是一种安全措施,它将权限授予角色而不是直接授予用户。这些角色包含对资源的特定权限,然后将这些角色授予用户,从而实现用户访问控制的高效管理。
Zilliz Cloud RBAC 架构
Zilliz Cloud 将资源分布在控制面(Control Plane)和数据面(Data Plane)上,并通过 RBAC 实现对控制面和数据面的访问控制。
-
控制面:控制面包括组织、项目和集群管理。账号用户被授予特定的组织和项目角色,并在与控制面资源交互时通过 API 密钥进行身份验证。
-
数据面:数据面包括集群、Database 和 Collection,主要负责数据访问管理。集群用户被授予集群角色,并在与数平面资源交互时使用 API 密钥或用户名-密码对进行身份验证。
通常情况下,一个账号用户对应一个集群用户。然而,并非所有用户都需要同时访问控制面和数据面的资源。例如账单管理员这样的用户只需要控制面的访问权限,从而管理账单和支付方式,而不需要数据面的访问权限。此外,您还可以创建临时的集群用户并通过自定义 API 密钥授予其数据面资源的访问权限。这样一来,集群用户无需注册账号即可临时访问数据。有关管理自定义 API 密钥的详细信息,请参考 API 密钥。
角色和权限
账号用户被授予组织角色和项目角色,集群用户被授予控制集群、Database 和 Collection 访问权限的集群角色。下图展示了 Zilliz Cloud 中角色的层级结构。
-
组织层级
- 组织管理员角色包含所有项目和集群权限。
有关组织角色的详情,请参考管理组织用户。
-
项目层级
-
项目管理员角色包含某个项目的所有管理权限以及项目下集群的管理权限。
-
项目编辑者角色包含查看某个项目及项目下所有集群的管理权限。
-
项目查看者角色包含查看某个项目及项目下所有集群的只读权限。
有关项目角色的详情,请参考管理项目用户。
-
-
集群层级
-
集群 Admin 角色包含某个集群的所有管理权限。
-
集群 Read-Write 角色包含查看某个集群及在集群下 Collection 进行读写操作的权限。
-
集群 Read-Only 角色包含查看集群及集群下 Collection 的只读权限。
-
除上述 3 个内置角色外,您还可以[创建自定义角色](./cluster-roles#create-a custom-cluster-role)更精准地控制集群资源(Database、Collection)的访问权限。
有关集群角色的详情,请参考管理集群角色(控制台)。
-