🚀 Essayez Zilliz Cloud, la version entièrement gérée de Milvus, gratuitement—découvrez des performances 10x plus rapides ! Essayez maintenant>>

milvus-logo
LFAI
Home
  • Guide d'administration
  • Home
  • Docs
  • Guide d'administration

  • Sécurité

  • Utilisateurs, privilèges et rôles

Créer des utilisateurs et des rôles

Milvus permet un contrôle d'accès précis grâce à la méthode RBAC. Vous pouvez commencer par créer des utilisateurs et des rôles, puis attribuer des privilèges ou des groupes de privilèges aux rôles, et enfin gérer le contrôle d'accès en accordant des rôles aux utilisateurs. Cette méthode garantit l'efficacité et la sécurité de la gestion des accès. Cette page présente la création d'utilisateurs et de rôles dans Milvus.

Utilisateur

Après l'initialisation d'une instance Milvus, un utilisateur racine est automatiquement généré pour l'authentification lors de la première connexion à Milvus. Le nom d'utilisateur de l'utilisateur racine est root et le mot de passe est Milvus. Le rôle par défaut de l'utilisateur racine est admin, qui a accès à toutes les ressources. Pour garantir la sécurité des données, veuillez conserver les informations d'identification de l'utilisateur racine afin d'éviter tout accès non autorisé.

Pour les opérations quotidiennes, nous recommandons de créer des utilisateurs au lieu d'utiliser l'utilisateur racine.

Créer un utilisateur

L'exemple suivant montre comment créer un utilisateur avec le nom d'utilisateur user_1 et le mot de passe P@ssw0rd. Le nom d'utilisateur et le mot de passe de l'utilisateur doivent respecter les règles suivantes.

  • Nom d'utilisateur : doit commencer par une lettre et ne peut inclure que des lettres majuscules ou minuscules, des chiffres et des traits de soulignement.

  • Mot de passe : il doit être composé de 8 à 64 caractères et doit inclure trois des éléments suivants : lettres majuscules, lettres minuscules, chiffres et caractères spéciaux.

from pymilvus import MilvusClient

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

client.create_user(user_name="user_1", password="P@ssw0rd")

import io.milvus.v2.client.ConnectConfig;
import io.milvus.v2.client.MilvusClientV2;
import io.milvus.v2.service.rbac.request.CreateUserReq;

ConnectConfig connectConfig = ConnectConfig.builder()
        .uri("http://localhost:19530")
        .token("root:Milvus")
        .build();
        
MilvusClientV2 client = new MilvusClientV2(connectConfig);

CreateUserReq createUserReq = CreateUserReq.builder()
        .userName("user_1")
        .password("P@ssw0rd")
        .build();
        
client.createUser(createUserReq);

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.createUser({
   username: 'user_1',
   password: 'P@ssw0rd',
 });

export CLUSTER_ENDPOINT="http://localhost:19530"
export TOKEN="root:Milvus"

curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/users/create" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{
    "userName": "user_1",
    "password": "P@ssw0rd"
}'

Mise à jour du mot de passe

Après avoir créé un utilisateur, vous pouvez mettre à jour le mot de passe en cas d'oubli.

Le nouveau mot de passe doit également respecter la règle suivante.

  • Il doit être composé de 8 à 64 caractères et inclure trois des éléments suivants : lettres majuscules, lettres minuscules, chiffres et caractères spéciaux.

L'exemple suivant montre comment mettre à jour le mot de passe de l'utilisateur user_1 en NewP@ssw0rd.

from pymilvus import MilvusClient

client.update_password(
    user_name="user_1",
    old_password="P@ssw0rd",
    new_password="NewP@ssw0rd"
)

import io.milvus.v2.service.rbac.request.UpdatePasswordReq;

UpdatePasswordReq updatePasswordReq = UpdatePasswordReq.builder()
        .userName("user_1")
        .password("P@ssw0rd")
        .newPassword("NewP@ssw0rd")
        .build();
client.updatePassword(updatePasswordReq);

const { MilvusClient, DataType } = require("@zilliz/milvus2-sdk-node")

await milvusClient.updateUser({
   username: 'user_1',
   newPassword: 'P@ssw0rd',
   oldPassword: 'NewP@ssw0rd',
});

curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/users/update_password" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{
    "newPassword": "P@ssw0rd!",
    "userName": "user_1",
    "password": "P@ssw0rd"
}'

Lister les utilisateurs

Après avoir créé plusieurs utilisateurs, vous pouvez dresser la liste de tous les utilisateurs existants et les afficher.

from pymilvus import MilvusClient

client.list_users()

List<String> resp = client.listUsers();

const { MilvusClient, DataType } = require("@zilliz/milvus2-sdk-node")

await milvusClient.listUsers();

curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/users/list" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{}'

Voici un exemple de résultat. root est l'utilisateur par défaut généré automatiquement dans Milvus. user_1 est le nouvel utilisateur qui vient d'être créé.

['root', 'user_1']

Rôle

Milvus fournit un rôle intégré appelé admin, qui est un rôle d'administrateur pouvant accéder aux ressources sous toutes les instances et disposant de privilèges pour toutes les opérations. Pour une gestion plus fine des accès et une meilleure sécurité des données, il est recommandé de créer des rôles personnalisés en fonction de vos besoins.

Créer un rôle

L'exemple suivant montre comment créer un rôle nommé role_a.

Le nom du rôle doit respecter la règle suivante.

  • Il doit commencer par une lettre et ne peut comprendre que des lettres majuscules ou minuscules, des chiffres et des traits de soulignement."
from pymilvus import MilvusClient

client.create_role(role_name="role_a")
import io.milvus.v2.service.rbac.request.CreateRoleReq;

CreateRoleReq createRoleReq = CreateRoleReq.builder()
        .roleName("role_a")
        .build();
       

client.createRole(createRoleReq);
const { MilvusClient, DataType } = require("@zilliz/milvus2-sdk-node")

await milvusClient.createRole({
   roleName: 'role_a',
});

curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/roles/create" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{
    "roleName": "role_a"
}'

Lister les rôles

Après avoir créé plusieurs rôles, vous pouvez lister et visualiser tous les rôles existants.

from pymilvus import MilvusClient

client.list_roles()

List<String> roles = client.listRoles();

const { MilvusClient, DataType } = require("@zilliz/milvus2-sdk-node")

await milvusClient.listRoles(
    includeUserInfo: True
);

curl --request POST \
--url "${CLUSTER_ENDPOINT}/v2/vectordb/roles/list" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{}'

Voici un exemple de sortie. admin est le rôle par défaut dans Milvus. role_a est le nouveau rôle qui vient d'être créé.

['admin', 'role_a']

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 ?