Docker Compose 安装了 Milvus 单机版启用安全验证

打印 上一主题 下一主题

主题 936|帖子 936|积分 2810

目录
1. 下载Milvus配置文件
2. 修改配置文件以启用认证
3. 修改Docker Compose文件以映射配置文件
4. 重启Milvus服务
5. 测试认证是否收效
6. (可选)修改默认密码或创建新用户
留意事项


在利用 Docker Compose 安装了 Milvus 单机版(Standalone),默认环境下是没有启用安全验证(即用户认证)的。要为 Milvus 添加安全验证,必要修改配置文件 milvus.yaml,启用认证功能,并确保 Docker Compose 正确映射该配置文件。下面是具体步骤:


1. 下载Milvus配置文件


起首,你必要获取 Milvus 的配置文件 milvus.yaml,并将其放置在当地目录中。可以用以下命令下载对应版本的配置文件(这里以 v2.4.15 为例):

bash

WrapCopy

wget https://raw.githubusercontent.com/milvus-io/milvus/v2.4.15/configs/milvus.yaml

假设你将 milvus.yaml 下载到当前工作目录(与 docker-compose.yml 同一目录)。


2. 修改配置文件以启用认证


打开 milvus.yaml 文件,找到 security 部分,修改 authorizationEnabled 的值设置为 true,如下所示:

yaml

WrapCopy

security: authorizationEnabled: true # 默认是 false,改为 true 以启用认证 # 可选:指定超级用户,超级用户在重置密码时无需提供旧密码 superUsers: "root" # 默认超级用户是 root,可以根据必要修改

生存文件后,这个配置会启用 Milvus 的用户认证功能。默认环境下,Milvus 会创建一个用户名为 root,密码为 Milvus 的账户。


3. 修改Docker Compose文件以映射配置文件


为了让 Milvus 容器利用你修改后的 milvus.yaml,必要在 docker-compose.yml 中添加卷映射。编辑 docker-compose.yml,在 standalone 服务下添加以下卷配置:

yaml

WrapCopy

services: standalone: container_name: milvus-standalone image: milvusdb/milvus:v2.4.15 command: ["milvus", "run", "standalone"] environment: ETCD_ENDPOINTS: etcd:2379 MINIO_ADDRESS: minio:9000 volumes: - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/milvus:/var/lib/milvus - ./milvus.yaml:/milvus/configs/milvus.yaml # 添加这一行,映射当地 milvus.yaml ports: - "19530:19530" - "9091:9091" depends_on: - "etcd" - "minio" # 其他服务(etcd 和 minio)保持稳定



  • ./milvus.yaml 是你当地的配置文件路径。

  • /milvus/configs/milvus.yaml 是容器内的目标路径。

  •   
      
     


4. 重启Milvus服务


生存修改后的 docker-compose.yml,然后重启 Milvus 以应用新配置:

bash

WrapCopy

# 先停止当前运行的容器 sudo docker-compose down
# 重新启动服务 sudo docker-compose up -d

等候全部容器状态变为 (healthy),可以通过以下命令查抄:

bash

WrapCopy

sudo docker-compose ps


5. 测试认证是否收效


Milvus 默认提供了一个用户 root,密码为 Milvus。你可以用 Python 的 PyMilvus 客户端测试毗连:

python

WrapCopy

from pymilvus import connections # 尝试毗连,必要提供用户名和密码 connections.connect( alias="default", host="localhost", port="19530", user="root", password="Milvus" )
print("毗连成功!")

如果不提供用户名和密码,或者提供错误的凭据,会返回雷同 UNAUTHENTICATED 的错误,表现认证已收效。


6. (可选)修改默认密码或创建新用户


为了安全起见,发起更改默认 root 用户的密码,或者创建新用户。可以用以下代码完成:

python

WrapCopy

from pymilvus import utility # 毗连默认 root 用户 connections.connect( alias="default", host="localhost", port="19530", user="root", password="Milvus" )
# 修改 root 用户密码 utility.reset_password("root", "Milvus", "NewP@ssw0rd", using="default") # 创建新用户 utility.create_user("new_user", "NewP@ssw0rd", using="default") # 列出全部用户,验证是否成功 users = utility.list_usernames(using="default") print(users)

之后,你可以用新用户和新密码毗连 Milvus。


留意事项




  • 配置文件路径:确保 milvus.yaml 的路径在 docker-compose.yml 中正确映射。

  • 密码要求:用户名和密码长度不得超过 32 个字符,用户名必须以字母开头,仅包含字母、数字或下划线。

  • 重启收效:每次修改 milvus.yaml 后,都必要重启 Milvus 服务。



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

祗疼妳一个

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表