🚀 Try Zilliz Cloud, the fully managed Milvus, for free—experience 10x faster performance! Try Now>>

milvus-logo
LFAI
Home

Rechte oder Rechtegruppen für Rollen erteilen

Sobald eine Rolle erstellt ist, können Sie dieser Rolle Rechte gewähren. In diesem Handbuch wird erläutert, wie Sie einer Rolle Rechte oder Rechtegruppen gewähren.

Gewähren Sie einer Rolle ein Recht oder eine Gruppe von Rechten

Milvus 2.5 führt eine neue Version der API ein, die die Erteilungsoperation rationalisiert. Sie müssen nicht mehr den Objekttyp nachschlagen, wenn Sie einer Rolle ein Recht gewähren. Im Folgenden sind die Parameter und die entsprechenden Erklärungen aufgeführt.

  • role_name: Der Name der Zielrolle, für die ein oder mehrere Privileg(e) oder eine oder mehrere Privileggruppen gewährt werden sollen.

  • Ressource: Die Zielressource eines Zugriffsrechts, die eine bestimmte Instanz, Datenbank oder Sammlung sein kann. In der folgenden Tabelle wird erläutert, wie die Ressource in der Methode client.grantV2() anzugeben ist.

Ebene

Ressource

Gewährung Methode

Hinweise

Sammlung

Eine spezifische Sammlung

client.grant_privilege_v2(role_name="roleA", privilege="CollectionAdmin", collection_name="col1", db_name="db1")

Geben Sie den Namen Ihrer Zielsammlung und den Namen der Datenbank ein, zu der die Zielsammlung gehört.

Alle Sammlungen unter einer bestimmten Datenbank

client.grant_privilege_v2(role_name="roleA", privilege="CollectionAdmin", collection_name="*", db_name="db1")

Geben Sie den Namen Ihrer Zieldatenbank und einen Platzhalter `*` als Sammlungsnamen ein.

**Datenbank**

Eine bestimmte Datenbank

client.grant_privilege_v2(role_name="roleA", privilege="DatabaseAdmin", collection_name="*", db_name="db1")

Geben Sie den Namen Ihrer Zieldatenbank und einen Platzhalter `*` als Sammlungsnamen ein.

Alle Datenbanken unter der aktuellen Instanz

client.grant_privilege_v2(role_name="roleA", privilege="DatabaseAdmin", collection_name="*", db_name="*")

Geben Sie `*` als Datenbanknamen und `*` als Sammlungsnamen ein.

**Instanz**

Die aktuelle Instanz

client.grant_privilege_v2(role_name="roleA", privilege="ClusterAdmin", collection_name="*", db_name="*")

Geben Sie `*` als Namen der Datenbank und `*` als Namen der Sammlung ein.

  • Privileg: Die spezifische Berechtigung oder Berechtigungsgruppe, die Sie einer Rolle gewähren müssen. Derzeit bietet Milvus 56 Arten von Privilegien, die Sie gewähren können. In der folgenden Tabelle sind die Privilegien in Milvus aufgeführt.

    Die Spalte "Typ" in der Tabelle dient dazu, Ihnen die schnelle Suche nach Privilegien zu erleichtern und wird nur zu Klassifizierungszwecken verwendet. Bei der Erteilung von Privilegien müssen Sie die Typen nicht verstehen. Sie müssen nur die entsprechenden Berechtigungen eingeben.

**Typ **

**Privileg**

**Beschreibung**

**Relevante API-Beschreibung auf der Client-Seite**

Datenbank-Privilegien

ListDatabases

Alle Datenbanken in der aktuellen Instanz anzeigen

[ListDatabases](https://milvus.io/docs/manage_databases.md)

DescribeDatabase

Zeigt die Details einer Datenbank an

[DescribeDatabase](https://milvus.io/docs/manage_databases.md)

CreateDatabase

Erstellen einer Datenbank

[CreateDatabase](https://milvus.io/docs/manage_databases.md)

DropDatabase

Eine Datenbank löschen

[DropDatabase](https://milvus.io/docs/manage_databases.md)

AlterDatabase

Ändern der Eigenschaften einer Datenbank

[AlterDatabase](https://milvus.io/docs/manage_databases.md)

Sammlungsprivilegien

GetFlushState

Überprüfen des Status des Flush-Vorgangs der Sammlung

[GetFlushState](https://milvus.io/api-reference/pymilvus/v2.5.x/ORM/Collection/flush.md)

GetLoadState

Überprüfung des Ladestatus einer Sammlung

[GetLoadState](https://milvus.io/api-reference/restful/v2.5.x/v2/Collection%20(v2)/Get%20Load%20State.md)

GetLoadingProgress

Überprüfung des Ladefortschritts einer Sammlung

[GetLoadingProgress](https://milvus.io/api-reference/pymilvus/v2.5.x/ORM/utility/loading_progress.md)

ShowCollections

Alle Sammlungen mit Sammlungsprivilegien anzeigen

[ShowCollections](https://milvus.io/docs/view-collections.md)

ListAliases

Alle Aliasnamen einer Sammlung anzeigen

[ListAliases](https://milvus.io/api-reference/pymilvus/v2.5.x/MilvusClient/Collections/list_aliases.md)

DescribeCollection

Anzeigen der Details einer Sammlung

[DescribeCollection](https://milvus.io/api-reference/pymilvus/v2.5.x/MilvusClient/Collections/describe_collection.md)

DescribeAlias

Anzeige der Details eines Alias

[DescribeAlias](https://milvus.io/api-reference/pymilvus/v2.5.x/MilvusClient/Collections/describe_alias.md)

GetStatistics

Abrufen der Statistiken einer Sammlung (z. B. die Anzahl der Entitäten in einer Sammlung)

[GetCollectionStatistics](https://milvus.io/api-reference/pymilvus/v2.5.x/MilvusClient/Collections/get_collection_stats.md)

CreateCollection

Erstellen einer Sammlung

[CreateCollection](https://milvus.io/docs/create-collection.md)

DropCollection

Verwerfen einer Sammlung

[DropCollection](https://milvus.io/docs/drop-collection.md)

Laden

Laden einer Sammlung

[LoadCollection](https://milvus.io/docs/load-and-release.md)/[GetLoadingProgress](https://milvus.io/api-reference/pymilvus/v2.5.x/ORM/utility/loading_progress.md)/[GetLoadState](https://milvus.io/api-reference/restful/v2.5.x/v2/Collection%20(v2)/Get%20Load%20State.md)

Freigeben

Eine Sammlung freigeben

[ReleaseCollection](https://milvus.io/docs/load-and-release.md)

Flush

Persistiert alle Entitäten in einer Sammlung in einem versiegelten Segment. Jede Entität, die nach der Flush-Operation eingefügt wird, wird in einem neuen Segment gespeichert.

[Flush](https://milvus.io/api-reference/pymilvus/v2.5.x/ORM/Collection/flush.md)/[GetFlushState](https://milvus.io/api-reference/pymilvus/v2.5.x/ORM/Collection/flush.md)

Verdichtung

Manuelles Auslösen der Verdichtung

[Compact](https://milvus.io/docs/v2.0.x/compact_data.md)

RenameCollection

Umbenennen einer Sammlung

[RenameCollection](https://milvus.io/docs/modify-collection.md)

CreateAlias

Erzeugen eines Alias für eine Sammlung

[CreateAlias](https://milvus.io/docs/manage-aliases.md)

DropAlias

Den Alias einer Sammlung löschen

[DropAlias](https://milvus.io/docs/manage-aliases.md)

FlushAll

Alle Sammlungen in einer Datenbank leeren

[FlushAll](https://milvus.io/api-reference/pymilvus/v2.5.x/ORM/utility/flush_all.md)

Partitionieren von Privilegien

HasPartition

Prüfen, ob eine Partition existiert

[HasPartition](https://milvus.io/docs/manage-partitions.md)

ShowPartitions

Alle Partitionen in einer Sammlung anzeigen

[ShowPartitions](https://milvus.io/docs/manage-partitions.md)

CreatePartition

Eine Partition erstellen

[CreatePartition](https://milvus.io/docs/manage-partitions.md)

DropPartition

Verwerfen einer Partition

[DropPartition](https://milvus.io/docs/manage-partitions.md)

Index Privilegien

IndexDetail

Anzeige der Details eines Indexes

[DescribeIndex/GetIndexState/GetIndexBuildProgress](https://milvus.io/docs/index-vector-fields.md?tab=floating)

CreateIndex

Erstellen eines Indexes

[CreateIndex](https://milvus.io/docs/index-vector-fields.md?tab=floating)

DropIndex

Verwerfen eines Index

[DropIndex](https://milvus.io/docs/index-vector-fields.md?tab=floating)

Privilegien für die Ressourcenverwaltung

LoadBalance

Lastausgleich erreichen

[LoadBalance](https://milvus.io/docs/resource_group.md)

CreateResourceGroup

Erstellen einer Ressourcengruppe

[CreateResourceGroup](https://milvus.io/api-reference/pymilvus/v2.5.x/ORM/utility/create_resource_group.md)

DropResourceGroup

Verwerfen einer Ressourcengruppe

[DropResourceGroup](https://milvus.io/docs/resource_group.md)

UpdateResourceGroups

Aktualisieren einer Ressourcengruppe

[UpdateResourceGroups](https://milvus.io/docs/resource_group.md)

DescribeResourceGroup

Anzeigen der Details einer Ressourcengruppe

[DescribeResourceGroup](https://milvus.io/docs/resource_group.md)

ListResourceGroups

Zeigt alle Ressourcengruppen der aktuellen Instanz an

[ListResourceGroups](https://milvus.io/docs/resource_group.md)

TransferKnoten

Übertragen von Knoten zwischen Ressourcengruppen

[TransferNode](https://milvus.io/docs/resource_group.md)

Replikate übertragen

Replikate zwischen Ressourcengruppen übertragen

[TransferReplica](https://milvus.io/docs/resource_group.md)

BackupRBAC

Erstellt ein Backup für alle RBAC-bezogenen Operationen in der aktuellen Instanz

BackupRBAC

WiederherstellenRBAC

Wiederherstellen eines Backups aller RBAC-bezogenen Operationen in der aktuellen Instanz

WiederherstellenRBAC

Entität Privilegien

Abfrage

Durchführen einer Abfrage

[Abfrage](https://milvus.io/docs/get-and-scalar-query.md)

Suche

Durchführen einer Suche

[Suchen](https://milvus.io/docs/single-vector-search.md)

Einfügen

Entitäten einfügen

[Einfügen](https://milvus.io/docs/insert-update-delete.md)

Löschen

Entitäten löschen

[Löschen](https://milvus.io/docs/delete-entities.md)

Upsertieren

Upsert Entitäten

[Einfügen](https://milvus.io/docs/upsert-entities.md)

Importieren

Masseneinfügung oder -import von Entitäten

[Masseneinfügung/Import](https://milvus.io/docs/import-data.md)

RBAC-Berechtigungen

CreateOwnership

Erstellen eines Benutzers oder einer Rolle

[CreateUser/CreateRole](https://zilliverse.feishu.cn/wiki/CnzkwQBW3i7bE3kVtLzcqQLtn9d)

UpdateUser

Aktualisieren des Passworts eines Benutzers

[UpdateCredential](https://zilliverse.feishu.cn/wiki/CnzkwQBW3i7bE3kVtLzcqQLtn9d)

DropOwnership

Löschen eines Benutzerpassworts oder einer Rolle

[DeleteCredential/DropRole](https://zilliverse.feishu.cn/wiki/OqZnwJHrJilLPukfvp5cSgnmnTh)

SelectOwnership

Alle Benutzer anzeigen, denen eine bestimmte Rolle gewährt wird

[SelectRole/SelectGrant](https://zilliverse.feishu.cn/wiki/ZsNZwn1MkiOtH9kFU35cyRgVnue)

ManageOwnership

Verwalten eines Benutzers oder einer Rolle oder Erteilen einer Rolle an einen Benutzer

[OperateUserRole/OperatePrivilege/OperatePrivilegeV2](https://zilliverse.feishu.cn/wiki/ZsNZwn1MkiOtH9kFU35cyRgVnue)

SelectUser

Alle einem Benutzer gewährten Rollen anzeigen

[SelectUser](https://zilliverse.feishu.cn/wiki/ZsNZwn1MkiOtH9kFU35cyRgVnue)

CreatePrivilegeGroup

Erstellen einer Privilegiengruppe

[CreatePrivilegeGroup](https://zilliverse.feishu.cn/wiki/FpV8wdWcZiDwnQkBloucYF7wnUg)

DropPrivilegeGroup

Löschen einer Berechtigungsgruppe

[DropPrivilegeGroup](https://zilliverse.feishu.cn/wiki/FpV8wdWcZiDwnQkBloucYF7wnUg)

ListPrivilegeGroups

Alle Berechtigungsgruppen in der aktuellen Instanz anzeigen

[ListPrivilegeGroups](https://zilliverse.feishu.cn/wiki/FpV8wdWcZiDwnQkBloucYF7wnUg)

OperatePrivilegeGroup

Hinzufügen von Privilegien zu oder Entfernen von Privilegien aus einer Privilegiengruppe

[OperatePrivilegeGroup](https://zilliverse.feishu.cn/wiki/FpV8wdWcZiDwnQkBloucYF7wnUg)

Das folgende Beispiel zeigt, wie das Privileg PrivilegeSearch auf collection_01 unter der Standarddatenbank sowie eine Privilegiengruppe namens privilege_group_1 der Rolle role_a gewährt wird.

from pymilvus import MilvusClient

client = MilvusClient(
    uri="http://localhost:19530",
    token="root:Milvus"
)

client.grant_privilege_v2(
    role_name="role_a",
    privilege="Search"
    collection_name='collection_01'
    db_name='default',
)
    
client.grant_privilege_v2(
    role_name="role_a",
    privilege="privilege_group_1"
    collection_name='collection_01'
    db_name='default',
)

client.grant_privilege_v2(
    role_name="role_a",
    privilege="ClusterReadOnly"
    collection_name='*'
    db_name='*',
)
import io.milvus.v2.service.rbac.request.GrantPrivilegeReqV2

client.grantPrivilegeV2(GrantPrivilegeReqV2.builder()
        .roleName("role_a")
        .privilege("Search")
        .collectionName("collection_01")
        .dbName("default")
        .build());

client.grantPrivilegeV2(GrantPrivilegeReqV2.builder()
        .roleName("role_a")
        .privilege("privilege_group_1")
        .collectionName("collection_01")
        .dbName("default")
        .build());

client.grantPrivilegeV2(GrantPrivilegeReqV2.builder()
        .roleName("role_a")
        .privilege("ClusterReadOnly")
        .collectionName("*")
        .dbName("*")
        .build());
import "github.com/milvus-io/milvus-sdk-go/v2/client"

client.GrantV2(context.Background(), "role_a", "collection_01", "Search", entity.WithOperatePrivilegeDatabase("default"))

client.GrantV2(context.Background(), "role_a", "collection_01", "privilege_group_1", entity.WithOperatePrivilegeDatabase("default"))

client.GrantV2(context.Background(), "role_a", "*", "ClusterReadOnly", entity.WithOperatePrivilegeDatabase("*"))
const { MilvusClient, DataType } = require("@zilliz/milvus2-sdk-node")

const address = "http://localhost:19530";
const token = "root:Milvus";
const client = new MilvusClient({address, token});

await milvusClient.grantPrivilege({
   roleName: 'role_a',
   object: 'Collection', 
   objectName: 'collection_01',
   privilegeName: 'Search'
 });
curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/roles/grant_privilege_v2" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{
    "roleName": "role_a",
    "privilege": "Search",
    "collectionName": "collection_01",
    "dbName":"default"
}'

curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/roles/grant_privilege_v2" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{
    "roleName": "role_a",
    "privilege": "privilege_group_1",
    "collectionName": "collection_01",
    "dbName":"default"
}'

curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/roles/grant_privilege_v2" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{
    "roleName": "role_a",
    "privilege": "ClusterReadOnly",
    "collectionName": "*",
    "dbName":"*"
}'

Beschreiben einer Rolle

Das folgende Beispiel zeigt, wie man die der Rolle role_a gewährten Privilegien mit der Methode describe_role anzeigen kann.

from pymilvus import MilvusClient

client.describe_role(role_name="role_a")
import io.milvus.v2.service.rbac.response.DescribeRoleResp;
import io.milvus.v2.service.rbac.request.DescribeRoleReq

DescribeRoleReq describeRoleReq = DescribeRoleReq.builder()
        .roleName("role_a")
        .build();
DescribeRoleResp resp = client.describeRole(describeRoleReq);
List<DescribeRoleResp.GrantInfo> infos = resp.getGrantInfos();
import "github.com/milvus-io/milvus-sdk-go/v2/client"

client.ListRoles(context.Background())
const { MilvusClient, DataType } = require("@zilliz/milvus2-sdk-node")

await milvusClient.describeRole({roleName: 'role_a'});
curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/roles/describe" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{
    "roleName": "role_a"
}'

Unten sehen Sie eine Beispielausgabe.

{
     "role": "role_a",
     "privileges": [
         {
             "collection_name": "collection_01",
             "db_name": "default",
             "role_name": "role_a",
             "privilege": "Search",
             "grantor_name": "root"
         },
         "privilege_group_1"
     ]
}

Entzug eines Privilegs oder einer Privilegiengruppe von einer Rolle

Das folgende Beispiel zeigt, wie das Privileg PrivilegeSearch auf collection_01 unter der Standarddatenbank sowie die Privilegiengruppe privilege_group_1, die der Rolle role_a gewährt wurden, entzogen werden können.

from pymilvus import MilvusClient

client = MilvusClient(
    uri="http://localhost:19530",
    token="root:Milvus"
)

client.revoke_privilege_v2(
    role_name="role_a",
    privilege="Search"
    collection_name='collection_01'
    db_name='default',
)
    
client.revoke_privilege_v2(
    role_name="role_a",
    privilege="privilege_group_1"
    collection_name='collection_01'
    db_name='default',
)

client.revoke_privilege_v2(
    role_name="role_a",
    privilege="ClusterReadOnly"
    collection_name='*'
    db_name='*',
)
import io.milvus.v2.service.rbac.request.RevokePrivilegeReqV2

client.revokePrivilegeV2(RevokePrivilegeReqV2.builder()
        .roleName("role_a")
        .privilege("Search")
        .collectionName("collection_01")
        .dbName("default")
        .build());

client.revokePrivilegeV2(RevokePrivilegeReqV2.builder()
        .roleName("role_a")
        .privilege("privilege_group_1")
        .collectionName("collection_01")
        .dbName("default")
        .build());

client.revokePrivilegeV2(RevokePrivilegeReqV2.builder()
        .roleName("role_a")
        .privilege("ClusterReadOnly")
        .collectionName("*")
        .dbName("*")
        .build());
import "github.com/milvus-io/milvus-sdk-go/v2/client"

client.RevokeV2(context.Background(), "role_a", "collection_01", "Search", entity.WithOperatePrivilegeDatabase("default"))

client.RevokeV2(context.Background(), "role_a", "collection_01", "privielge_group_1", entity.WithOperatePrivilegeDatabase("default"))

client.RevokeV2(context.Background(), "role_a", "*", "ClusterReadOnly", entity.WithOperatePrivilegeDatabase("*"))
curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/roles/revoke_privilege_v2" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{
    "roleName": "role_a",
    "privilege": "Search",
    "collectionName": "collection_01",
    "dbName":"default"
}'

curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/roles/revoke_privilege_v2" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{
    "roleName": "role_a",
    "privilege": "Search",
    "collectionName": "collection_01",
    "dbName":"default"
}'

curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/roles/revoke_privilege_v2" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{
    "roleName": "role_a",
    "privilege": "ClusterReadOnly",
    "collectionName": "*",
    "dbName":"*"
}'

Übersetzt vonDeepL

Try Managed Milvus for Free

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

Get Started
Feedback

War diese Seite hilfreich?