milvus-logo
LFAI
Home
  • Guide d'administration

Utilisateurs, privilèges et rôles

Cette rubrique présente une vue d'ensemble du contrôle d'accès basé sur les rôles (RBAC) dans Milvus, en détaillant les définitions et les relations entre les utilisateurs, les rôles, les objets et les privilèges.

La figure suivante illustre la relation entre les objets, les privilèges, les rôles et les utilisateurs.

users_and_roles utilisateurs_et_rôles

Concepts clés

Pour gérer le contrôle d'accès aux ressources Milvus, il est important de comprendre les composants clés de la RBAC : types d'objets, noms d'objets, utilisateurs, rôles et privilèges.

  • Type d'objet: catégorie de l'objet pour lequel un privilège est attribué. Le type d'objet peut être :

    • Global: des objets à l'échelle du système, permettant à l'utilisateur d'effectuer des actions qui affectent toutes les collections, tous les utilisateurs ou tous les paramètres à l'échelle du système.
    • Collection: des objets spécifiques à une collection, permettant à l'utilisateur d'effectuer des actions telles que la création d'index, le chargement de données, l'insertion ou la suppression de données et l'interrogation de données au sein d'une collection spécifique.
    • User: Objets liés à la gestion des utilisateurs, permettant à l'utilisateur de gérer les informations d'identification et les rôles des utilisateurs de la base de données, comme la mise à jour des informations d'identification des utilisateurs ou l'affichage des détails de l'utilisateur.
  • Nom de l'objet: nom spécifique de l'objet dont l'accès doit être contrôlé. Par exemple :

    • Si le type d'objet est Global, le nom de l'objet doit être défini sur le caractère générique (*), indiquant tous les objets du type spécifié.
    • Si le type d'objet est Collection, le nom de l'objet est le nom d'une collection.
    • Si le type d'objet est User, le nom de l'objet est le nom d'un utilisateur de la base de données.
  • Utilisateur: une personne ou une application qui interagit avec Milvus, qui consiste en un nom d'utilisateur et un mot de passe correspondant.

  • Privilège: définit les actions qui peuvent être effectuées et les ressources auxquelles il est possible d'accéder. Les privilèges ne sont pas accordés directement aux utilisateurs mais sont attribués à des rôles.

  • Rôle: définit l'ensemble des privilèges dont dispose un utilisateur pour certains objets. Une fois qu'un rôle est associé à un utilisateur, ce dernier hérite de tous les privilèges accordés à ce rôle.

Exemple : Octroi de privilèges

L'extrait de code suivant montre comment accorder un privilège CreateIndex à un rôle sur une collection spécifique :

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

Pour obtenir plus d'informations sur les API liées aux privilèges, reportez-vous à grant_privilege et revoke_privilege.

Pour obtenir plus d'informations sur les API liées aux privilèges, reportez-vous à grantPrivilege et revokePrivilege.

Pour obtenir plus d'informations sur les API liées aux privilèges, reportez-vous à grantPrivilege et revokePrivilege.

Utilisateurs et rôles par défaut

Milvus crée par défaut un utilisateur root avec un mot de passe par défaut Milvus. L'utilisateur root se voit accorder les privilèges admin, ce qui signifie que cet utilisateur root peut avoir accès à toutes les ressources et effectuer toutes les actions.

Si un utilisateur est associé au rôle public, il bénéficie des privilèges suivants :

  • DescribeCollection
  • ShowCollections
  • IndexDetail

Liste des types d'objets et des privilèges

Le tableau suivant répertorie les valeurs que vous pouvez choisir lors de l'activation de RBAC.

Type d'objetNom du privilègeDescription de l'API pertinente côté client
CollectionCreateIndexCréer un index
CollectionIndex de dépôtDropIndex
CollectionDétails de l'indexDescribeIndex/GetIndexState/GetIndexBuildProgress
CollectionChargementLoadCollection/GetLoadingProgress/GetLoadState
CollectionGetLoadingProgressGetLoadingProgress
CollectionGetLoadStateObtenir l'état de chargement
CollectionReleaseCollection Release
CollectionInsérerInsérer
CollectionSupprimerSupprimer
CollectionInsérerSupprimer
CollectionRechercheRecherche
CollecteChasse d'eauChasse d'eau/GetFlushState
CollectionGetFlushStateGetFlushState
CollectionRequêteRequête
CollectionObtenir des statistiquesObtenir des statistiques sur la collection
CollectionCompactageCompacter
CollectionImportationBulkInsert/Import
CollectionBilan de chargeBilan de charge
CollectionCréer une partitionCréer une partition
CollectionDropPartitionDropPartition
CollectionShowPartitionsShowPartitions
CollectionHasPartitionHasPartition
GlobalToutesToutes les autorisations d'opérations API dans cette table
GlobaleCréer une collectionCréer une collection
GlobaleDropCollectionDropCollection
GlobalDécrire la collectionDescribeCollection
GlobalAfficher les collectionsAfficher les collections
GlobalRenommer la collectionRenameCollection
GlobalTous les fluxFlushAll
GlobalCréer un propriétaireCreateUser CreateRole
GlobalAbandonner le propriétaireDeleteCredential DropRole
GlobalSélectionner un propriétaireSelectRole/SelectGrant
GlobalManageOwnershipExploiter le rôle de l'utilisateur Exploiter le privilège
GlobalCréer un groupe de ressourcesCréer un groupe de ressources
GlobalDropResourceGroupDropResourceGroup
GlobalDescribeResourceGroupDescribeResourceGroup (Décrire le groupe de ressources)
GlobalListResourceGroupsListe des groupes de ressources
GlobalTransferNodeTransferNode
GlobalTransferReplicaRéplique de transfert
GlobalCréer une base de donnéesCréer une base de données
GlobalDropDatabaseDropDatabase
GlobaleListDatabasesBases de données de listes
GlobaleCréer un aliasCréer un alias
GlobalAbandonner l'aliasAbandon de l'alias
GlobalDescribeAliasDescribeAlias
GlobalListAliasesListe des noms de domaine
UtilisateurUpdateUserMise à jour de l'accréditation
UserSelectUserSelectUser
  • Les noms des objets et des privilèges sont sensibles à la casse.
  • Pour accorder tous les privilèges à un type d'objet, comme Collection, Global, User, utilisez "*" comme nom de privilège.
  • Le nom de privilège "*" pour l'objet Global n'inclut pas le privilège Tous, car le privilège Tous inclut toutes les autorisations, y compris celles des objets Collection et Utilisateur.
  • Prochaines étapes

    Traduit parDeepL

    Try Managed Milvus for Free

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

    Get Started
    Feedback

    Cette page a-t - elle été utile ?