跳到主要内容
版本:v2.6.x

创建用户和角色

Milvus 通过 RBAC 实现细粒度访问控制。您可以从创建用户和角色开始,然后为角色分配权限或权限组,最后通过向用户授予角色来管理访问控制。这种方法可确保访问管理的效率和安全性。本页将介绍如何在 Milvus 中创建用户和角色。

用户

初始化 Milvus 实例后,会自动生成一个根用户,用于首次连接 Milvus 时进行身份验证。根用户的用户名是root ,密码是Milvus 。根用户的默认角色是admin ,可以访问所有资源。为确保数据安全,请妥善保管根用户的凭据,防止未经授权的访问。

对于日常操作,我们建议创建用户而不是使用根用户。

创建用户

下面的示例显示了如何创建用户名为user_1 、密码为P@ssw0rd 的用户。用户名和密码必须遵循以下规则:

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

  • 密码:长度必须为 8-64 个字符,必须包括以下三种字符:大写字母、小写字母、数字和特殊字符。

from pymilvus import MilvusClient

client = MilvusClient(
uri="http://localhost:19530",
token="root:Milvus"
)

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

更新密码

创建用户后,如果忘记密码,可以更新密码。

新密码也必须遵循以下规则:

  • 长度必须为 8-64 个字符,并包含以下三个字符:大写字母、小写字母、数字和特殊字符。

下面的示例显示了如何将用户user_1 的密码更新为NewP@ssw0rd

from pymilvus import MilvusClient

client.update_password(
user_name="user_1",
old_password="P@ssw0rd",
new_password="NewP@ssw0rd"
)

列出用户

创建多个用户后,您可以列出并查看所有现有用户。

from pymilvus import MilvusClient

client.list_users()

下面是一个输出示例。root 是 Milvus 自动生成的默认用户。user_1 是刚刚创建的新用户。

['root', 'user_1']

角色

Milvus 提供了一个名为admin 的内置角色,它是一个管理员角色,可以访问所有实例下的资源,并拥有所有操作的权限。为实现更精细的访问管理和增强数据安全性,建议根据需要创建自定义角色。

创建角色

下面的示例演示了如何创建名为role_a 的角色。

角色名称必须遵循以下规则:

  • 必须以字母开头,且只能包含大写或小写字母、数字和下划线。
from pymilvus import MilvusClient

client.create_role(role_name="role_a")

列出角色

创建多个角色后,您可以列出并查看所有现有角色。

from pymilvus import MilvusClient

client.list_roles()

下面是一个输出示例。admin 是 Milvus 中的默认角色。role_a 是刚刚创建的新角色。

['admin', 'role_a']