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

Benutzer, Privilegien und Rollen

Dieses Thema bietet einen Überblick über die rollenbasierte Zugriffskontrolle (Role-Based Access Control, RBAC) in Milvus und beschreibt die Definitionen und Beziehungen zwischen Benutzern, Rollen, Objekten und Berechtigungen.

Die folgende Abbildung veranschaulicht die Beziehung zwischen Objekten, Privilegien, Rollen und Benutzern.

users_and_roles Benutzer_und_Rollen

Schlüsselkonzepte

Um die Zugriffskontrolle auf Milvus-Ressourcen zu verwalten, ist es wichtig, die Schlüsselkomponenten von RBAC zu verstehen: Objekttypen, Objektnamen, Benutzer, Rollen und Privilegien.

  • Objekttyp: die Kategorie des Objekts, für das ein Privileg zugewiesen wird. Der Objekttyp kann sein:

    • Global: Systemweite Objekte, die es dem Benutzer erlauben, Aktionen durchzuführen, die alle Sammlungen, Benutzer oder systemweiten Einstellungen betreffen.
    • Collection: Sammlungsspezifische Objekte, die es dem Benutzer ermöglichen, Aktionen wie das Erstellen von Indizes, das Laden von Daten, das Einfügen oder Löschen von Daten und das Abfragen von Daten innerhalb einer bestimmten Sammlung durchzuführen.
    • User: Objekte, die sich auf die Benutzerverwaltung beziehen und es dem Benutzer ermöglichen, Anmeldeinformationen und Rollen für Datenbankbenutzer zu verwalten, wie z. B. die Aktualisierung von Benutzeranmeldeinformationen oder die Anzeige von Benutzerdetails.
  • Objektname: der spezifische Name des Objekts, für das der Zugriff kontrolliert werden soll. Zum Beispiel:

    • Wenn der Objekttyp Global ist, muss der Objektname auf den Platzhalter (*) gesetzt werden, der alle Objekte des angegebenen Typs angibt.
    • Wenn der Objekttyp Collection ist, ist der Objektname der Name einer Sammlung.
    • Wenn der Objekttyp User ist, ist der Objektname der Name eines Datenbankbenutzers.
  • Benutzer: eine Person oder eine Anwendung, die mit Milvus interagiert, bestehend aus einem Benutzernamen und einem entsprechenden Passwort.

  • Privileg: definiert die Aktionen, die durchgeführt werden können und die Ressourcen, auf die zugegriffen werden kann. Privilegien werden nicht direkt an Benutzer vergeben, sondern sind Rollen zugewiesen.

  • Rolle: Definiert die Berechtigungen, die ein Benutzer für bestimmte Objekte hat. Sobald eine Rolle an einen Benutzer gebunden ist, erbt der Benutzer alle Rechte, die dieser Rolle gewährt werden.

Beispiel: Erteilen von Privilegien

Der folgende Codeschnipsel zeigt, wie man einer Rolle das Privileg CreateIndex für eine bestimmte Sammlung gewährt:

milvusClient.grant_privilege(
    role_name="CUSTOM_ROLE_NAME",
    object_type="Collection",  # Valid value: Global, Collection or User.
    privilege="CreateIndex",   # See the table below for valid privilege names and relevant API descriptions.
    object_name="YOUR_COLLECTION_NAME"  # The name of the collection to grant access to. Use "*" to grant access to all collections.
)
GrantPrivilegeReq grantPrivilegeReq = GrantPrivilegeReq.builder()
        .roleName("roleName")
        .objectName("CollectionName") // The name of the collection to grant access to. Use "*" to grant access to all collections.
        .objectType("Collection") // Valid value: Global, Collection or User.
        .privilege("CreateIndex") // See the table below for valid privilege names and relevant API descriptions.
        .build();
client.grantPrivilege(grantPrivilegeReq);
milvusClient.grantPrivilege({
   roleName: 'roleName',
   object: 'Collection',  // Valid value: Global, Collection or User.
   objectName: 'CollectionName', // The name of the collection to grant access to. Use "*" to grant access to all collections.
   privilegeName: 'CreateIndex' // See the table below for valid privilege names and relevant API descriptions.
 })

Weitere Informationen über privilegierungsbezogene APIs finden Sie unter grant_privilege und revoke_privilege.

Weitere Informationen zu privilegierungsbezogenen APIs finden Sie unter grantPrivilege und revokePrivilege.

Weitere Informationen zu privilegierungsbezogenen APIs finden Sie unter grantPrivilege und revokePrivilege.

Standardbenutzer und -rollen

Milvus erstellt standardmäßig einen Benutzer root mit einem Standardpasswort Milvus. Dem Benutzer root werden die Privilegien admin gewährt, was bedeutet, dass dieser Benutzer root Zugriff auf alle Ressourcen hat und alle Aktionen ausführen kann.

Wenn ein Benutzer mit der Rolle public verknüpft ist, verfügt er über die folgenden Berechtigungen:

  • DescribeCollection
  • ShowCollections
  • IndexDetail

Liste der Objekttypen und Privilegien

In der folgenden Tabelle sind die Werte aufgeführt, die Sie bei der Aktivierung von RBAC wählen können.

ObjekttypName des PrivilegsRelevante API-Beschreibung auf der Client-Seite
SammlungCreateIndexCreateIndex
SammlungAblegenIndexAbwurfIndex
SammlungIndexDetailDescribeIndex/GetIndexState/GetIndexBuildProgress
SammlungLadenLoadCollection/GetLoadingProgress/GetLoadState
SammlungGetLoadingProgressGetLoadingProgress (Ladefortschritt)
SammlungGetLoadStateGetLoadState
SammlungFreigebenReleaseCollection
SammlungEinfügenEinfügen
SammlungLöschenLöschen
SammlungUpsertierenUpsert
SammlungSuchenSuche
SammlungSpülenFlush/GetFlushState
SammlungGetFlushStateGetFlushState
SammlungAbfrageAbfrage
SammlungHoleStatistikGetCollectionStatistics
SammlungVerdichtungVerdichten
SammlungImportierenBulkInsert/Import
SammlungLoadBalanceLoadBalance
SammlungCreatePartitionCreatePartition
SammlungDropPartitionDropPartition
SammlungShowPartitionsShowPartitions
SammlungHasPartitionHasPartition
GlobalAlleAlle API-Operationsberechtigungen in dieser Tabelle
GlobalCreateCollectionCreateCollection
GlobalDropCollectionDropCollection
GlobalDescribeCollectionDescribeCollection
GlobalShowCollectionsShowCollections
GlobalRenameCollectionUmbenennenSammlung
GlobalAlle spülenFlushAll
GlobalCreateOwnershipCreateUser CreateRole
GlobalDropOwnershipDeleteCredential DropRole
GlobalSelectOwnershipSelectRole/SelectGrant
GlobalManageOwnershipOperateUserRole OperatePrivilege
GlobalCreateResourceGroupCreateResourceGroup
GlobalDropResourceGroupDropResourceGroup
GlobalDescribeResourceGroupDescribeResourceGroup
GlobalListResourceGroupsListResourceGroups
GlobalTransferKnotenÜbertragungsknoten
GlobalÜbertragungsReplikatÜbertragungsReplikat
GlobalCreateDatabaseCreateDatabase
GlobalDropDatabaseDropDatabase
GlobalListDatabasesListDatabases
GlobalCreateAliasCreateAlias
GlobalDropAliasDropAlias
GlobalBeschreibungsAliasBeschreibungsAlias
GlobalListAliasListAliases
BenutzerUpdateUserUpdateCredential
BenutzerSelectUserSelectUser
  • Bei Objekt- und Berechtigungsnamen wird zwischen Groß- und Kleinschreibung unterschieden.
  • Um alle Berechtigungen für eine Art von Objekt, wie Sammlung, Global, Benutzer, zu gewähren, verwenden Sie "*" als Berechtigungsnamen.
  • Der Berechtigungsname "*" für das Objekt "Global" enthält nicht das Recht "Alle", da das Recht "Alle" alle Berechtigungen umfasst, einschließlich aller Sammlungs- und Benutzerobjekte.
  • Was kommt als Nächstes

    Übersetzt vonDeepLogo

    Try Managed Milvus for Free

    Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

    Get Started
    Feedback

    War diese Seite hilfreich?