🚀 Попробуйте Zilliz Cloud, полностью управляемый Milvus, бесплатно — ощутите 10-кратное увеличение производительности! Попробовать сейчас>

milvus-logo
LFAI
Главная
  • Руководство по администрированию

Аутентификация доступа пользователей

В этом руководстве описано, как управлять аутентификацией пользователей в Milvus, включая включение аутентификации, подключение в качестве пользователя и изменение учетных данных пользователя.

  • TLS и аутентификация пользователей - это два разных подхода к безопасности. Если в системе Milvus включена и аутентификация пользователя, и TLS, необходимо указать имя пользователя, пароль и путь к файлу сертификата. Информацию о том, как включить TLS, см. в разделе Шифрование при передаче.

  • Фрагменты кода на этой странице используют новый MilvusClient (Python) для взаимодействия с Milvus. Новые SDK MilvusClient для других языков будут выпущены в будущих обновлениях.

Включение аутентификации пользователей

Чтобы включить аутентификацию пользователей для вашего сервера Milvus, установите значение common.security.authorizationEnabled в true в файле конфигурации Milvus milvus.yaml. Дополнительные сведения о конфигурациях см. в разделе Настройка Milvus с помощью Docker Compose.

...
common:
...
  security:
    authorizationEnabled: true
...

Чтобы включить аутентификацию пользователей для сервера Milvus, установите значение authorizationEnabled в true в файле конфигурации Milvus values.yaml. Дополнительные сведения о конфигурациях см. в разделе Настройка Milvus с помощью Helm Charts.

...
extraConfigFiles:
  user.yaml: |+
    common:
      security:
        authorizationEnabled: true
...

Чтобы включить аутентификацию, установите spec.common.security.authorizationEnabled на true в Milvus CRD. Дополнительные сведения о Milvus CRD см. в разделе Настройка Milvus с помощью Milvus Operator.

apiVersion: milvus.io/v1beta1
kind: Milvus
metadata:
  name: my-release
  labels:
    app: milvus
spec:
  # Omit other fields ...
  config:
    common:
      security:
        authorizationEnabled: true

Подключение к Milvus с помощью аутентификации

После включения аутентификации вам нужно подключиться к Milvus, используя имя пользователя и пароль. По умолчанию при запуске Milvus создается пользователь root с паролем Milvus. Ниже приведен пример подключения к Milvus с включенной аутентификацией с использованием пользователя по умолчанию root:

# use default `root` user to connect to Milvus

from pymilvus import MilvusClient

client = MilvusClient(
    uri='http://localhost:19530', # replace with your own Milvus server address
    token="root:Milvus"
) 
Если при подключении к Milvus с включенной аутентификацией вы не предоставите действительный токен, вы получите ошибку gRPC.

Создайте нового пользователя

После подключения в качестве пользователя по умолчанию root вы можете создать и аутентифицировать нового пользователя следующим образом:

# create a user
client.create_user(
    user_name="user_1",
    password="P@ssw0rd",
)

# verify the user has been created

client.describe_user("user_1")

# output
# {'user_name': 'user_1', 'roles': ()}

Для получения дополнительной информации о создании пользователей см. create_user().

Подключение к Milvus с новым пользователем

Подключитесь, используя учетные данные только что созданного пользователя:

# connect to milvus with the newly created user

client = MilvusClient(
    uri="http://localhost:19530",
    token="user_1:P@ssw0rd"
)

Обновить пароль пользователя

Измените пароль существующего пользователя с помощью следующего кода:

# update password

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

Дополнительные сведения об обновлении паролей пользователей см. в функции update_password().

Если вы забыли старый пароль, Milvus предоставляет элемент конфигурации, который позволяет назначить определенных пользователей суперпользователями. Это избавит вас от необходимости вводить старый пароль при восстановлении пароля.

По умолчанию поле common.security.superUsers в конфигурационном файле Milvus пустое, что означает, что все пользователи должны указывать старый пароль при сбросе пароля. Однако вы можете назначить определенных пользователей суперпользователями, которым не нужно указывать старый пароль. В приведенном ниже фрагменте root и foo обозначены как суперпользователи.

Вы должны добавить приведенный ниже элемент конфигурации в файл конфигурации Milvus, который управляет работой вашего экземпляра Milvus.

common:
    security:
        superUsers: root, foo

Удаление пользователя

Чтобы удалить пользователя, воспользуйтесь методом drop_user().

client.drop_user(user_name="user_1")
Чтобы сбросить пользователя, вы не должны быть пользователем, которого сбрасывают. В противном случае будет выдана ошибка.

Список всех пользователей

Вывести список всех пользователей.

# list all users

client.list_users()

Ограничения

  1. Имя пользователя не должно быть пустым и не должно превышать 32 символов. Оно должно начинаться с буквы и содержать только символы подчеркивания, буквы или цифры.
  2. Пароль должен состоять не менее чем из 6 символов и не должен превышать 256 символов.

Что дальше