用户访问认证
本主题介绍如何在 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')
Parameter | Description |
---|---|
user | 用户名用于重置密码。 |
password | 用户的新密码。 |
using | Milvus 服务器的别名。 |
如果忘记旧密码,Milvus 提供了一项配置项,可以指定某些用户作为超级用户。这样在重置密码时就不需要提供旧密码了。
默认情况下,Milvus 配置文件中的 common.security.superUsers
字段为空,这意味着所有用户在重置密码时都必须提供旧密码。但是你可以指定特定的用户为超级用户,超级用户在重置密码时不需要提供旧密码。在下面的片段中,root
和 foo
被指定为超级用户。
你应该在控制你的 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')
限制
- 用户名不能为空,长度不能超过 32 个字符。必须以字母开头,只能包含下划线,字母或数字。
- 密码必须至少有 6 个字符,并且长度不能超过 256 个字符。
下一步做什么
- 你可能还想学习如何:
- 如果你准备在云上部署你的集群: