管理员手册 (Administration Guide)
认证(Authenticate)

用户访问认证

本主题介绍如何在 Milvus 中管理用户认证。

Milvus 支持通过用户名和密码进行身份验证的访问。

启用用户认证

配置 Milvus 时,将 milvus.yaml 中的 common.security.authorizationEnabled 设为 true 以启用身份验证。

从 Milvus Helm Chart 4.0.0 开始,你可以通过修改 values.yaml 来启用用户认证,方法如下:

创建已认证的用户

默认情况下,每个 Milvus 实例都会创建一个根用户(密码: Milvus )。建议你在首次启动 Milvus 时更改根用户的密码。使用根用户可以为已认证的访问创建新用户。

使用以下命令为用户创建用户名和密码。

from pymilvus import utility
utility.create_user('user', 'password', using='default') 
参数描述
user 要创建的用户名。
password 要创建的用户的密码。
using 要创建用户的 Milvus 服务器的别名。

使用已认证的用户连接 Milvus

使用现有用户连接 Milvus。

from pymilvus import connections
connections.connect(
    alias='default',
    host='localhost',
    port='19530',
    user='user',
    password='password',
)
参数描述
alias 要连接的 Milvus 服务器的别名。
host 要连接的 Milvus 服务器的 IP 地址。
port 要连接的 Milvus 服务器的端口。
user 用于连接的用户名。
password 用于连接的密码。

重置密码

更改现有用户的密码并重置 Milvus 连接。

from pymilvus import utility
utility.reset_password('user', 'old_password', 'new_password', using='default')
 
# Or you can use an alias function update_password
utility.update_password('user', 'old_password', 'new_password', using='default')
ParameterDescription
user 用户名用于重置密码。
password 用户的新密码。
using Milvus 服务器的别名。

如果忘记旧密码,Milvus 提供了一项配置项,可以指定某些用户作为超级用户。这样在重置密码时就不需要提供旧密码了。

默认情况下,Milvus 配置文件中的 common.security.superUsers 字段为空,这意味着所有用户在重置密码时都必须提供旧密码。但是你可以指定特定的用户为超级用户,超级用户在重置密码时不需要提供旧密码。在下面的片段中,rootfoo 被指定为超级用户。

你应该在控制你的 Milvus 实例运行的 Milvus 配置文件中添加以下配置项。

common:
    security:
        superUsers: root, foo

删除用户

删除已验证的用户。

from pymilvus import utility
utility.delete_user('user', using='default')
参数描述
user 要删除的用户名。
using Milvus 服务器的别名。

列出所有用户

列出所有凭证用户。

from pymilvus import utility
users = utility.list_usernames(using='default')

限制

  1. 用户名不能为空,长度不能超过 32 个字符。必须以字母开头,只能包含下划线,字母或数字。
  2. 密码必须至少有 6 个字符,并且长度不能超过 256 个字符。

下一步做什么