milvus-logo
LFAI
Home
  • Leitfaden für die Verwaltung

Benutzerzugriff authentifizieren

In diesem Handbuch wird erklärt, wie die Benutzerauthentifizierung in Milvus verwaltet wird, einschließlich der Aktivierung der Authentifizierung, der Verbindung als Benutzer und der Änderung der Benutzeranmeldedaten.

  • TLS und Benutzerauthentifizierung sind zwei unterschiedliche Sicherheitsansätze. Wenn Sie sowohl die Benutzerauthentifizierung als auch TLS in Ihrem Milvus-System aktiviert haben, müssen Sie einen Benutzernamen, ein Passwort und Pfade für Zertifikatsdateien angeben. Informationen zur Aktivierung von TLS finden Sie unter Verschlüsselung bei der Übermittlung.

  • Die Codeschnipsel auf dieser Seite verwenden den neuen MilvusClient (Python) zur Interaktion mit Milvus. Neue MilvusClient SDKs für andere Sprachen werden in zukünftigen Updates veröffentlicht.

Aktivieren der Benutzerauthentifizierung

Um die Benutzerauthentifizierung für Ihren Milvus-Server zu aktivieren, setzen Sie common.security.authorizationEnabled in der Milvus-Konfigurationsdatei milvus.yaml auf true. Weitere Informationen zu Konfigurationen finden Sie unter Konfigurieren von Milvus mit Docker Compose.

...
common:
...
  security:
    authorizationEnabled: false
...

Um die Benutzerauthentifizierung für Ihren Milvus-Server zu aktivieren, setzen Sie authorizationEnabled in der Milvus-Konfigurationsdatei values.yaml auf true. Weitere Informationen zu Konfigurationen finden Sie unter Konfigurieren von Milvus mit Helm Charts.

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

Um die Authentifizierung zu aktivieren, setzen Sie spec.common.security.authorizationEnabled in der CRD von Milvus auf true. Weitere Informationen zu Milvus CRD finden Sie unter Konfigurieren von Milvus mit Milvus Operator.

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

Verbindung zu Milvus mit Authentifizierung

Nachdem Sie die Authentifizierung aktiviert haben, müssen Sie eine Verbindung zu Milvus mit einem Benutzernamen und einem Passwort herstellen. Standardmäßig wird der Benutzer root mit dem Kennwort Milvus erstellt, wenn Milvus gestartet wird. Hier ein Beispiel für die Verbindung zu Milvus mit aktivierter Authentifizierung unter Verwendung des Standardbenutzers 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"
) 
Wenn Sie bei der Verbindung zu Milvus mit aktivierter Authentifizierung kein gültiges Token angeben, erhalten Sie einen gRPC-Fehler.

Erstellen Sie einen neuen Benutzer

Wenn Sie mit dem Standardbenutzer root verbunden sind, können Sie wie folgt einen neuen Benutzer erstellen und authentifizieren:

# 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': ()}

Weitere Informationen zum Erstellen von Benutzern finden Sie unter create_user().

Verbindung zu Milvus mit einem neuen Benutzer

Verbinden Sie sich mit den Anmeldeinformationen des neu angelegten Benutzers:

# connect to milvus with the newly created user

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

Benutzerpasswort aktualisieren

Ändern Sie das Passwort für einen bestehenden Benutzer mit dem folgenden Code:

# update password

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

Weitere Informationen zum Aktualisieren von Benutzerpasswörtern finden Sie in update_password().

Wenn Sie Ihr altes Passwort vergessen haben, bietet Milvus einen Konfigurationspunkt an, der es Ihnen ermöglicht, bestimmte Benutzer als Superuser zu bestimmen. Dadurch wird das alte Passwort nicht mehr benötigt, wenn Sie das Passwort zurücksetzen.

Standardmäßig ist das Feld common.security.superUsers in der Milvus-Konfigurationsdatei leer, was bedeutet, dass alle Benutzer beim Zurücksetzen ihres Passworts das alte Passwort angeben müssen. Sie können jedoch bestimmte Benutzer als Superuser bezeichnen, die das alte Passwort nicht angeben müssen. Im folgenden Ausschnitt werden root und foo als Superuser bezeichnet.

Sie sollten den folgenden Konfigurationspunkt in der Milvus-Konfigurationsdatei hinzufügen, die den Betrieb Ihrer Milvus-Instanz regelt.

common:
    security:
        superUsers: root, foo

Einen Benutzer löschen

Um einen Benutzer zu löschen, verwenden Sie die Methode drop_user().

client.drop_user(user_name="user_1")
Um einen Benutzer zu löschen, dürfen Sie nicht der zu löschende Benutzer sein. Andernfalls wird ein Fehler ausgelöst.

Alle Benutzer auflisten

Alle Benutzer auflisten.

# list all users

client.list_users()

Beschränkungen

  1. Der Benutzername darf nicht leer sein und darf nicht länger als 32 Zeichen sein. Er muss mit einem Buchstaben beginnen und darf nur Unterstriche, Buchstaben oder Zahlen enthalten.
  2. Das Passwort muss aus mindestens 6 Zeichen bestehen und darf nicht länger als 256 Zeichen sein.

Was kommt als Nächstes?