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"
)
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")
Alle Benutzer auflisten
Alle Benutzer auflisten.
# list all users
client.list_users()
Beschränkungen
- 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.
- Das Passwort muss aus mindestens 6 Zeichen bestehen und darf nicht länger als 256 Zeichen sein.
Was kommt als Nächstes?
- Sie möchten vielleicht auch lernen, wie man:
- Wenn Sie bereit sind, Ihren Cluster in der Cloud einzusetzen:
- Erfahren Sie, wie Sie Milvus auf Amazon EKS mit Terraform bereitstellen können
- Lernen Sie, wie Sie Milvus Cluster auf GCP mit Kubernetes bereitstellen können
- Erfahren Sie, wie Sie Milvus auf Microsoft Azure mit Kubernetes bereitstellen können