跳到主要内容

管理集群用户(SDK)

在 Zilliz Cloud 中,您可以创建集群用户并为他们分配集群角色,从而定义用户权限并实现数据安全。

本文将介绍如何创建集群用户、授予用户角色、撤销用户角色,以及删除用户。有关集群角色的详细信息,请参考管理集群角色(控制台)管理集群角色(SDK)

创建用户

以下示例展示如何创建一个具有指定用户名(user_1)和密码(P@ssw0rd)的用户。用户的用户名和密码需要遵循以下规则:

  • 用户名:必须以字母开头且只可以包含大写或小写字母、数字和下划线

  • 密码:长度需为 8-64 个字符,且必须包含大写字母、小写字母、数字和特殊字符中的三种。

from pymilvus import MilvusClient

client = MilvusClient(
uri="YOUR_CLUSTER_ENDPOINT",
token="YOUR_CLUSTER_TOKEN"
)

client.create_user(user_name="user_1", password="P@ssw0rd")

查看所有用户

在创建了多个用户后,您可以查看所有已创建的用户列表。

from pymilvus import MilvusClient

client.list_users()

示例结果如下,其中 root 为默认创建的根用户,user_1 为新创建的用户。

['root', 'user_1']

为用户分配角色

以下示例展示了如何将角色 role_a 分配给用户 user_1

from pymilvus import MilvusClient

client = MilvusClient(
uri="YOUR_CLUSTER_ENDPOINT",
token="YOUR_CLUSTER_TOKEN"
)

client.grant_role(user_name="user_1", role_name="role_a")

查看用户角色

为用户分配完角色后,您可以查看用户角色已验证操作是否成功。

以下示例展示了如何查看用户 user_1 的角色。

from pymilvus import MilvusClient

client.describe_user(user_name="user_1")

结果如下所示:

{'user_name': 'user_1', 'roles': 'role_a'}

撤销角色

您还可以撤销已分配给用户的角色。

以下示例展示了如何撤销已分配给用户 user_1 的角色 role_a

from pymilvus import MilvusClient

client.revoke_role(
user_name='user_1',
role_name='role_a'
)

删除用户

以下示例展示如何删除用户 user_1

📘说明

root 用户无法删除。

from pymilvus import MilvusClient

client = MilvusClient(
uri="YOUR_CLUSTER_ENDPOINT",
token="YOUR_CLUSTER_TOKEN"
)

# create a user
client.drop_user(user_name="user_1")

删除后,您可以通过查看所有用户操作检查是否删除成功。如果列表中未展示此前删除的用户则视为删除成功。

from pymilvus import MilvusClient

client.list_users()

示例结果如下,列表中无 user_1,删除操作成功。

['root']