milvus-logo
LFAI
Casa
  • Guida all'amministrazione

Utenti, privilegi e ruoli

Questo argomento fornisce una panoramica del controllo degli accessi basato sui ruoli (RBAC) in Milvus, illustrando le definizioni e le relazioni tra utenti, ruoli, oggetti e privilegi.

La figura seguente illustra la relazione tra oggetti, privilegi, ruoli e utenti.

users_and_roles utenti_e_ruoli

Concetti chiave

Per gestire il controllo degli accessi alle risorse Milvus, è importante comprendere i componenti chiave del RBAC: tipi di oggetti, nomi di oggetti, utenti, ruoli e privilegi.

  • Tipo di oggetto: la categoria dell'oggetto per il quale viene assegnato un privilegio. Il tipo di oggetto può essere:

    • Global: Oggetti a livello di sistema, che consentono all'utente di eseguire azioni che influiscono su tutte le raccolte, gli utenti o le impostazioni a livello di sistema.
    • Collection: Oggetti specifici della collezione, che consentono all'utente di eseguire azioni quali la creazione di indici, il caricamento di dati, l'inserimento o l'eliminazione di dati e l'interrogazione di dati all'interno di una collezione specifica.
    • User: Oggetti relativi alla gestione degli utenti, che consentono all'utente di gestire le credenziali e i ruoli degli utenti del database, come l'aggiornamento delle credenziali o la visualizzazione dei dettagli dell'utente.
  • Nome dell'oggetto: il nome specifico dell'oggetto per cui controllare l'accesso. Ad esempio:

    • Se il tipo di oggetto è Global, il nome dell'oggetto deve essere impostato sul carattere jolly (*), che indica tutti gli oggetti del tipo specificato.
    • Se il tipo di oggetto è Collection, il nome dell'oggetto è il nome di un insieme.
    • Se il tipo di oggetto è User, il nome dell'oggetto è il nome di un utente del database.
  • Utente: una persona o un'applicazione che interagisce con Milvus, che consiste in un nome utente e in una password corrispondente.

  • Privilegio: definisce le azioni che possono essere eseguite e le risorse a cui si può accedere. I privilegi non sono concessi direttamente agli utenti, ma sono assegnati ai ruoli.

  • Ruolo: definisce l'insieme dei privilegi che un utente ha per determinati oggetti. Una volta che un ruolo è legato a un utente, l'utente eredita tutti i privilegi concessi a quel ruolo.

Esempio: Concessione di privilegi

Il seguente frammento di codice mostra come concedere un privilegio CreateIndex a un ruolo su una collezione specifica:

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.
 })

Per ottenere ulteriori informazioni sulle API relative ai privilegi, fare riferimento a grant_privilege e revoke_privilege.

Per ottenere maggiori informazioni sulle API legate ai privilegi, fare riferimento a grantPrivilege e revokePrivilege.

Per ottenere maggiori informazioni sulle API relative ai privilegi, fare riferimento a grantPrivilege e revokePrivilege.

Utenti e ruoli predefiniti

Milvus crea per default un utente root con una password predefinita Milvus. All'utente root vengono concessi i privilegi admin, il che significa che questo utente root può avere accesso a tutte le risorse ed eseguire tutte le azioni.

Se un utente è associato al ruolo public, ha diritto ai seguenti privilegi:

  • DescribeCollection
  • ShowCollections
  • IndexDetail

Elenco dei tipi di oggetto e dei privilegi

La tabella seguente elenca i valori che si possono scegliere quando si abilita RBAC.

Tipo di oggettoNome del privilegioDescrizione dell'API pertinente sul lato client
RaccoltaCreaIndexCreaIndex
RaccoltaIndice di cadutaIndice di caduta
RaccoltaIndiceDettaglioDescribeIndex/GetIndexState/GetIndexBuildProgress
RaccoltaCaricoLoadCollection/GetLoadingProgress/GetLoadState
RaccoltaOttenereCaricamentoProgressoOttenere l'avanzamento del caricamento
RaccoltaStato di caricamentoOttieni stato di carico
RaccoltaRilascioRilascioCollezione
RaccoltaInserireInserire
RaccoltaCancellareCancellare
RaccoltaUpsertInserisci
RaccoltaRicercaRicerca
RaccoltaSciacquareFlush/GetFlushState
RaccoltaGetFlushStateOttenere lo stato di risciacquo
RaccoltaDomandaInterrogazione
RaccoltaOttieniStatisticheOttenereStatistiche della collezione
RaccoltaCompattazioneCompatto
RaccoltaImportazioneInserimento/importazione massiva
RaccoltaBilanciamento del caricoBilanciamento del carico
RaccoltaCreaPartizioneCreaPartizione
RaccoltaPartizione di cadutaPartizione di caduta
RaccoltaMostraPartizioniMostraPartizioni
CollezioneHaPartizioneHaPartizione
GlobaleTuttiTutti i permessi delle operazioni API in questa tabella
GlobaleCreaCollezioneCreaCollezione
GlobaleRaccogliereRaccolta di gocce
GlobaleDescriviCollezioneDescriviCollezione
GlobaleMostra CollezioniMostra Collezioni
GlobaleRinominaCollezioneRinominaCollezione
GlobaleArrossisciTuttiSciacquareTutti
GlobaleCreaProprietàCreaUtente CreaRuolo
GlobaleEliminaProprietàEliminaCredenziale EliminaRuolo
GlobaleSelezionaProprietàSelezionaRuolo/SelezionaGrant
GlobaleGestisciProprietàGestire il ruolo dell'utente Gestire il privilegio
GlobaleCreaGruppoRisorseCreaGruppoRisorse
GlobaleAbbandona il gruppo di risorseGruppo di risorse da sganciare
GlobaleDescrivere il gruppo di risorseDescriviGruppoRisorse
GlobaleElenco dei gruppi di risorseElencoGruppi di risorse
GlobaleNodo di trasferimentoNodo di trasferimento
GlobaleTransferReplicaReplica di trasferimento
GlobaleCreaDatabaseCreaDatabase
GlobaleRilasciare il databaseDropDatabase
GlobaleElencoDatabaseElencoDatabase
GlobaleCreaAliasCreaAlias
GlobaleEliminaLiasLasciaLias
GlobaleDescriviAliasDescriviAlias
GlobaleElencoAliasElencoClienti
UtenteAggiornaUtenteAggiornaCredenziale
UtenteSelezionaUtenteSelezionaUtente
  • I nomi degli oggetti e dei privilegi sono sensibili alle maiuscole.
  • Per concedere tutti i privilegi a un tipo di oggetto, come Collezione, Globale, Utente, usare "*" per il nome del privilegio.
  • Il nome del privilegio "*" per l'oggetto Global non include il privilegio All, perché il privilegio All include tutti i permessi, compresi gli oggetti Collection e User.
  • Cosa fare dopo

    Tradotto daDeepL

    Try Managed Milvus for Free

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

    Get Started
    Feedback

    Questa pagina è stata utile?